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

--- Comment #5 from Azat <a3at.mail at gmail dot com> ---
On Tue, Dec 16, 2014 at 05:16:41PM +0000, manu at gcc dot gnu.org wrote:
> The C FE does not point to __constructor (3:1 vs 3:19), thus it doesn't 
> realize
> this comes from a macro expansion, thus (in your testcase) the system_header 
> is
> applied. The C++ FE sees that the attribute actually appears in 1:50 and not
> 3:19, thus in your testcase the pragma system_header does not apply.

Hm.. good to know, thanks for pointing me out!

> Whether the correct behavior is that the system_header applies to the
> definition or to the expansion location, I am not sure. However, the bad
> location of the C FE is clearly a bug.

Maybe gcc will behave like clang in this case?

Reply via email to