[PATCH, ARM] Fix redefinition of cpp macros with #pragma GCC pop,reset

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Tue Feb 23 11:33:00 GMT 2016

Hi Christian,

On 17/02/16 12:50, Christian Bruel wrote:
> target_option_current_node, used in c-pragma.c to check if a state
> should be popped or reseted to the previous value, was not set when
> switching state with #pragma GCC target (I missed to see that, since it
> is done for pop,reset). So in some cases the state might not be reset
> correctly.
> This patch sets it for #pragma GCC target paths and update the comments
> as well to clarify this point.
> As a benefit we now use this cached value instead of
> build_target_option_node (&global_options), this should speed up (a
> little bit) this path when processing arm_neon.h.
> One effect of it is that some predicate tests (e.g arm_neonv2_ok) in the
> testsuite was returning the wrong value, thus marking some test as
> UNRESOLVED instead of PASS. See the reduced case of the issue attached
> is the patch.
> Regtested, a few new PASS for -mfpu=neon-fp-armv8


More information about the Gcc-patches mailing list