From 12ffc7d5f6cdf9fd9f45f6cce12577655889e6a3 Mon Sep 17 00:00:00 2001 From: Chung-Lin Tang Date: Wed, 28 Jul 2010 15:40:58 +0000 Subject: [PATCH] arm.c (arm_pcs_default): Remove static. * config/arm/arm.c (arm_pcs_default): Remove static. * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or __ARM_PCS_VFP to indicate soft/hard-float calling convention. (arm_pcs_default): Declare. From-SVN: r162637 --- gcc/ChangeLog | 7 +++++++ gcc/config/arm/arm.c | 2 +- gcc/config/arm/arm.h | 11 ++++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c4db477585..99414ba42ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-07-28 Chung-Lin Tang + + * config/arm/arm.c (arm_pcs_default): Remove static. + * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or + __ARM_PCS_VFP to indicate soft/hard-float calling convention. + (arm_pcs_default): Declare. + 2010-07-28 Iain Sandoe * config/rs6000/rs6000.c (rs6000_override_options): diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index b5cc3edfb9f..186b0c6645d 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -712,7 +712,7 @@ unsigned arm_pic_register = INVALID_REGNUM; the next function. */ static int after_arm_reorg = 0; -static enum arm_pcs arm_pcs_default; +enum arm_pcs arm_pcs_default; /* For an explanation of these variables, see final_prescan_insn below. */ int arm_ccfsm_state; diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index cad50a85af4..8c6d249a837 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -94,7 +94,13 @@ extern char arm_arch_name[]; if (arm_arch_iwmmxt) \ builtin_define ("__IWMMXT__"); \ if (TARGET_AAPCS_BASED) \ - builtin_define ("__ARM_EABI__"); \ + { \ + if (arm_pcs_default == ARM_PCS_AAPCS_VFP) \ + builtin_define ("__ARM_PCS_VFP"); \ + else if (arm_pcs_default == ARM_PCS_AAPCS) \ + builtin_define ("__ARM_PCS"); \ + builtin_define ("__ARM_EABI__"); \ + } \ } while (0) /* The various ARM cores. */ @@ -1641,6 +1647,9 @@ enum arm_pcs ARM_PCS_UNKNOWN }; +/* Default procedure calling standard of current compilation unit. */ +extern enum arm_pcs arm_pcs_default; + /* A C type for declaring a variable that is used as the first argument of `FUNCTION_ARG' and other related values. */ typedef struct -- 2.30.2