Within gthr-vxworks.h, we prevent C++ errors from missing
declarations in some system headers by prepending their inclusion
with a
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
But Wstrict-prototypes is internally registered as valid for
C/ObjC only, not C++, and this trick in turn triggers a Wpragma
warning with -Wsystem-headers.
This change just arranges to ignore the secondary warning locally.
2021-02-03 Olivier Hainque <hainque@adacore.com>
* config/gthr-vxworks.h: Prevent Wpragma warning for the
pragma diagnostics on Wstrict-prototypes.
#include <_vxworks-versions.h>
/* Some VxWorks headers profusely use typedefs of a pointer to a function with
- undefined number of arguments. */
+ undefined number of arguments. Arrange to ignore declaration errors in C++,
+ which is achievable by ignoring Wstrict-prototypes diagnostics even when the
+ option is registered as only valid for c/objc. */
#pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wpragmas"
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
#include <semLib.h>
#pragma GCC diagnostic pop