diff options
Diffstat (limited to 'gcc/config/arm')
-rw-r--r-- | gcc/config/arm/arm-protos.h | 3 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 14 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 4 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 2 | ||||
-rw-r--r-- | gcc/config/arm/vxworks.h | 12 |
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 |