scc

simple C compiler
git clone git://git.2f30.org/scc
Log | Files | Refs | README | LICENSE

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:
Acc1/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); +}