Tests: Add test for ways of calling no-argument macro with ().
[platform/upstream/glslang.git] / Test / preprocessor.simple.vert
old mode 100644 (file)
new mode 100755 (executable)
index 3522271..2959720
@@ -27,3 +27,33 @@ int main() {
   += -= *= /= %= <<= >>= &= |= ^=\r
   1.2 2E10 5u -5lf\r
 }\r
+\r
+struct S {\r
+    int member1;\r
+    float member2;\r
+    vec4 member3;\r
+};\r
+\r
+#define xyz xxyz\r
+#define yzy() yyz\r
+\r
+#define LIGHTING_COMMON_BRDF() \\r
+       vec3 a = vec3(0); \\r
+       vec3 b = a.zxyz;  \\r
+       vec3 b = a.xyz;   \\r
+       vec3 b = a.yzy();   \\r
+       vec3 b = a.xyz();   \\r
+       vec3 b = a.yzy;   \\r
+       vec3 b = a.z;\r
+\r
+void foo()\r
+{\r
+    S s;\r
+    s.member2 + s.member1;\r
+    s.member3.zyx;\r
+    s.member2.xyz;\r
+    s.member2.yzy();\r
+    s.member2.xyz();\r
+    s.member2.yzy;\r
+       LIGHTING_COMMON_BRDF()\r
+}\r