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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [cpp/] [trad/] [macroargs.c] - Rev 689

Compare with Previous | Blame | View Log

/* Test that whitespace in arguments is preserved, and that each
   newline in macro arguments become a space.  */
 
/* { dg-do run } */
 
#define f(x, y) "x y"
#define g(x) x
 
extern void abort (void);
 
void testquoting ()
{
  const char *str1 = f("a", "\"a\"");
  const char *str2 = f( \t, " \t");
 
  if (strcmp (str1, "\"a\"  \"\\\"a\\\"\""))
    abort ();
  if (strcmp (str2, " \t  \" \\t\""))
    abort ();
}
 
int main ()
{
  const char *str1 = f( foo ,bar);
  const char *str2 = f(
foo
,bar);
 
  if (strcmp (str1, " foo  bar"))
    abort ();
 
  if (strcmp (str1, str2))
    abort ();
 
  /* Verify that quoted state is preserved over a newline.  */
  if (strcmp (g /* { dg-bogus "unterminated 2" } */ ("1
, 2"), "1 , 2"))	
    abort ();
 
  testquoting ();
 
  return 0;
}
 

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.