skia2/resources/sksl
John Stiles b3dcbb12ef Detect functions that fail to return a value, without using CFG.
This check now runs at function finalization time, before constant
propagation has occurred; this affected the "DeadIfStatement" test.

Our detection isn't smart enough to realize that a loop will run zero
times, so it treats `for` and `while` loops as always running at least
once. This isn't strictly correct, but it actually mirrors how the CFG
implementation works anyway. The only downside is that we would not flag
code like `for (i=0; i<0; ++i) { return x; }` as an error.

Change-Id: I5e43a6ee3a3993045559f0fb0646d36112543a94
Bug: skia:11377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/379056
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-04 22:47:05 +00:00
..
blend
errors Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
folding Fix alpha channel in SelfAssignment test. 2021-02-11 14:41:15 +00:00
fp Remove fragmentProcessor field access 2021-02-24 21:33:36 +00:00
glsl Remove specific blend mode layout qualifiers 2021-02-23 15:45:55 +00:00
inliner Demonstrate a bug with inlined static switches. 2021-02-22 15:05:58 +00:00
intrinsics Add tests to demonstrate SPIR-V error with intrinsics. 2021-02-16 15:46:01 +00:00
metal Allow repeated params in Metal out-params helper. 2021-02-16 15:45:45 +00:00
runtime Tweak GlobalVariables.rte test, and adjust .stage output 2021-02-17 22:13:19 +00:00
runtime_errors Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
shared Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
spirv Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
workarounds
README.txt

This directory contains source files for testing skslc compilation.
The compiled output files are in the /tests/sksl/ directory.