summaryrefslogtreecommitdiff
path: root/gcc/config/arm
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/arm')
-rw-r--r--gcc/config/arm/arm-protos.h3
-rw-r--r--gcc/config/arm/arm.c14
-rw-r--r--gcc/config/arm/arm.h4
-rw-r--r--gcc/config/arm/arm.md2
-rw-r--r--gcc/config/arm/vxworks.h12
5 files changed, 16 insertions, 19 deletions
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index 79c11e2b0a0..1f9548524b4 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,6 +1,6 @@
/* Prototypes for exported functions defined in arm.c and pe.c
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rearnsha@arm.com)
Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -23,7 +23,6 @@
#ifndef GCC_ARM_PROTOS_H
#define GCC_ARM_PROTOS_H
-extern void arm_override_options (void);
extern void arm_optimization_options (int, int);
extern int use_return_insn (int, rtx);
extern enum reg_class arm_regno_class (int);
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 6f260ec53d2..acbaee6ef97 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -215,6 +215,7 @@ static void arm_init_libfuncs (void);
static tree arm_build_builtin_va_list (void);
static void arm_expand_builtin_va_start (tree, rtx);
static tree arm_gimplify_va_arg_expr (tree, tree, gimple_seq *, gimple_seq *);
+static void arm_option_override (void);
static bool arm_handle_option (size_t, const char *, int);
static void arm_target_help (void);
static unsigned HOST_WIDE_INT arm_shift_truncation_mask (enum machine_mode);
@@ -318,6 +319,8 @@ static const struct attribute_spec arm_attribute_table[] =
#define TARGET_HANDLE_OPTION arm_handle_option
#undef TARGET_HELP
#define TARGET_HELP arm_target_help
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE arm_option_override
#undef TARGET_COMP_TYPE_ATTRIBUTES
#define TARGET_COMP_TYPE_ATTRIBUTES arm_comp_type_attributes
@@ -1375,13 +1378,16 @@ arm_target_help (void)
}
-/* Fix up any incompatible options that the user has specified.
- This has now turned into a maze. */
-void
-arm_override_options (void)
+/* Fix up any incompatible options that the user has specified. */
+static void
+arm_option_override (void)
{
unsigned i;
+#ifdef SUBTARGET_OVERRIDE_OPTIONS
+ SUBTARGET_OVERRIDE_OPTIONS;
+#endif
+
if (arm_selected_arch)
{
if (arm_selected_cpu)
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 36b618a5836..9e7e5040c31 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for ARM.
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
@@ -498,8 +498,6 @@ extern int arm_arch_hwdiv;
that is controlled by the APCS-FRAME option. */
#define CAN_DEBUG_WITHOUT_FP
-#define OVERRIDE_OPTIONS arm_override_options ()
-
#define OPTIMIZATION_OPTIONS(LEVEL,SIZE) \
arm_optimization_options ((LEVEL), (SIZE))
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index d10d04ba74d..61b95e3ee00 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -333,7 +333,7 @@
(const_string "alu")))
; Load scheduling, set from the arm_ld_sched variable
-; initialized by arm_override_options()
+; initialized by arm_option_override()
(define_attr "ldsched" "no,yes" (const (symbol_ref "arm_ld_sched")))
;; Classification of NEON instructions for scheduling purposes.
diff --git a/gcc/config/arm/vxworks.h b/gcc/config/arm/vxworks.h
index aa7e197bc5d..3ceaed9039c 100644
--- a/gcc/config/arm/vxworks.h
+++ b/gcc/config/arm/vxworks.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC,
for ARM with targetting the VXWorks run time environment.
- Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008
+ Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by: Mike Stump <mrs@wrs.com>
@@ -44,14 +44,8 @@ along with GCC; see the file COPYING3. If not see
VXWORKS_OS_CPP_BUILTINS (); \
} while (0)
-#undef OVERRIDE_OPTIONS
-#define OVERRIDE_OPTIONS \
- do \
- { \
- VXWORKS_OVERRIDE_OPTIONS; \
- arm_override_options (); \
- } \
- while (0)
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS
/* Subsume the arm/elf.h definition, and add RTP hooks. */
#undef SUBTARGET_CPP_SPEC