1 /* Test spelling differences in UCNs are properly diagnosed for macro
2    redefinitions.  */
3 /* { dg-do preprocess } */
4 /* { dg-options "-std=c99 -pedantic-errors" } */
5 
6 /* Different spelling of UCN in expansion.  */
7 #define m1 \u00c1 /* { dg-message "-:previous definition" } */
8 #define m1 \u00C1 /* { dg-error "-:redefined" } */
9 
10 #define m1ok \u00c1
11 #define m1ok \u00c1
12 
13 /* Different spelling of UCN in argument name.  */
14 #define m2(\u00c1) /* { dg-message "-:previous definition" } */
15 #define m2(\u00C1) /* { dg-error "-:redefined" } */
16 
17 #define m2ok(\u00c1)
18 #define m2ok(\u00c1)
19 
20 /* Same spelling in argument name but different spelling when used in
21    expansion.  */
22 #define m3(\u00c1) \u00c1 /* { dg-message "-:previous definition" } */
23 #define m3(\u00c1) \u00C1 /* { dg-error "-:redefined" } */
24 
25 #define m3ok(\u00c1) \u00C1
26 #define m3ok(\u00c1) \u00C1
27 
28 /* Different spelling of the macro name itself is OK.  */
29 #define m4ok\u00c1
30 #define m4ok\u00C1
31