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).
This commit is contained in:
Carl Worth 2010-08-17 23:19:01 -07:00
parent 97638aa77c
commit 105e2137d6
4 changed files with 58 additions and 0 deletions

View file

@ -0,0 +1,5 @@
#define abc 123
#define abc 123
#define foo(x) (x)+23
#define foo(x) ( x ) + 23

View file

@ -0,0 +1,6 @@

View file

@ -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

View file

@ -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