aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChung-Lin Tang <cltang@codesourcery.com>2010-07-28 15:40:58 +0000
committerChung-Lin Tang <cltang@gcc.gnu.org>2010-07-28 15:40:58 +0000
commit12ffc7d5f6cdf9fd9f45f6cce12577655889e6a3 (patch)
tree0d0e09c7ab63466d0d79ae3e08fd5083f1626fd5 /gcc
parent331a9a590d47fd1e0965692d6089486d7bb69bca (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/arm/arm.c2
-rw-r--r--gcc/config/arm/arm.h11
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