summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/dce.frag
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/glslang/src/Test/dce.frag')
-rw-r--r--chromium/third_party/glslang/src/Test/dce.frag56
1 files changed, 56 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/dce.frag b/chromium/third_party/glslang/src/Test/dce.frag
new file mode 100644
index 00000000000..df62fc57172
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/dce.frag
@@ -0,0 +1,56 @@
+#version 400
+
+const bool flag = false;
+
+int c = 0;
+
+void bar()
+{
+ if (flag)
+ ++c; // should still show up in AST
+ else
+ ++c;
+
+ flag ? ++c : ++c; // both should still show up in AST
+
+ switch (c) {
+ case 1:
+ ++c;
+ break;
+ ++c; // should still show up in AST
+ case 2:
+ break;
+ ++c; // should still show up in AST
+ default:
+ break;
+ }
+
+ for (int i = 0; i < 0; ++i)
+ ++c; // should still show up in AST
+
+ for (int i = 0; i < 10; ++i) {
+ if (c < 3) {
+ break;
+ ++c; // should still show up in AST
+ } else {
+ continue;
+ ++c; // should still show up in AST
+ }
+ }
+
+ return;
+
+ ++c; // should still show up in AST
+}
+
+int foo() // not called, but should still show up in AST
+{
+ if (c > 4) {
+ return 4;
+ ++c; // should still show up in AST
+ }
+
+ return 5;
+
+ ++c; // should still show up in AST
+}