On 5 October 2018 at 01:28, Laurent Vivier <laur...@vivier.eu> 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