aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/ucnid-11-utf8.c
blob: 701765d1ecaa6c1c16c1e0b3e32c8940f1a2ae1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* 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 Á /* { dg-error "redefined" } */

#define m1ok Á
#define m1ok Á

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

#define m2ok(Á)
#define m2ok(Á)

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

#define m3ok(\u00c1) Á
#define m3ok(\u00c1) Á

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