re PR target/52144 (ARM should support arm/thumb function attribute to permit differe...
authorChristian Bruel <chrbr@gcc.gnu.org>
Tue, 26 May 2015 14:06:17 +0000 (16:06 +0200)
committerChristian Bruel <chrbr@gcc.gnu.org>
Tue, 26 May 2015 14:06:17 +0000 (16:06 +0200)
commit08793a386ad3f3365bd891dc793eedc59f8c5ee5
treea3d0dee1ac6951de5df21bb271ec538bb598ca71
parent7049e4eb334cfdd6c13897caa1559e8e8211954c
re PR target/52144 (ARM should support arm/thumb function attribute to permit different instruction sets in the same source)

 2015-05-13  Christian Bruel  <christian.bruel@st.com>

PR target/52144
* config/arm/arm.c (arm_option_check_internal)
(arm_option_params_internal): Check opts->target_flags to set macros.
(TREE_TARGET_ARM, TREE_TARGET_THUMB)
(TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
(builtin_define): Replaced with def_or_undef_macro.
* config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
(TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
(TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
(TARGET_ARM_FEATURE_LDREX_P)
(TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
(def_or_undef_macro): New function.

From-SVN: r223699
gcc/ChangeLog
gcc/config/arm/arm-c.c
gcc/config/arm/arm.c
gcc/config/arm/arm.h