/* PR c/69558 */ /* { dg-do compile } */ /* { dg-options "-Wdeprecated-declarations" } */ /* TODO: XFAIL for g++ (works for C). */ #define A \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wdeprecated-declarations\"") #define B \ _Pragma ("GCC diagnostic pop") #define C(x) \ A \ static inline void bar (void) { x (); } /* { dg-bogus "in definition of|deprecated" "" } */ \ B __attribute__((deprecated)) void foo (void); /* { dg-bogus "declared here" "" } */ C (foo) /* { dg-bogus "is deprecated" } */