glcpp: Add several tests for diagnostics.
authorCarl Worth <cworth@cworth.org>
Wed, 11 Aug 2010 20:48:13 +0000 (13:48 -0700)
committerCarl Worth <cworth@cworth.org>
Wed, 11 Aug 2010 21:38:03 +0000 (14:38 -0700)
Which are proving to be useful since some of these tests are not yet
acting as desired, (in particular, the unterminated if test is not
generating any diagnostic).

20 files changed:
src/glsl/glcpp/tests/070-undefined-macro-in-expression.c [new file with mode: 0644]
src/glsl/glcpp/tests/070-undefined-macro-in-expression.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/077-else-without-if.c [new file with mode: 0644]
src/glsl/glcpp/tests/077-else-without-if.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/078-elif-without-if.c [new file with mode: 0644]
src/glsl/glcpp/tests/078-elif-without-if.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/079-endif-without-if.c [new file with mode: 0644]
src/glsl/glcpp/tests/079-endif-without-if.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/080-if-without-expression.c [new file with mode: 0644]
src/glsl/glcpp/tests/080-if-without-expression.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/081-elif-without-expression.c [new file with mode: 0644]
src/glsl/glcpp/tests/081-elif-without-expression.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/082-invalid-paste.c [new file with mode: 0644]
src/glsl/glcpp/tests/082-invalid-paste.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/083-unterminated-if.c [new file with mode: 0644]
src/glsl/glcpp/tests/084-unbalanced-parentheses.c [new file with mode: 0644]
src/glsl/glcpp/tests/085-incorrect-argument-count.c [new file with mode: 0644]
src/glsl/glcpp/tests/085-incorrect-argument-count.c.expected [new file with mode: 0644]
src/glsl/glcpp/tests/086-reserved-macro-names.c [new file with mode: 0644]
src/glsl/glcpp/tests/086-reserved-macro-names.c.expected [new file with mode: 0644]

