view gcc/testsuite/gcc.dg/cpp/line3.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-do compile } */
/* { dg-options "-Wwrite-strings" } */ 
/* The purpose of this test is to ensure that line numbers in diagnostics
   are accurate after macros whose arguments contain newlines and are
   substituted multiple times.  The semicolons are on separate lines because
   #line can only correct numbering on line boundaries.  */
#define one(x) x
#define two(x) x x
#define four(x) two(x) two(x)

int
main(void)
{
  char *A;

  A = "text";		/* { dg-warning "discards 'const' qualifier" "case zero" } */
  A = one("text"	/* { dg-warning "discards 'const' qualifier" "case one" } */
	  "text")
	;
  A = two("text"	/* { dg-warning "discards 'const' qualifier" "case two" } */
	  "text")
	;
  A = four("text"	/* { dg-warning "discards 'const' qualifier" "case four" } */
	   "text")
	;

  return 0;
}