https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78657

--- Comment #2 from Joseph Quinsey <jquinsey at entrenet dot com> ---
The code

   int foo =
   #pragma GCC diagnostic push
    42;

gives exactly the same error messages. So this report is not about _Pragma per
se, but about #pragma.

But I cannot see where or if the standard addresses this. N1570 section
5.1.1.2, Translation phases, item 4 seems to say "All preprocessing directives
are then deleted".

Other preprocessor directives on the second line, such as

   int foo =
   #define BAR bar
    42;

are perfectly fine in gcc/g++ (including #include).

Reply via email to