summaryrefslogtreecommitdiff
path: root/src/glsl/glcpp
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-08-17 23:19:01 -0700
committerCarl Worth <cworth@cworth.org>2010-08-17 23:41:53 -0700
commit105e2137d67b98c24251be3586985fb61aeaf28a (patch)
treea65af90da4160cb566bb52169483feba805ec387 /src/glsl/glcpp
parent97638aa77c509cd37dea499202d31357926a0e2a (diff)
glcpp: Add two new tests for testing redefined macros.
The specification says that redefining a macro is an error, unless the new definitions is identical to the old one, (identical replacement lists but ignoring differing amounts of whitespace).
Diffstat (limited to 'src/glsl/glcpp')
-rw-r--r--src/glsl/glcpp/tests/088-redefine-macro-legitimate.c5
-rw-r--r--src/glsl/glcpp/tests/088-redefine-macro-legitimate.c.expected6
-rw-r--r--src/glsl/glcpp/tests/089-redefine-macro-error.c17
-rw-r--r--src/glsl/glcpp/tests/089-redefine-macro-error.c.expected30
4 files changed, 58 insertions, 0 deletions
diff --git a/src/glsl/glcpp/tests/088-redefine-macro-legitimate.c b/src/glsl/glcpp/tests/088-redefine-macro-legitimate.c
new file mode 100644
index 0000000000..0e0666b8b3
--- /dev/null
+++ b/src/glsl/glcpp/tests/088-redefine-macro-legitimate.c
@@ -0,0 +1,5 @@
+#define abc 123
+#define abc 123
+
+#define foo(x) (x)+23
+#define foo(x) ( x ) + 23
diff --git a/src/glsl/glcpp/tests/088-redefine-macro-legitimate.c.expected b/src/glsl/glcpp/tests/088-redefine-macro-legitimate.c.expected
new file mode 100644
index 0000000000..6fb66a5e2f
--- /dev/null
+++ b/src/glsl/glcpp/tests/088-redefine-macro-legitimate.c.expected
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/glsl/glcpp/tests/089-redefine-macro-error.c b/src/glsl/glcpp/tests/089-redefine-macro-error.c
new file mode 100644
index 0000000000..b3d1391e16
--- /dev/null
+++ b/src/glsl/glcpp/tests/089-redefine-macro-error.c
@@ -0,0 +1,17 @@
+#define x y
+#define x z
+
+#define abc 123
+#define abc() 123
+
+#define foo() bar
+#define foo(x) bar
+
+#define bar() baz
+#define bar baz
+
+#define biff(a,b) a+b
+#define biff(a,b,c) a+b
+
+#define oper(a,b) a+b
+#define oper(a,b) a*b
diff --git a/src/glsl/glcpp/tests/089-redefine-macro-error.c.expected b/src/glsl/glcpp/tests/089-redefine-macro-error.c.expected
new file mode 100644
index 0000000000..6209ead559
--- /dev/null
+++ b/src/glsl/glcpp/tests/089-redefine-macro-error.c.expected
@@ -0,0 +1,30 @@
+0:2(9): preprocessor error: Redefinition of macro x
+
+0:5(9): preprocessor error: Redefinition of macro abc
+
+0:8(9): preprocessor error: Redefinition of macro foo
+
+0:11(9): preprocessor error: Redefinition of macro bar
+
+0:14(9): preprocessor error: Redefinition of macro biff
+
+0:17(9): preprocessor error: Redefinition of macro oper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+