https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114436
Bug ID: 114436
Summary: #pragma GCC system_header vs. _Pragma("GCC
system_header")
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: finke at cognitec dot com
Target Milestone: ---
Created attachment 57784
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57784&action=edit
code snippet
When using the _Pragma operator instead of the #pragma directive for "GCC
system_header", a different behavior can be observed:
Warnings in included header files are not being ignored as it is the case with
the #pragma directive.
The attached code snippet does emit an error when compiled with
"g++ -Werror=unused-parameter pragma.cc"
The expectation would be, that it compiles without error (clang is compiling it
without error).
gcc versions tested: 4.8.5 & 13.2.1
Output from compiler:
In file included from pragma.h:10:0,
from pragma.cc:1:
third_party.h:4:13: error: unused parameter 'force_unused_warning'
[-Werror=unused-parameter]
inline void foo( int force_unused_warning) {
^
cc1plus: some warnings being treated as errors