/* Test for warning of and recovery from recursion in function-like macros. */ /* { dg-do preprocess } */ #define foo() foo() foo(); /* { dg-error "detected recursion" } */ #define bar() bar baz() bar bar(); /* { dg-bogus "detected recursion" } */ #define baz() foo() baz(); /* { dg-error "detected recursion" } */ #define a(x) x(a) a(a); /* { dg-error "detected recursion" } */