view gcc/testsuite/gcc.dg/cpp/ucnid-11.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* Test spelling differences in UCNs are properly diagnosed for macro
   redefinitions.  */
/* { dg-do preprocess } */
/* { dg-options "-std=c99 -pedantic-errors" } */

/* Different spelling of UCN in expansion.  */
#define m1 \u00c1 /* { dg-message "-:previous definition" } */
#define m1 \u00C1 /* { dg-error "-:redefined" } */

#define m1ok \u00c1
#define m1ok \u00c1

/* Different spelling of UCN in argument name.  */
#define m2(\u00c1) /* { dg-message "-:previous definition" } */
#define m2(\u00C1) /* { dg-error "-:redefined" } */

#define m2ok(\u00c1)
#define m2ok(\u00c1)

/* Same spelling in argument name but different spelling when used in
   expansion.  */
#define m3(\u00c1) \u00c1 /* { dg-message "-:previous definition" } */
#define m3(\u00c1) \u00C1 /* { dg-error "-:redefined" } */

#define m3ok(\u00c1) \u00C1
#define m3ok(\u00c1) \u00C1

/* Different spelling of the macro name itself is OK.  */
#define m4ok\u00c1
#define m4ok\u00C1