]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm.c (arm_pcs_default): Remove static.
authorChung-Lin Tang <cltang@codesourcery.com>
Wed, 28 Jul 2010 15:40:58 +0000 (15:40 +0000)
committerChung-Lin Tang <cltang@gcc.gnu.org>
Wed, 28 Jul 2010 15:40:58 +0000 (15:40 +0000)
* 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
gcc/config/arm/arm.c
gcc/config/arm/arm.h

index 3c4db47758512e54d5e083155ec9a3b4a69124cd..99414ba42ed3f1b5bbaa3393c7a28079e2214862 100644 (file)
@@ -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): 
index b5cc3edfb9f1bc5332911382d7f2e09f4744a817..186b0c6645dfa57694be3514996ea83a9930b9be 100644 (file)
@@ -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;
index cad50a85af4c18bbc80c1bbdac4303d9032f4cbf..8c6d249a837ca481c7aea3016ee78cbfe13fa0c2 100644 (file)
@@ -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