summaryrefslogtreecommitdiffstats
path: root/src/glsl/glcpp/tests
diff options
context:
space:
mode:
authorCarl Worth <[email protected]>2014-06-25 13:41:47 -0700
committerCarl Worth <[email protected]>2014-07-29 15:11:50 -0700
commit34cd293c8ac6df6284f94fd456eee7ddc847c5df (patch)
treef04865bbda7f5fe42b0d1e61e97c12a3e5ed7094 /src/glsl/glcpp/tests
parentfe1e0ac8524677c40c84f238650e0e198f0e8d36 (diff)
glsl/glcpp: Emit error for duplicate parameter name in function-like macro
This will emit an error for something like: #define FOO(x,x) ... Obviously, it's not a legal thing to do, and it's easy to check. Add a "make check" test for this as well. This fixes the following Khronos GLES3 CTS tests: invalid_function_definitions.unique_param_name_vertex invalid_function_definitions.unique_param_name_fragment Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'src/glsl/glcpp/tests')
-rw-r--r--src/glsl/glcpp/tests/135-duplicate-parameter.c2
-rw-r--r--src/glsl/glcpp/tests/135-duplicate-parameter.c.expected4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/glsl/glcpp/tests/135-duplicate-parameter.c b/src/glsl/glcpp/tests/135-duplicate-parameter.c
new file mode 100644
index 00000000000..fd96bd64c74
--- /dev/null
+++ b/src/glsl/glcpp/tests/135-duplicate-parameter.c
@@ -0,0 +1,2 @@
+#define FOO(a,a) which a?
+#define BAR(x,y,z,x) so very x
diff --git a/src/glsl/glcpp/tests/135-duplicate-parameter.c.expected b/src/glsl/glcpp/tests/135-duplicate-parameter.c.expected
new file mode 100644
index 00000000000..bc1a334ed29
--- /dev/null
+++ b/src/glsl/glcpp/tests/135-duplicate-parameter.c.expected
@@ -0,0 +1,4 @@
+0:1(9): preprocessor error: Duplicate macro parameter "a"
+0:2(9): preprocessor error: Duplicate macro parameter "x"
+
+