On 5 October 2018 at 01:28, Laurent Vivier <[email protected]> wrote:
> I have the following error when building on Fedora 28 and gcc (GCC)
> 8.1.1 20180712 (Red Hat 8.1.1-5)
>
> CC aarch64_be-linux-user/target/arm/arm-semi.o
> .../target/arm/arm-semi.c: In function ‘do_arm_semihosting’:
> .../target/arm/arm-semi.c:270:1: error: unknown option after ‘#pragma
> GCC diagnostic’ kind [-Werror=pragmas]
>
> Perhaps you should use a "#if defined(__clang__)" to apply your fix only
> to clang?
I did test on gcc, but not that version. The point of the
_Pragma("GCC diagnostic ignored \"-Wpragmas\"");
line is to suppress that error (which it does on my gcc 5)
so I don't know why your gcc is complaining :-(
If you add an extra diagnostic push, so:
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wpragmas\""); \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\""); \
and then a balancing extra
+ _Pragma("GCC diagnostic pop"); \
at the end, I don't suppose that helps?
(I generally prefer to avoid marking things as clang- or gcc-
specific where I can.)
thanks
-- PMM