diff options
author | Chung-Lin Tang <cltang@codesourcery.com> | 2010-07-28 15:40:58 +0000 |
---|---|---|
committer | Chung-Lin Tang <cltang@gcc.gnu.org> | 2010-07-28 15:40:58 +0000 |
commit | 12ffc7d5f6cdf9fd9f45f6cce12577655889e6a3 (patch) | |
tree | 0d0e09c7ab63466d0d79ae3e08fd5083f1626fd5 /gcc | |
parent | 331a9a590d47fd1e0965692d6089486d7bb69bca (diff) | |
download | gcc-12ffc7d5f6cdf9fd9f45f6cce12577655889e6a3.zip gcc-12ffc7d5f6cdf9fd9f45f6cce12577655889e6a3.tar.gz gcc-12ffc7d5f6cdf9fd9f45f6cce12577655889e6a3.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 2 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 11 |
3 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c4db47..99414ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-07-28 Chung-Lin Tang <cltang@codesourcery.com> + + * 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 <iains@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_override_options): diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index b5cc3ed..186b0c6 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 cad50a8..8c6d249 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 |