diff --git a/src/glsl/glcpp/tests/070-undefined-macro-in-expression.c b/src/glsl/glcpp/tests/070-undefined-macro-in-expression.c
new file mode 100644 (file)
index 0000000..b6dc2ba
--- /dev/null
@@ -0,0 +1,2 @@
+#if UNDEFINED_MACRO
+#endif
diff --git a/src/glsl/glcpp/tests/070-undefined-macro-in-expression.c.expected b/src/glsl/glcpp/tests/070-undefined-macro-in-expression.c.expected
new file mode 100644 (file)
index 0000000..2bb38a1
--- /dev/null
@@ -0,0 +1,2 @@
+0:1(21): preprocessor error: syntax error, unexpected IDENTIFIER
+
diff --git a/src/glsl/glcpp/tests/077-else-without-if.c b/src/glsl/glcpp/tests/077-else-without-if.c
new file mode 100644 (file)
index 0000000..81f00bf
--- /dev/null
@@ -0,0 +1 @@
+#else
diff --git a/src/glsl/glcpp/tests/077-else-without-if.c.expected b/src/glsl/glcpp/tests/077-else-without-if.c.expected
new file mode 100644 (file)
index 0000000..d289b36
--- /dev/null
@@ -0,0 +1,4 @@
+0:1(2): preprocessor error: else without #if
+
+
+
diff --git a/src/glsl/glcpp/tests/078-elif-without-if.c b/src/glsl/glcpp/tests/078-elif-without-if.c
new file mode 100644 (file)
index 0000000..60466b3
--- /dev/null
@@ -0,0 +1 @@
+#elif defined FOO
diff --git a/src/glsl/glcpp/tests/078-elif-without-if.c.expected b/src/glsl/glcpp/tests/078-elif-without-if.c.expected
new file mode 100644 (file)
index 0000000..7d41f0a
--- /dev/null
@@ -0,0 +1,4 @@
+0:1(2): preprocessor error: elif without #if
+
+
+
diff --git a/src/glsl/glcpp/tests/079-endif-without-if.c b/src/glsl/glcpp/tests/079-endif-without-if.c
new file mode 100644 (file)
index 0000000..69331c3
--- /dev/null
@@ -0,0 +1 @@
+#endif
diff --git a/src/glsl/glcpp/tests/079-endif-without-if.c.expected b/src/glsl/glcpp/tests/079-endif-without-if.c.expected
new file mode 100644 (file)
index 0000000..08dd335
--- /dev/null
@@ -0,0 +1,4 @@
+0:1(2): preprocessor error: #endif without #if
+
+
+
diff --git a/src/glsl/glcpp/tests/080-if-without-expression.c b/src/glsl/glcpp/tests/080-if-without-expression.c
new file mode 100644 (file)
index 0000000..a27ba36
--- /dev/null
@@ -0,0 +1,4 @@
+/* Error message for unskipped #if with no expression. */
+#if
+#endif
+
diff --git a/src/glsl/glcpp/tests/080-if-without-expression.c.expected b/src/glsl/glcpp/tests/080-if-without-expression.c.expected
new file mode 100644 (file)
index 0000000..1a3e383
--- /dev/null
@@ -0,0 +1,3 @@
+0:2(1): preprocessor error: #if with no expression
+
diff --git a/src/glsl/glcpp/tests/081-elif-without-expression.c b/src/glsl/glcpp/tests/081-elif-without-expression.c
new file mode 100644 (file)
index 0000000..79c7866
--- /dev/null
@@ -0,0 +1,3 @@
+#if 0
+#elif
+#endif
diff --git a/src/glsl/glcpp/tests/081-elif-without-expression.c.expected b/src/glsl/glcpp/tests/081-elif-without-expression.c.expected
new file mode 100644 (file)
index 0000000..37dcdc3
--- /dev/null
@@ -0,0 +1,6 @@
+0:2(1): preprocessor error: #elif with no expression
+
+
+
+
+
diff --git a/src/glsl/glcpp/tests/082-invalid-paste.c b/src/glsl/glcpp/tests/082-invalid-paste.c
new file mode 100644 (file)
index 0000000..40bf644
--- /dev/null
@@ -0,0 +1,2 @@
+#define PASTE(x,y) x ## y
+PASTE(<,>)
diff --git a/src/glsl/glcpp/tests/082-invalid-paste.c.expected b/src/glsl/glcpp/tests/082-invalid-paste.c.expected
new file mode 100644 (file)
index 0000000..2c92440
--- /dev/null
@@ -0,0 +1,5 @@
+0:2(7): preprocessor error: 
+Pasting "<" and ">" does not give a valid preprocessing token.
+
+<
+
diff --git a/src/glsl/glcpp/tests/083-unterminated-if.c b/src/glsl/glcpp/tests/083-unterminated-if.c
new file mode 100644 (file)
index 0000000..9180635
--- /dev/null
@@ -0,0 +1,2 @@
+#if 1
+
diff --git a/src/glsl/glcpp/tests/084-unbalanced-parentheses.c b/src/glsl/glcpp/tests/084-unbalanced-parentheses.c
new file mode 100644 (file)
index 0000000..0789ba5
--- /dev/null
@@ -0,0 +1,2 @@
+#define FUNC(x) (2*(x))
+FUNC(23
diff --git a/src/glsl/glcpp/tests/085-incorrect-argument-count.c b/src/glsl/glcpp/tests/085-incorrect-argument-count.c
new file mode 100644 (file)
index 0000000..91bea60
--- /dev/null
@@ -0,0 +1,5 @@
+#define MULT(x,y) ((x)*(y))
+MULT()
+MULT(1)
+MULT(1,2,3)
+
diff --git a/src/glsl/glcpp/tests/085-incorrect-argument-count.c.expected b/src/glsl/glcpp/tests/085-incorrect-argument-count.c.expected
new file mode 100644 (file)
index 0000000..1df30cb
--- /dev/null
@@ -0,0 +1,12 @@
+0:2(1): preprocessor error: Error: macro MULT invoked with 1 arguments (expected 2)
+
+0:3(1): preprocessor error: Error: macro MULT invoked with 1 arguments (expected 2)
+
+0:4(1): preprocessor error: Error: macro MULT invoked with 3 arguments (expected 2)
+
+
+MULT()
+MULT(1)
+MULT(1,2,3)
+
+
diff --git a/src/glsl/glcpp/tests/086-reserved-macro-names.c b/src/glsl/glcpp/tests/086-reserved-macro-names.c
new file mode 100644 (file)
index 0000000..fd0c29f
--- /dev/null
@@ -0,0 +1,2 @@
+#define __BAD reserved
+#define GL_ALSO_BAD() also reserved
diff --git a/src/glsl/glcpp/tests/086-reserved-macro-names.c.expected b/src/glsl/glcpp/tests/086-reserved-macro-names.c.expected
new file mode 100644 (file)
index 0000000..6a9df68
--- /dev/null
@@ -0,0 +1,7 @@
+0:1(10): preprocessor error: Macro names starting with "__" are reserved.
+
+0:2(9): preprocessor error: Macro names starting with "GL_" are reserved.
+
+
+
+