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