Merged r158229 through r158464 into branch.
[official-gcc.git] / gcc / testsuite / gcc.dg / cpp / warn-traditional-2.c
blob05477afefa9d73d0b3a55db09aeab5572a255c27
1 // { dg-do compile }
2 // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=traditional -Wno-deprecated -Wno-long-long" }
3 /* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */
4 #assert x(x) // { dg-error "suggest hiding #assert from traditional C with an indented # .-Werror=traditional." }
6 #define X X // { dg-error "traditional C ignores #define with the # indented .-Werror=traditional." }
8 #if 0
9 #elif 1 // { dg-error "suggest not using #elif in traditional C .-Werror=traditional." }
10 #endif
12 #define f(X) X
13 int f; // { dg-error "function-like macro \"f\" must be used with arguments in traditional C .-Werror=traditional." }
15 #if 0U // { dg-error "traditional C rejects the \"U\" suffix .-Werror=traditional." }
16 #endif
18 #if +1 // { dg-error " traditional C rejects the unary plus operator .-Werror=traditional." }
19 #endif
21 char *x = "\x0"; // { dg-error "the meaning of '.x' is different in traditional C .-Werror=traditional." }
22 char *y = "\a"; // { dg-error "the meaning of '.a' is different in traditional C .-Werror=traditional." }
23 char *z = "\u0F43"; // { dg-error "the meaning of '.u' is different in traditional C .-Werror=traditional." }