re PR target/69180 ([ARM] #pragma GCC target should not warn about redefined macros)
PR target/69180 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX. From-SVN: r232276
This commit is contained in:
parent
0d1ed41261
commit
81b9a3d9f5
@ -1,3 +1,9 @@
|
|||||||
|
2016-01-12 Christian Bruel <christian.bruel@st.com>
|
||||||
|
|
||||||
|
PR target/69180
|
||||||
|
* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
|
||||||
|
for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
|
||||||
|
|
||||||
2016-01-12 Jakub Jelinek <jakub@redhat.com>
|
2016-01-12 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR target/69198
|
PR target/69198
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "c-family/c-common.h"
|
#include "c-family/c-common.h"
|
||||||
#include "tm_p.h"
|
#include "tm_p.h"
|
||||||
#include "c-family/c-pragma.h"
|
#include "c-family/c-pragma.h"
|
||||||
|
#include "stringpool.h"
|
||||||
|
|
||||||
/* Output C specific EABI object attributes. These can not be done in
|
/* Output C specific EABI object attributes. These can not be done in
|
||||||
arm.c because they require information from the C frontend. */
|
arm.c because they require information from the C frontend. */
|
||||||
@ -245,8 +246,18 @@ arm_pragma_target_parse (tree args, tree pop_target)
|
|||||||
|
|
||||||
/* Update macros. */
|
/* Update macros. */
|
||||||
gcc_assert (cur_opt->x_target_flags == target_flags);
|
gcc_assert (cur_opt->x_target_flags == target_flags);
|
||||||
/* This one can be redefined by the pragma without warning. */
|
|
||||||
cpp_undef (parse_in, "__ARM_FP");
|
/* Don't warn for macros that have context sensitive values depending on
|
||||||
|
other attributes.
|
||||||
|
See warn_of_redefinition, Reset after cpp_create_definition. */
|
||||||
|
tree acond_macro = get_identifier ("__ARM_NEON_FP");
|
||||||
|
C_CPP_HASHNODE (acond_macro)->flags |= NODE_CONDITIONAL ;
|
||||||
|
|
||||||
|
acond_macro = get_identifier ("__ARM_FP");
|
||||||
|
C_CPP_HASHNODE (acond_macro)->flags |= NODE_CONDITIONAL;
|
||||||
|
|
||||||
|
acond_macro = get_identifier ("__ARM_FEATURE_LDREX");
|
||||||
|
C_CPP_HASHNODE (acond_macro)->flags |= NODE_CONDITIONAL;
|
||||||
|
|
||||||
arm_cpu_builtins (parse_in);
|
arm_cpu_builtins (parse_in);
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2016-01-12 Christian Bruel <christian.bruel@st.com>
|
||||||
|
|
||||||
|
PR target/69180
|
||||||
|
* gcc.target/arm/pr69180.c: New test.
|
||||||
|
|
||||||
2016-01-12 Richard Biener <rguenther@suse.de>
|
2016-01-12 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
PR lto/69077
|
PR lto/69077
|
||||||
|
Loading…
x
Reference in New Issue
Block a user