OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [gcc.dg/] [cpp/] [trad/] [recurse-3.c] - Rev 12

Compare with Previous | Blame | View Log

/* Tests that macros that look recursive but are not are accepted.  */
 
/* { dg-do preprocess } */
 
#define g(x) x
g(g(g(g(g(g(g))))));	       /* { dg-bogus "detected recursion" } */
 
/* This macro gets longer with each loop, to thwart tests for
   recursion based on length.  */
#define f(a,b,c,d,e,f,g,h,i) a(b,c,d,e,f,g,h,i,2 3 4 5)
f(f,f,f,f,f,f,f,f,f)	       /* { dg-bogus "detected recursion" } */
 
/* The above cases should be enough, but this is taken from cccp
   sources so let's try it too.  */
#define foo(x,y) bar (x (y,0), y)
foo (foo, baz);	       /* { dg-bogus "detected recursion" } */
 
#define mac mac/**/ro
mac		       /* { dg-bogus "detected recursion" } */
 
#define mac2 mac2
"mac2" 		       /* { dg-bogus "detected recursion" } */
 
#define macro "macro
macro mac2	       /* { dg-bogus "detected recursion" } */
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.