commit 8b47bd6c54891baebf6a1083c7b1f6fa0402b8e4 parent 2ba7f352c6989b51f15ea72f8b819e739f3ce1e4 Author: Roberto E. Vargas Caballero <k0ga@shike2.com> Date: Sun, 27 Sep 2015 10:28:19 +0200 Add test for nested macro expansion This test also check what happens when a macro with arguments is found without them. Diffstat:
A | cc1/tests/test029.c | | | 36 | ++++++++++++++++++++++++++++++++++++ |
1 file changed, 36 insertions(+), 0 deletions(-)
diff --git a/cc1/tests/test029.c b/cc1/tests/test029.c @@ -0,0 +1,36 @@ + +/* +name: TEST029 +description: Test of nested expansion and refusing macro without arguments +comments: f(2) will expand to 2*g, which will expand to 2*f, and in this + moment f will not be expanded because the macro definition is + a function alike macro, and in this case there is no arguments. +output: +test029.c:34: error: redefinition of 'f1' +F2 +G3 F2 f1 +{ +\ +A4 I f + A4 #I2 *I +} +test029.c:35: error: 'f' undeclared +*/ + + +#define f(a) a*g +#define g f + +int +f1(void) +{ + int f; + + f(2); +} + +int +f1(void) +{ + f(2); +}