aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2010-09-16 12:59:39 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2010-09-16 12:59:39 +0100
commitc5387660230bce1ec6e40d47e243ff04059e4d77 (patch)
treefb327a762f18445eb13e2ac7a08b9a9432e459f8
parented6c4831a9aca4764b45734ae31c9f6e8eac4cac (diff)
downloadgcc-c5387660230bce1ec6e40d47e243ff04059e4d77.zip
gcc-c5387660230bce1ec6e40d47e243ff04059e4d77.tar.gz
gcc-c5387660230bce1ec6e40d47e243ff04059e4d77.tar.bz2
tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
* doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation. (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS. * doc/tm.texi: Regenerate. * system.h (OVERRIDE_OPTIONS): Poison. * target.def (override): Default to hook_void_void. * targhooks.c (default_target_option_override): Remove. * genmodes.c, machmode.def: Update comments mentioning OVERRIDE_OPTIONS. * config/alpha/alpha-modes.def: Update comment mentioning alpha_override_options. * config/alpha/alpha-protos.h (override_options): Remove. * config/alpha/alpha.c (override_options): Rename to alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove. * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/arc/arc-protos.h (arc_init): Remove. * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define. (arc_init): Rename to arc_option_override. Make static. * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment. (OVERRIDE_OPTIONS): Remove. * config/arm/arm-protos.h (arm_override_options): Remove. * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define. (arm_override_options): Rename to arm_option_override. Make static. Call SUBTARGET_OVERRIDE_OPTIONS. * config/arm/arm.h (OVERRIDE_OPTIONS): Remove. * config/arm/arm.md: Update comment referring to arm_override_options. * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/avr/avr-protos.h (avr_override_options): Remove. * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define. (avr_override_options): Rename to avr_option_override. Make static. * config/avr/avr.h (OVERRIDE_OPTIONS): Remove. * config/bfin/bfin-protos.h (override_options): Remove (twice). * config/bfin/bfin.c (override_options): Rename to bfin_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove. * config/cris/cris-protos.h (cris_override_options): Remove. * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define. (cris_override_options): Rename to cris_option_override. Make static. * config/cris/cris.h (OVERRIDE_OPTIONS): Remove. * config/frv/frv-protos.h (frv_override_options): Remove. * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define. (frv_override_options): Rename to frv_option_override. Make static. * config/frv/frv.h (OVERRIDE_OPTIONS): Remove. * config/h8300/h8300-protos.h (h8300_init_once): Remove. * config/h8300/h8300.c (h8300_init_once): Rename to h8300_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove. * config/i386/i386-protos.h (override_options): Remove. * config/i386/i386.c (override_options): Rename to ix86_option_override_internal. Make static. Comments referring to this function and callers changed. (ix86_option_override): New. (TARGET_OPTION_OVERRIDE): Define. * config/i386/i386.h (OVERRIDE_OPTION): Remove. * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment. * config/ia64/ia64.c (ia64_file_start): Update comment referring to ia64_override_options. * config/iq2000/iq2000-protos.h (override_options): Remove. * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to iq2000_option_override. Make static. * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove. * config/lm32/lm32-protos.h (lm32_override_options): Remove. * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define. (lm32_override_options): Rename to lm32_option_override. Make static. * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove. * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define. (m32r_option_override): New. (m32r_init): Update comment. * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove. * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove. * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define. (m68hc11_override_options): Rename to m68hc11_option_override. Make static. Return void. * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove. * config/m68k/m68k-protos.h (override_options): Remove. * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to m68k_option_override. Make static. * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove. * config/mcore/mcore-protos.h (mcore_override_options): Remove. * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define. (mcore_override_options): Rename to mcore_option_override. Make static. * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove. * config/mep/mep-protos.h (mep_override_options): Remove. * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define. (mep_override_options): Rename to mep_option_override. Make static. * config/mep/mep.h (OVERRIDE_OPTIONS): Remove. * config/mmix/mmix-protos.h (mmix_override_options): Remove. * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define. (mmix_override_options): Rename to mmix_option_override. Make static. * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove. * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove. * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define. (mn10300_override_options): Rename to mn10300_option_override. Make static. * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove. * config/moxie/moxie-protos.h (moxie_override_options): Remove. * config/moxie/moxie.c (moxie_override_options): Rename to moxie_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove. * config/picochip/picochip-protos.h (picochip_override_options): Remove. Update comment referring to picochip_override_options. * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define. (picochip_override_options): Rename to picochip_option_override. Make static. Update comment and definition of TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE. * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove. * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define instead of OVERRIDE_OPTIONS. * config/rs6000/rs6000-modes.def: Update comment referring to rs6000_override_options. * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove. * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define. (rs6000_override_options): Rename to rs6000_option_override_internal. Make static. Commented referring to rs6000_override_options and OVERRIDE_OPTIONS updated. (rs6000_option_override): New. * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define instead of OVERRIDE_OPTIONS. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. * config/s390/s390-protos.h (override_options): Remove. * config/s390/s390.c (override_options): Rename to s390_option_override. Make static. (TARGET_OPTION_OVERRIDE): Define. * config/s390/s390.h (OVERRIDE_OPTIONS): Remove. * config/score/score-protos.h (score_override_options): Remove. * config/score/score.c (TARGET_OPTION_OVERRIDE): Define. (score_override_options): Rename to score_option_override. Make static. * config/score/score.h (OVERRIDE_OPTIONS): Remove. Update comment referring to override_options. * config/score/score3.c (score3_override_options): Rename to score3_option_override. * config/score/score3.h (score3_override_options): Rename to score3_option_override. * config/score/score7.c (score7_override_options): Rename to score7_option_override. * config/score/score7.h (score7_override_options): Rename to score7_option_override. * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS. * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define. (sparc_override_options): Rename to sparc_option_override. Make static. Call SUBTARGET_OVERRIDE_OPTIONS. * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove. * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/spu/spu-protos.h (spu_override_options): Remove. * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define. (spu_override_options): Rename to spu_option_override. Make static. * config/spu/spu.h (OVERRIDE_OPTIONS): Remove. * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of OVERRIDE_OPTIONS. * config/vax/vax-protos.h (override_options): Remove. * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to vax_option_override. Make static. Call SUBTARGET_OVERRIDE_OPTIONS. * config/vax/vax.h (OVERRIDE_OPTIONS): Remove. * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS. * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS. * config/xtensa/xtensa-protos.h (override_options): Remove. * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define. (override_options): Rename to xtensa_option_override. Make static. * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove. From-SVN: r164334
-rw-r--r--gcc/ChangeLog197
-rw-r--r--gcc/config/alpha/alpha-modes.def4
-rw-r--r--gcc/config/alpha/alpha-protos.h3
-rw-r--r--gcc/config/alpha/alpha.c11
-rw-r--r--gcc/config/alpha/alpha.h11
-rw-r--r--gcc/config/alpha/vms.h11
-rw-r--r--gcc/config/arc/arc-protos.h3
-rw-r--r--gcc/config/arc/arc.c13
-rw-r--r--gcc/config/arc/arc.h19
-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
-rw-r--r--gcc/config/avr/avr-protos.h1
-rw-r--r--gcc/config/avr/avr.c8
-rw-r--r--gcc/config/avr/avr.h2
-rw-r--r--gcc/config/bfin/bfin-protos.h4
-rw-r--r--gcc/config/bfin/bfin.c11
-rw-r--r--gcc/config/bfin/bfin.h11
-rw-r--r--gcc/config/cris/cris-protos.h4
-rw-r--r--gcc/config/cris/cris.c14
-rw-r--r--gcc/config/cris/cris.h4
-rw-r--r--gcc/config/frv/frv-protos.h1
-rw-r--r--gcc/config/frv/frv.c16
-rw-r--r--gcc/config/frv/frv.h10
-rw-r--r--gcc/config/h8300/h8300-protos.h4
-rw-r--r--gcc/config/h8300/h8300.c7
-rw-r--r--gcc/config/h8300/h8300.h11
-rw-r--r--gcc/config/i386/i386-protos.h1
-rw-r--r--gcc/config/i386/i386.c46
-rw-r--r--gcc/config/i386/i386.h11
-rw-r--r--gcc/config/i386/linux64.h3
-rw-r--r--gcc/config/ia64/ia64.c2
-rw-r--r--gcc/config/iq2000/iq2000-protos.h3
-rw-r--r--gcc/config/iq2000/iq2000.c9
-rw-r--r--gcc/config/iq2000/iq2000.h2
-rw-r--r--gcc/config/lm32/lm32-protos.h3
-rw-r--r--gcc/config/lm32/lm32.c7
-rw-r--r--gcc/config/lm32/lm32.h2
-rw-r--r--gcc/config/m32r/m32r.c14
-rw-r--r--gcc/config/m32r/m32r.h19
-rw-r--r--gcc/config/m68hc11/m68hc11-protos.h1
-rw-r--r--gcc/config/m68hc11/m68hc11.c9
-rw-r--r--gcc/config/m68hc11/m68hc11.h11
-rw-r--r--gcc/config/m68k/m68k-protos.h3
-rw-r--r--gcc/config/m68k/m68k.c17
-rw-r--r--gcc/config/m68k/m68k.h4
-rw-r--r--gcc/config/mcore/mcore-protos.h3
-rw-r--r--gcc/config/mcore/mcore.c10
-rw-r--r--gcc/config/mcore/mcore.h7
-rw-r--r--gcc/config/mep/mep-protos.h1
-rw-r--r--gcc/config/mep/mep.c6
-rw-r--r--gcc/config/mep/mep.h2
-rw-r--r--gcc/config/mmix/mmix-protos.h1
-rw-r--r--gcc/config/mmix/mmix.c10
-rw-r--r--gcc/config/mmix/mmix.h2
-rw-r--r--gcc/config/mn10300/mn10300-protos.h4
-rw-r--r--gcc/config/mn10300/mn10300.c9
-rw-r--r--gcc/config/mn10300/mn10300.h2
-rw-r--r--gcc/config/moxie/moxie-protos.h1
-rw-r--r--gcc/config/moxie/moxie.c9
-rw-r--r--gcc/config/moxie/moxie.h2
-rw-r--r--gcc/config/picochip/picochip-protos.h5
-rw-r--r--gcc/config/picochip/picochip.c19
-rw-r--r--gcc/config/picochip/picochip.h8
-rw-r--r--gcc/config/rs6000/aix43.h12
-rw-r--r--gcc/config/rs6000/aix51.h12
-rw-r--r--gcc/config/rs6000/aix52.h12
-rw-r--r--gcc/config/rs6000/aix53.h12
-rw-r--r--gcc/config/rs6000/aix61.h12
-rw-r--r--gcc/config/rs6000/linux64.h8
-rw-r--r--gcc/config/rs6000/rs6000-modes.def4
-rw-r--r--gcc/config/rs6000/rs6000-protos.h1
-rw-r--r--gcc/config/rs6000/rs6000.c21
-rw-r--r--gcc/config/rs6000/rs6000.h14
-rw-r--r--gcc/config/rs6000/sysv4.h10
-rw-r--r--gcc/config/s390/s390-protos.h3
-rw-r--r--gcc/config/s390/s390.c7
-rw-r--r--gcc/config/s390/s390.h5
-rw-r--r--gcc/config/score/score-protos.h3
-rw-r--r--gcc/config/score/score.c16
-rw-r--r--gcc/config/score/score.h6
-rw-r--r--gcc/config/score/score3.c6
-rw-r--r--gcc/config/score/score3.h4
-rw-r--r--gcc/config/score/score7.c6
-rw-r--r--gcc/config/score/score7.h4
-rw-r--r--gcc/config/sh/sh.c4
-rw-r--r--gcc/config/sparc/sparc.c11
-rw-r--r--gcc/config/sparc/sparc.h4
-rw-r--r--gcc/config/sparc/vxworks.h12
-rw-r--r--gcc/config/spu/spu-protos.h1
-rw-r--r--gcc/config/spu/spu.c13
-rw-r--r--gcc/config/spu/spu.h1
-rw-r--r--gcc/config/vax/elf.h10
-rw-r--r--gcc/config/vax/vax-protos.h5
-rw-r--r--gcc/config/vax/vax.c14
-rw-r--r--gcc/config/vax/vax.h4
-rw-r--r--gcc/config/vxworks.c4
-rw-r--r--gcc/config/vxworks.h4
-rw-r--r--gcc/config/xtensa/xtensa-protos.h3
-rw-r--r--gcc/config/xtensa/xtensa.c8
-rw-r--r--gcc/config/xtensa/xtensa.h4
-rw-r--r--gcc/doc/tm.texi21
-rw-r--r--gcc/doc/tm.texi.in21
-rw-r--r--gcc/genmodes.c4
-rw-r--r--gcc/machmode.def4
-rw-r--r--gcc/system.h2
-rw-r--r--gcc/target.def2
-rw-r--r--gcc/targhooks.c8
110 files changed, 537 insertions, 488 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bfaed4f..2194182 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,200 @@
+2010-09-16 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
+ (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
+ * doc/tm.texi: Regenerate.
+ * system.h (OVERRIDE_OPTIONS): Poison.
+ * target.def (override): Default to hook_void_void.
+ * targhooks.c (default_target_option_override): Remove.
+ * genmodes.c, machmode.def: Update comments mentioning
+ OVERRIDE_OPTIONS.
+ * config/alpha/alpha-modes.def: Update comment mentioning
+ alpha_override_options.
+ * config/alpha/alpha-protos.h (override_options): Remove.
+ * config/alpha/alpha.c (override_options): Rename to
+ alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make
+ static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
+ * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
+ of OVERRIDE_OPTIONS.
+ * config/arc/arc-protos.h (arc_init): Remove.
+ * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
+ (arc_init): Rename to arc_option_override. Make static.
+ * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
+ (OVERRIDE_OPTIONS): Remove.
+ * config/arm/arm-protos.h (arm_override_options): Remove.
+ * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
+ (arm_override_options): Rename to arm_option_override. Make
+ static. Call SUBTARGET_OVERRIDE_OPTIONS.
+ * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
+ * config/arm/arm.md: Update comment referring to
+ arm_override_options.
+ * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/avr/avr-protos.h (avr_override_options): Remove.
+ * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
+ (avr_override_options): Rename to avr_option_override. Make
+ static.
+ * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
+ * config/bfin/bfin-protos.h (override_options): Remove (twice).
+ * config/bfin/bfin.c (override_options): Rename to
+ bfin_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
+ * config/cris/cris-protos.h (cris_override_options): Remove.
+ * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
+ (cris_override_options): Rename to cris_option_override. Make
+ static.
+ * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
+ * config/frv/frv-protos.h (frv_override_options): Remove.
+ * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
+ (frv_override_options): Rename to frv_option_override. Make
+ static.
+ * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
+ * config/h8300/h8300-protos.h (h8300_init_once): Remove.
+ * config/h8300/h8300.c (h8300_init_once): Rename to
+ h8300_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
+ * config/i386/i386-protos.h (override_options): Remove.
+ * config/i386/i386.c (override_options): Rename to
+ ix86_option_override_internal. Make static. Comments referring
+ to this function and callers changed.
+ (ix86_option_override): New.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/i386/i386.h (OVERRIDE_OPTION): Remove.
+ * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update
+ comment.
+ * config/ia64/ia64.c (ia64_file_start): Update comment referring
+ to ia64_override_options.
+ * config/iq2000/iq2000-protos.h (override_options): Remove.
+ * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to iq2000_option_override. Make
+ static.
+ * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
+ * config/lm32/lm32-protos.h (lm32_override_options): Remove.
+ * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
+ (lm32_override_options): Rename to lm32_option_override. Make
+ static.
+ * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
+ * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
+ (m32r_option_override): New.
+ (m32r_init): Update comment.
+ * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_override_options):
+ Remove.
+ * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
+ (m68hc11_override_options): Rename to m68hc11_option_override.
+ Make static. Return void.
+ * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
+ * config/m68k/m68k-protos.h (override_options): Remove.
+ * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to m68k_option_override. Make static.
+ * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
+ * config/mcore/mcore-protos.h (mcore_override_options): Remove.
+ * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
+ (mcore_override_options): Rename to mcore_option_override. Make
+ static.
+ * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
+ * config/mep/mep-protos.h (mep_override_options): Remove.
+ * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
+ (mep_override_options): Rename to mep_option_override. Make
+ static.
+ * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
+ * config/mmix/mmix-protos.h (mmix_override_options): Remove.
+ * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
+ (mmix_override_options): Rename to mmix_option_override. Make
+ static.
+ * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
+ * config/mn10300/mn10300-protos.h (mn10300_override_options):
+ Remove.
+ * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
+ (mn10300_override_options): Rename to mn10300_option_override.
+ Make static.
+ * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
+ * config/moxie/moxie-protos.h (moxie_override_options): Remove.
+ * config/moxie/moxie.c (moxie_override_options): Rename to
+ moxie_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
+ * config/picochip/picochip-protos.h (picochip_override_options):
+ Remove. Update comment referring to picochip_override_options.
+ * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
+ (picochip_override_options): Rename to picochip_option_override.
+ Make static. Update comment and definition of
+ TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
+ * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
+ * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+ comment.
+ * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+ comment.
+ * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+ comment.
+ * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+ comment.
+ * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+ comment.
+ * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/rs6000/rs6000-modes.def: Update comment referring to
+ rs6000_override_options.
+ * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
+ * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
+ (rs6000_override_options): Rename to
+ rs6000_option_override_internal. Make static. Commented
+ referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
+ (rs6000_option_override): New.
+ * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update
+ comment.
+ * config/s390/s390-protos.h (override_options): Remove.
+ * config/s390/s390.c (override_options): Rename to
+ s390_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
+ * config/score/score-protos.h (score_override_options): Remove.
+ * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
+ (score_override_options): Rename to score_option_override. Make
+ static.
+ * config/score/score.h (OVERRIDE_OPTIONS): Remove.
+ Update comment referring to override_options.
+ * config/score/score3.c (score3_override_options): Rename to
+ score3_option_override.
+ * config/score/score3.h (score3_override_options): Rename to
+ score3_option_override.
+ * config/score/score7.c (score7_override_options): Rename to
+ score7_option_override.
+ * config/score/score7.h (score7_override_options): Rename to
+ score7_option_override.
+ * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
+ * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
+ (sparc_override_options): Rename to sparc_option_override. Make
+ static. Call SUBTARGET_OVERRIDE_OPTIONS.
+ * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
+ * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/spu/spu-protos.h (spu_override_options): Remove.
+ * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
+ (spu_override_options): Rename to spu_option_override. Make
+ static.
+ * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
+ * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
+ OVERRIDE_OPTIONS.
+ * config/vax/vax-protos.h (override_options): Remove.
+ * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to vax_option_override. Make static.
+ Call SUBTARGET_OVERRIDE_OPTIONS.
+ * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
+ * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
+ * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
+ * config/xtensa/xtensa-protos.h (override_options): Remove.
+ * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to xtensa_option_override. Make
+ static.
+ * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
+
2010-09-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45623
diff --git a/gcc/config/alpha/alpha-modes.def b/gcc/config/alpha/alpha-modes.def
index b75627e..9d5a042 100644
--- a/gcc/config/alpha/alpha-modes.def
+++ b/gcc/config/alpha/alpha-modes.def
@@ -1,5 +1,5 @@
/* Alpha extra machine modes.
- Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2007, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* 128-bit floating point. This gets reset in alpha_override_options
+/* 128-bit floating point. This gets reset in alpha_option_override
if VAX float format is in use. */
FLOAT_MODE (TF, 16, ieee_quad_format);
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 7e9d14b..4b5e673 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for alpha.c functions used in the md file & elsewhere.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -21,7 +21,6 @@ along with GCC; see the file COPYING3. If not see
extern int alpha_next_sequence_number;
extern void literal_section (void);
-extern void override_options (void);
extern int zap_mask (HOST_WIDE_INT);
extern int direct_return (void);
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index aec3383..4db554c 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -256,8 +256,8 @@ alpha_mangle_type (const_tree type)
/* Parse target option strings. */
-void
-override_options (void)
+static void
+alpha_option_override (void)
{
static const struct cpu_table {
const char *const name;
@@ -283,6 +283,10 @@ override_options (void)
int const ct_size = ARRAY_SIZE (cpu_table);
int i;
+#ifdef SUBTARGET_OVERRIDE_OPTIONS
+ SUBTARGET_OVERRIDE_OPTIONS;
+#endif
+
/* Unicos/Mk doesn't have shared libraries. */
if (TARGET_ABI_UNICOSMK && flag_pic)
{
@@ -11157,6 +11161,9 @@ alpha_init_libfuncs (void)
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION alpha_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE alpha_option_override
+
#ifdef TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
#undef TARGET_MANGLE_TYPE
#define TARGET_MANGLE_TYPE alpha_mangle_type
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 806f1aa..f0d8b9d 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -212,17 +212,6 @@ extern enum alpha_fp_trap_mode alpha_fptm;
{"cpu", "%{!mcpu=*:-mcpu=%(VALUE)}" }, \
{"tune", "%{!mtune=*:-mtune=%(VALUE)}" }
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- On the Alpha, it is used to translate target-option strings into
- numeric values. */
-
-#define OVERRIDE_OPTIONS override_options ()
-
/* Define this macro to change register usage conditional on target flags.
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index c0b20f8..38b2068 100644
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -1,6 +1,6 @@
/* Output variables, constants and external declarations, for GNU compiler.
Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2004, 2005, 2007, 2008,
- 2009
+ 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -337,17 +337,16 @@ typedef struct crtl_name_spec
/* The VMS convention is to always provide minimal debug info
for a traceback unless specifically overridden. */
-#undef OVERRIDE_OPTIONS
-#define OVERRIDE_OPTIONS \
-{ \
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS \
+do { \
if (write_symbols == NO_DEBUG \
&& debug_info_level == DINFO_LEVEL_NONE) \
{ \
write_symbols = VMS_DEBUG; \
debug_info_level = DINFO_LEVEL_TERSE; \
} \
- override_options (); \
-}
+} while (0)
/* Link with vms-dwarf2.o if -g (except -g0). This causes the
VMS link to pull all the dwarf2 debug sections together. */
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index c9fc51a..5550ebf 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, Argonaut ARC cpu.
- Copyright (C) 2000, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2004, 2007, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -54,7 +54,6 @@ extern int shift_operator (rtx, enum machine_mode);
extern enum arc_function_type arc_compute_function_type (tree);
-extern void arc_init (void);
extern unsigned int arc_compute_frame_size (int);
extern void arc_save_restore (FILE *, const char *, unsigned int,
unsigned int, const char *);
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 72800ca..5031b99 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -1,6 +1,6 @@
/* Subroutines used for code generation on the Argonaut ARC cpu.
Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -95,6 +95,7 @@ static bool arc_return_in_memory (const_tree, const_tree);
static bool arc_pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode,
const_tree, bool);
static void arc_trampoline_init (rtx, tree, rtx);
+static void arc_option_override (void);
/* ARC specific attributs. */
@@ -130,6 +131,9 @@ static const struct attribute_spec arc_attribute_table[] =
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION arc_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE arc_option_override
+
#undef TARGET_RTX_COSTS
#define TARGET_RTX_COSTS arc_rtx_costs
#undef TARGET_ADDRESS_COST
@@ -173,10 +177,11 @@ arc_handle_option (size_t code, const char *arg, int value ATTRIBUTE_UNUSED)
}
}
-/* Called by OVERRIDE_OPTIONS to initialize various things. */
+/* Implement TARGET_OPTION_OVERRIDE.
+ These need to be done at start up. It's convenient to do them here. */
-void
-arc_init (void)
+static void
+arc_option_override (void)
{
char *tmp;
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
index 9a4e360..f2d273dc 100644
--- a/gcc/config/arc/arc.h
+++ b/gcc/config/arc/arc.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, Argonaut ARC cpu.
Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005,
- 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -82,24 +82,9 @@ extern int arc_cpu_type;
/* Check if CPU is an extension and set `arc_cpu_type' and `arc_mangle_cpu'
appropriately. The result should be nonzero if the cpu is recognized,
otherwise zero. This is intended to be redefined in a cover file.
- This is used by arc_init. */
+ This is used by arc_handle_option. */
#define ARC_EXTENSION_CPU(cpu) 0
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-
-
-#define OVERRIDE_OPTIONS \
-do { \
- /* These need to be done at start up. It's convenient to do them here. */ \
- arc_init (); \
-} while (0)
/* Target machine storage layout. */
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index 79c11e2..1f95485 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 6f260ec..acbaee6 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 36b618a..9e7e504 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 d10d04b..61b95e3 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 aa7e197..3ceaed9 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
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index ea55a9b..aa0c661 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -22,7 +22,6 @@
extern int function_arg_regno_p (int r);
-extern void avr_override_options (void);
extern void avr_cpu_cpp_builtins (struct cpp_reader * pfile);
extern int avr_ret_register (void);
extern bool class_likely_spilled_p (int c);
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index e8d6fa3..cabf678d8 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -49,6 +49,7 @@
/* Maximal allowed offset for an address in the LD command */
#define MAX_LD_OFFSET(MODE) (64 - (signed)GET_MODE_SIZE (MODE))
+static void avr_option_override (void);
static int avr_naked_function_p (tree);
static int interrupt_function_p (tree);
static int signal_function_p (tree);
@@ -192,10 +193,13 @@ static const struct attribute_spec avr_attribute_table[] =
#undef TARGET_CAN_ELIMINATE
#define TARGET_CAN_ELIMINATE avr_can_eliminate
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE avr_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
-void
-avr_override_options (void)
+static void
+avr_option_override (void)
{
const struct mcu_type_s *t;
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index fd3cd1d..92c197a 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -124,8 +124,6 @@ extern GTY(()) section *progmem_section;
#define TARGET_VERSION fprintf (stderr, " (GNU assembler syntax)");
-#define OVERRIDE_OPTIONS avr_override_options ()
-
#define CAN_DEBUG_WITHOUT_FP
#define BITS_BIG_ENDIAN 0
diff --git a/gcc/config/bfin/bfin-protos.h b/gcc/config/bfin/bfin-protos.h
index 4a9b7a1..1e18307 100644
--- a/gcc/config/bfin/bfin-protos.h
+++ b/gcc/config/bfin/bfin-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for Blackfin functions used in the md file & elsewhere.
- Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -99,13 +99,11 @@ extern enum reg_class secondary_output_reload_class (enum reg_class, Mmode,
rtx);
extern char *section_asm_op_1 (SECT_ENUM_T);
extern char *section_asm_op (SECT_ENUM_T);
-extern void override_options (void);
extern void print_operand (FILE *, rtx, char);
extern void print_address_operand (FILE *, rtx);
extern void split_di (rtx [], int, rtx [], rtx []);
extern int split_load_immediate (rtx []);
extern void emit_pic_move (rtx *, Mmode);
-extern void override_options (void);
extern void asm_conditional_branch (rtx, rtx *, int, int);
extern rtx bfin_gen_compare (rtx, Mmode);
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index d0a1396..8ff9e2f 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -358,7 +358,7 @@ output_file_start (void)
/* Variable tracking should be run after all optimizations which change order
of insns. It also needs a valid CFG. This can't be done in
- override_options, because flag_var_tracking is finalized after
+ bfin_option_override, because flag_var_tracking is finalized after
that. */
bfin_flag_var_tracking = flag_var_tracking;
flag_var_tracking = 0;
@@ -2639,10 +2639,10 @@ bfin_init_machine_status (void)
return ggc_alloc_cleared_machine_function ();
}
-/* Implement the macro OVERRIDE_OPTIONS. */
+/* Implement the TARGET_OPTION_OVERRIDE hook. */
-void
-override_options (void)
+static void
+bfin_option_override (void)
{
/* If processor type is not specified, enable all workarounds. */
if (bfin_cpu_type == BFIN_CPU_UNKNOWN)
@@ -6626,6 +6626,9 @@ bfin_expand_builtin (tree exp, rtx target ATTRIBUTE_UNUSED,
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION bfin_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE bfin_option_override
+
#undef TARGET_DEFAULT_TARGET_FLAGS
#define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h
index e6e2aae..037e5be 100644
--- a/gcc/config/bfin/bfin.h
+++ b/gcc/config/bfin/bfin.h
@@ -276,17 +276,6 @@ extern int target_flags;
extern const char *bfin_library_id_string;
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-
-#define OVERRIDE_OPTIONS override_options ()
-
#define FUNCTION_MODE SImode
#define Pmode SImode
diff --git a/gcc/config/cris/cris-protos.h b/gcc/config/cris/cris-protos.h
index c819c79..84191c0 100644
--- a/gcc/config/cris/cris-protos.h
+++ b/gcc/config/cris/cris-protos.h
@@ -1,5 +1,5 @@
/* Definitions for GCC. Part of the machine description for CRIS.
- Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2007
+ Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
Contributed by Axis Communications.
@@ -64,8 +64,6 @@ extern void cris_pragma_expand_mul (struct cpp_reader *);
/* Need one that returns an int; usable in expressions. */
extern int cris_fatal (char *);
-extern void cris_override_options (void);
-
extern int cris_initial_elimination_offset (int, int);
extern void cris_init_expanders (void);
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index ce6b568..6e04212 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -1,6 +1,6 @@
/* Definitions for GCC. Part of the machine description for CRIS.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009 Free Software Foundation, Inc.
+ 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
@@ -130,6 +130,7 @@ static int cris_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode,
static tree cris_md_asm_clobbers (tree, tree, tree);
static bool cris_handle_option (size_t, const char *, int);
+static void cris_option_override (void);
static bool cris_frame_pointer_required (void);
@@ -208,6 +209,9 @@ int cris_cpu_version = CRIS_DEFAULT_CPU_VERSION;
#undef TARGET_FRAME_POINTER_REQUIRED
#define TARGET_FRAME_POINTER_REQUIRED cris_frame_pointer_required
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE cris_option_override
+
#undef TARGET_ASM_TRAMPOLINE_TEMPLATE
#define TARGET_ASM_TRAMPOLINE_TEMPLATE cris_asm_trampoline_template
#undef TARGET_TRAMPOLINE_INIT
@@ -2336,7 +2340,7 @@ cris_asm_output_case_end (FILE *stream, int num, rtx table)
/* TARGET_HANDLE_OPTION worker. We just store the values into local
variables here. Checks for correct semantics are in
- cris_override_options. */
+ cris_option_override. */
static bool
cris_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED,
@@ -2392,11 +2396,11 @@ cris_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED,
return true;
}
-/* The OVERRIDE_OPTIONS worker.
+/* The TARGET_OPTION_OVERRIDE worker.
As is the norm, this also parses -mfoo=bar type parameters. */
-void
-cris_override_options (void)
+static void
+cris_option_override (void)
{
if (cris_max_stackframe_str)
{
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 4c68548..b767b23 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -1,6 +1,6 @@
/* Definitions for GCC. Part of the machine description for CRIS.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
@@ -328,8 +328,6 @@ extern int target_flags;
#define CRIS_SUBTARGET_HANDLE_OPTION(x, y, z)
-#define OVERRIDE_OPTIONS cris_override_options ()
-
#define OPTIMIZATION_OPTIONS(OPTIMIZE, SIZE) \
do \
{ \
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index 976a71e..f2081fa 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -38,7 +38,6 @@ extern frv_cpu_t frv_cpu_type; /* value of -mcpu= */
/* Define functions defined in frv.c */
extern void frv_expand_prologue (void);
extern void frv_expand_epilogue (bool);
-extern void frv_override_options (void);
extern void frv_optimization_options (int, int);
extern void frv_conditional_register_usage (void);
extern frv_stack_t *frv_stack_info (void);
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 8560bc1..295610d 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -264,6 +264,7 @@ frv_cpu_t frv_cpu_type = CPU_TYPE; /* value of -mcpu= */
/* Forward references */
static bool frv_handle_option (size_t, const char *, int);
+static void frv_option_override (void);
static bool frv_legitimate_address_p (enum machine_mode, rtx, bool);
static int frv_default_flags_for_cpu (void);
static int frv_string_begins_with (const_tree, const char *);
@@ -428,6 +429,8 @@ static bool frv_class_likely_spilled_p (reg_class_t);
| MASK_NESTED_CE)
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION frv_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE frv_option_override
#undef TARGET_INIT_BUILTINS
#define TARGET_INIT_BUILTINS frv_init_builtins
#undef TARGET_EXPAND_BUILTIN
@@ -669,17 +672,10 @@ frv_default_flags_for_cpu (void)
}
}
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
+/* Implement TARGET_OPTION_OVERRIDE. */
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-
-void
-frv_override_options (void)
+static void
+frv_option_override (void)
{
int regno;
unsigned int i;
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index 75acccb..22200dc 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -328,16 +328,6 @@
#endif */
#define TARGET_VERSION fprintf (stderr, _(" (frv)"))
-/* Sometimes certain combinations of command options do not make sense on a
- particular target machine. You can define a macro `OVERRIDE_OPTIONS' to
- take account of this. This macro, if defined, is executed once just after
- all the command options have been parsed.
-
- Don't use this macro to turn on various extra optimizations for `-O'. That
- is what `OPTIMIZATION_OPTIONS' is for. */
-
-#define OVERRIDE_OPTIONS frv_override_options ()
-
/* Some machines may desire to change what optimizations are performed for
various optimization levels. This macro, if defined, is executed once just
after the optimization level is determined and before the remainder of the
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index 35023c6..7bf8ba3 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -1,6 +1,7 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 version
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009, 2010
+ Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -95,7 +96,6 @@ extern int h8300_eightbit_data_p (tree);
extern int h8300_tiny_data_p (tree);
#endif /* TREE_CODE */
-extern void h8300_init_once (void);
extern int h8300_can_use_return_insn_p (void);
extern void h8300_expand_prologue (void);
extern void h8300_expand_epilogue (void);
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index bba5e79..1400782 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -305,8 +305,8 @@ enum h8_cpu
/* Initialize various cpu specific globals at start up. */
-void
-h8300_init_once (void)
+static void
+h8300_option_override (void)
{
static const char *const h8_push_ops[2] = { "push" , "push.l" };
static const char *const h8_pop_ops[2] = { "pop" , "pop.l" };
@@ -5922,4 +5922,7 @@ h8300_trampoline_init (rtx m_tramp, tree fndecl, rtx cxt)
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT h8300_trampoline_init
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE h8300_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 4e0a3b6..79469a0 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 (generic)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -129,15 +129,6 @@ extern const char * const *h8_reg_names;
#endif
#endif /* !IN_LIBGCC2 */
-/* Do things that must be done once at start up. */
-
-#define OVERRIDE_OPTIONS \
- do \
- { \
- h8300_init_once (); \
- } \
- while (0)
-
/* Default target_flags if no switches specified. */
#ifndef TARGET_DEFAULT
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 900b424..e35a15e 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -20,7 +20,6 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Functions in i386.c */
-extern void override_options (bool);
extern void optimization_options (int, int);
extern void ix86_conditional_register_usage (void);
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 19d6387..fd731c0 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2803,17 +2803,12 @@ ix86_debug_options (void)
return;
}
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
+/* Override various settings based on options. If MAIN_ARGS_P, the
+ options are from the command line, otherwise they are from
+ attributes. */
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-
-void
-override_options (bool main_args_p)
+static void
+ix86_option_override_internal (bool main_args_p)
{
int i;
unsigned int ix86_arch_mask, ix86_tune_mask;
@@ -3709,6 +3704,14 @@ override_options (bool main_args_p)
= build_target_option_node ();
}
+/* Implement the TARGET_OPTION_OVERRIDE hook. */
+
+static void
+ix86_option_override (void)
+{
+ ix86_option_override_internal (true);
+}
+
/* Update register usage after having seen the compiler flags. */
void
@@ -4105,9 +4108,10 @@ ix86_valid_target_attribute_tree (tree args)
if (! ix86_valid_target_attribute_inner_p (args, option_strings))
return NULL_TREE;
- /* If the changed options are different from the default, rerun override_options,
- and then save the options away. The string options are are attribute options,
- and will be undone when we copy the save structure. */
+ /* If the changed options are different from the default, rerun
+ ix86_option_override_internal, and then save the options away.
+ The string options are are attribute options, and will be undone
+ when we copy the save structure. */
if (ix86_isa_flags != def->ix86_isa_flags
|| target_flags != def->target_flags
|| option_strings[IX86_FUNCTION_SPECIFIC_ARCH]
@@ -4133,7 +4137,7 @@ ix86_valid_target_attribute_tree (tree args)
ix86_fpmath_string = "sse,387";
/* Do any overrides, such as arch=xxx, or tune=xxx support. */
- override_options (false);
+ ix86_option_override_internal (false);
/* Add any builtin functions with the new isa if any. */
ix86_add_new_builtins (ix86_isa_flags);
@@ -4529,8 +4533,9 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED)
/* The default values of these switches depend on the TARGET_64BIT
that is not known at this moment. Mark these values with 2 and
- let user the to override these. In case there is no command line option
- specifying them, we will set the defaults in override_options. */
+ let user the to override these. In case there is no command line
+ option specifying them, we will set the defaults in
+ ix86_option_override_internal. */
if (optimize >= 1)
flag_omit_frame_pointer = 2;
@@ -7901,9 +7906,9 @@ ix86_frame_pointer_required (void)
if (SUBTARGET_FRAME_POINTER_REQUIRED)
return true;
- /* In override_options, TARGET_OMIT_LEAF_FRAME_POINTER turns off
- the frame pointer by default. Turn it back on now if we've not
- got a leaf function. */
+ /* In ix86_option_override_internal, TARGET_OMIT_LEAF_FRAME_POINTER
+ turns off the frame pointer by default. Turn it back on now if
+ we've not got a leaf function. */
if (TARGET_OMIT_LEAF_FRAME_POINTER
&& (!current_function_is_leaf
|| ix86_current_function_calls_tls_descriptor))
@@ -32497,6 +32502,9 @@ ix86_units_per_simd_word (enum machine_mode mode)
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION ix86_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE ix86_option_override
+
#undef TARGET_REGISTER_MOVE_COST
#define TARGET_REGISTER_MOVE_COST ix86_register_move_cost
#undef TARGET_MEMORY_MOVE_COST
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 1b735cb..8a9600c 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -506,17 +506,6 @@ extern enum calling_abi ix86_abi;
with the rounding mode forced to 53 bits. */
#define TARGET_96_ROUND_53_LONG_DOUBLE 0
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-
-#define OVERRIDE_OPTIONS override_options (true)
-
/* Define this to change the optimizations performed by default. */
#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
optimization_options ((LEVEL), (SIZE))
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
index 33b4dc9..fda73d2 100644
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -42,7 +42,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* The svr4 ABI for the i386 says that records and unions are returned
in memory. In the 64bit compilation we will turn this flag off in
- override_options, as we never do pcc_struct_return scheme on this target. */
+ ix86_option_override_internal, as we never do pcc_struct_return
+ scheme on this target. */
#undef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 1
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 17b6a47..ab01a55 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -2314,7 +2314,7 @@ ia64_file_start (void)
{
/* Variable tracking should be run after all optimizations which change order
of insns. It also needs a valid CFG. This can't be done in
- ia64_override_options, because flag_var_tracking is finalized after
+ ia64_option_override, because flag_var_tracking is finalized after
that. */
ia64_flag_var_tracking = flag_var_tracking;
flag_var_tracking = 0;
diff --git a/gcc/config/iq2000/iq2000-protos.h b/gcc/config/iq2000/iq2000-protos.h
index 56fd39e..971aadf 100644
--- a/gcc/config/iq2000/iq2000-protos.h
+++ b/gcc/config/iq2000/iq2000-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for iq2000.
- Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2007, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -24,7 +24,6 @@ extern int iq2000_check_split (rtx, enum machine_mode);
extern int iq2000_reg_mode_ok_for_base_p (rtx, enum machine_mode, int);
extern const char * iq2000_fill_delay_slot (const char *, enum delay_type, rtx *, rtx);
extern const char * iq2000_move_1word (rtx *, rtx, int);
-extern void override_options (void);
extern HOST_WIDE_INT iq2000_debugger_offset (rtx, HOST_WIDE_INT);
extern void final_prescan_insn (rtx, rtx *, int);
extern HOST_WIDE_INT compute_frame_size (HOST_WIDE_INT);
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index b152d1a..dd2c927 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Vitesse IQ2000 processors
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -147,6 +147,7 @@ static enum machine_mode gpr_mode;
/* Initialize the GCC target structure. */
static struct machine_function* iq2000_init_machine_status (void);
static bool iq2000_handle_option (size_t, const char *, int);
+static void iq2000_option_override (void);
static section *iq2000_select_rtx_section (enum machine_mode, rtx,
unsigned HOST_WIDE_INT);
static void iq2000_init_builtins (void);
@@ -182,6 +183,8 @@ static bool iq2000_print_operand_punct_valid_p (unsigned char code);
#define TARGET_ASM_SELECT_RTX_SECTION iq2000_select_rtx_section
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION iq2000_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE iq2000_option_override
#undef TARGET_RTX_COSTS
#define TARGET_RTX_COSTS iq2000_rtx_costs
#undef TARGET_ADDRESS_COST
@@ -1428,8 +1431,8 @@ iq2000_handle_option (size_t code, const char *arg, int value ATTRIBUTE_UNUSED)
/* Detect any conflicts in the switches. */
-void
-override_options (void)
+static void
+iq2000_option_override (void)
{
target_flags &= ~MASK_GPOPT;
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 683eb9b..6e670ba 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -69,8 +69,6 @@
#define TARGET_VERSION TARGET_VERSION_INTERNAL (stderr)
#endif
-#define OVERRIDE_OPTIONS override_options ()
-
#define CAN_DEBUG_WITHOUT_FP
/* Storage Layout. */
diff --git a/gcc/config/lm32/lm32-protos.h b/gcc/config/lm32/lm32-protos.h
index 70d97f0..51e191b 100644
--- a/gcc/config/lm32/lm32-protos.h
+++ b/gcc/config/lm32/lm32-protos.h
@@ -1,7 +1,7 @@
/* Prototypes of target machine functions, Lattice Mico32 architecture.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -28,7 +28,6 @@ extern void lm32_print_operand (FILE *file, rtx op, int letter);
extern void lm32_print_operand_address (FILE *file, rtx addr);
extern rtx lm32_function_arg (CUMULATIVE_ARGS cum, enum machine_mode mode,
tree type, int named);
-extern void lm32_override_options (void);
extern HOST_WIDE_INT lm32_compute_initial_elimination_offset (int from,
int to);
extern int lm32_can_use_return (void);
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index e601693..a0e9472 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -76,9 +76,12 @@ static bool
lm32_legitimate_address_p (enum machine_mode mode, rtx x, bool strict);
static HOST_WIDE_INT lm32_compute_frame_size (int size);
static bool lm32_handle_option (size_t code, const char *arg, int value);
+static void lm32_option_override (void);
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION lm32_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE lm32_option_override
#undef TARGET_ADDRESS_COST
#define TARGET_ADDRESS_COST hook_int_rtx_bool_0
#undef TARGET_RTX_COSTS
@@ -713,8 +716,8 @@ lm32_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED, int value)
}
/* Override command line options. */
-void
-lm32_override_options (void)
+static void
+lm32_option_override (void)
{
/* We must have sign-extend enabled if barrel-shift isn't. */
if (!TARGET_BARREL_SHIFT_ENABLED && !TARGET_SIGN_EXTEND_ENABLED)
diff --git a/gcc/config/lm32/lm32.h b/gcc/config/lm32/lm32.h
index 0bf3745..2698d40 100644
--- a/gcc/config/lm32/lm32.h
+++ b/gcc/config/lm32/lm32.h
@@ -68,8 +68,6 @@
#undef LIB_SPEC
#define LIB_SPEC "%{!T*:-T sim.ld}"
-#define OVERRIDE_OPTIONS lm32_override_options()
-
extern int target_flags;
/* Add -G xx support. */
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index b1175df..93030ad 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -63,6 +63,7 @@ enum m32r_sdata m32r_sdata = M32R_SDATA_DEFAULT;
/* Forward declaration. */
static bool m32r_handle_option (size_t, const char *, int);
+static void m32r_option_override (void);
static void init_reg_tables (void);
static void block_move_call (rtx, rtx, rtx);
static int m32r_is_insn (rtx);
@@ -150,6 +151,8 @@ static const struct attribute_spec m32r_attribute_table[] =
#define TARGET_DEFAULT_TARGET_FLAGS TARGET_CPU_DEFAULT
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION m32r_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE m32r_option_override
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO m32r_encode_section_info
@@ -251,7 +254,7 @@ m32r_handle_option (size_t code, const char *arg, int value)
}
}
-/* Called by OVERRIDE_OPTIONS to initialize various things. */
+/* Called by m32r_option_override to initialize various things. */
void
m32r_init (void)
@@ -268,6 +271,15 @@ m32r_init (void)
g_switch_value = SDATA_DEFAULT_SIZE;
}
+static void
+m32r_option_override (void)
+{
+ /* These need to be done at start up.
+ It's convenient to do them here. */
+ m32r_init ();
+ SUBTARGET_OVERRIDE_OPTIONS;
+}
+
/* Vectors to keep interesting information about registers where it can easily
be got. We use to use the actual mode value as the bit number, but there
is (or may be) more than 32 modes now. Instead we use two tables: one
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 9aa354a..ee867bf 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -302,29 +302,10 @@ extern enum m32r_sdata m32r_sdata;
#define MULTILIB_DEFAULTS { "mmodel=small" SUBTARGET_MULTILIB_DEFAULTS }
#endif
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-
#ifndef SUBTARGET_OVERRIDE_OPTIONS
#define SUBTARGET_OVERRIDE_OPTIONS
#endif
-#define OVERRIDE_OPTIONS \
- do \
- { \
- /* These need to be done at start up. \
- It's convenient to do them here. */ \
- m32r_init (); \
- SUBTARGET_OVERRIDE_OPTIONS \
- } \
- while (0)
-
#ifndef SUBTARGET_OPTIMIZATION_OPTIONS
#define SUBTARGET_OPTIMIZATION_OPTIONS
#endif
diff --git a/gcc/config/m68hc11/m68hc11-protos.h b/gcc/config/m68hc11/m68hc11-protos.h
index d8ae8e0..a0c4941 100644
--- a/gcc/config/m68hc11/m68hc11-protos.h
+++ b/gcc/config/m68hc11/m68hc11-protos.h
@@ -20,7 +20,6 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-extern int m68hc11_override_options (void);
extern int m68hc11_optimization_options (int,int);
extern void m68hc11_conditional_register_usage (void);
extern int hard_regno_mode_ok (int, enum machine_mode);
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c
index 2056375..ea60db6 100644
--- a/gcc/config/m68hc11/m68hc11.c
+++ b/gcc/config/m68hc11/m68hc11.c
@@ -61,6 +61,7 @@ Note:
#include "target-def.h"
#include "df.h"
+static void m68hc11_option_override (void);
static void emit_move_after_reload (rtx, rtx, rtx);
static rtx simplify_logical (enum machine_mode, int, rtx, rtx *);
static void m68hc11_emit_logical (enum machine_mode, enum rtx_code, rtx *);
@@ -293,10 +294,13 @@ static const struct attribute_spec m68hc11_attribute_table[] =
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT m68hc11_trampoline_init
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE m68hc11_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
-int
-m68hc11_override_options (void)
+static void
+m68hc11_option_override (void)
{
memset (m68hc11_reg_valid_for_index, 0,
sizeof (m68hc11_reg_valid_for_index));
@@ -361,7 +365,6 @@ m68hc11_override_options (void)
if (TARGET_LONG_CALLS)
current_function_far = 1;
}
- return 0;
}
diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h
index 2ea80a7..f19180d 100644
--- a/gcc/config/m68hc11/m68hc11.h
+++ b/gcc/config/m68hc11/m68hc11.h
@@ -142,17 +142,6 @@ extern short *reg_renumber; /* def in local_alloc.c */
/* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION fprintf (stderr, " (MC68HC11/MC68HC12/MC68HCS12)")
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-
-#define OVERRIDE_OPTIONS m68hc11_override_options ()
-
/* Define cost parameters for a given processor variant. */
struct processor_costs {
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index 08f8a91..ad02026 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Sun 68000/68020 version.
- Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008
+ Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -94,7 +94,6 @@ extern int flags_in_68881 (void);
extern void m68k_expand_prologue (void);
extern bool m68k_use_return_insn (void);
extern void m68k_expand_epilogue (bool);
-extern void override_options (void);
extern const char *m68k_cpp_cpu_ident (const char *);
extern const char *m68k_cpp_cpu_family (const char *);
extern void init_68881_table (void);
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index d903246..09b7ccb 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -135,6 +135,7 @@ static int m68k_sched_first_cycle_multipass_dfa_lookahead (void);
static bool m68k_can_eliminate (const int, const int);
static bool m68k_legitimate_address_p (enum machine_mode, rtx, bool);
static bool m68k_handle_option (size_t, const char *, int);
+static void m68k_option_override (void);
static rtx find_addr_reg (rtx);
static const char *singlemove_string (rtx *);
static void m68k_output_mi_thunk (FILE *, tree, HOST_WIDE_INT,
@@ -233,6 +234,9 @@ const char *m68k_library_id_string = "_current_shared_library_a5_offset_";
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION m68k_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE m68k_option_override
+
#undef TARGET_RTX_COSTS
#define TARGET_RTX_COSTS m68k_rtx_costs
@@ -539,17 +543,10 @@ m68k_handle_option (size_t code, const char *arg, int value)
}
}
-/* Sometimes certain combinations of command options do not make
- sense on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- Don't use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
+/* Implement TARGET_OPTION_OVERRIDE. */
-void
-override_options (void)
+static void
+m68k_option_override (void)
{
const struct m68k_target_selection *entry;
unsigned long target_mask;
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index ac47861..75217ba 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC for Motorola 680x0/ColdFire.
Copyright (C) 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -274,8 +274,6 @@ along with GCC; see the file COPYING3. If not see
#define TUNE_MAC ((m68k_tune_flags & FL_CF_MAC) != 0)
#define TUNE_EMAC ((m68k_tune_flags & FL_CF_EMAC) != 0)
-#define OVERRIDE_OPTIONS override_options()
-
/* These are meant to be redefined in the host dependent files */
#define SUBTARGET_OVERRIDE_OPTIONS
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index 9be7323..2093f16 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in mcore.c
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009, 2010
Free Software Foundation, Inc.
Contributed by Nick Clifton (nickc@redhat.com)
@@ -29,7 +29,6 @@ extern int mcore_initial_elimination_offset (int, int);
extern int mcore_byte_offset (unsigned int);
extern int mcore_halfword_offset (unsigned int);
extern int mcore_const_trick_uses_not (HOST_WIDE_INT);
-extern void mcore_override_options (void);
extern int mcore_dllexport_name_p (const char *);
extern int mcore_dllimport_name_p (const char *);
extern int mcore_naked_function_p (void);
diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c
index 6888693..5556d7d 100644
--- a/gcc/config/mcore/mcore.c
+++ b/gcc/config/mcore/mcore.c
@@ -1,6 +1,6 @@
/* Output routines for Motorola MCore processor
Copyright (C) 1993, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -149,6 +149,7 @@ static int mcore_arg_partial_bytes (CUMULATIVE_ARGS *,
tree, bool);
static void mcore_asm_trampoline_template (FILE *);
static void mcore_trampoline_init (rtx, tree, rtx);
+static void mcore_option_override (void);
/* MCore specific attributes. */
@@ -225,6 +226,9 @@ static const struct attribute_spec mcore_attribute_table[] =
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT mcore_trampoline_init
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE mcore_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
/* Adjust the stack and return the number of bytes taken to do it. */
@@ -2679,8 +2683,8 @@ mcore_is_same_reg (rtx x, rtx y)
return 0;
}
-void
-mcore_override_options (void)
+static void
+mcore_option_override (void)
{
/* Only the m340 supports little endian code. */
if (TARGET_LITTLE_END && ! TARGET_M340)
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 7421d5d..d703baf 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for Motorola M*CORE Processor.
Copyright (C) 1993, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
- 2008, 2009 Free Software Foundation, Inc.
+ 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -110,11 +110,6 @@ extern char * mcore_current_function_name;
} \
}
-/* What options are we going to force to specific settings,
- regardless of what the user thought he wanted.
- We also use this for some post-processing of options. */
-#define OVERRIDE_OPTIONS mcore_override_options ()
-
/* Target machine storage Layout. */
#define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE) \
diff --git a/gcc/config/mep/mep-protos.h b/gcc/config/mep/mep-protos.h
index ed8facd..d3e21bd 100644
--- a/gcc/config/mep/mep-protos.h
+++ b/gcc/config/mep/mep-protos.h
@@ -21,7 +21,6 @@ along with GCC; see the file COPYING3. If not see
extern void mep_conditional_register_usage (void);
extern void mep_optimization_options (void);
-extern void mep_override_options (void);
extern int mep_regno_reg_class (int);
extern int mep_reg_class_from_constraint (int, const char *);
extern bool mep_const_ok_for_letter_p (HOST_WIDE_INT, int);
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 7fdb538..0e6ce08 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -302,8 +302,8 @@ mep_optimization_options (void)
flag_omit_frame_pointer = 1;
}
-void
-mep_override_options (void)
+static void
+mep_option_override (void)
{
if (flag_pic == 1)
warning (OPT_fpic, "-fpic is not supported");
@@ -7409,6 +7409,8 @@ mep_asm_init_sections (void)
#define TARGET_VECTOR_MODE_SUPPORTED_P mep_vector_mode_supported_p
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION mep_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE mep_option_override
#undef TARGET_DEFAULT_TARGET_FLAGS
#define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
#undef TARGET_ALLOCATE_INITIAL_VALUE
diff --git a/gcc/config/mep/mep.h b/gcc/config/mep/mep.h
index 2ac0faf..83a5582 100644
--- a/gcc/config/mep/mep.h
+++ b/gcc/config/mep/mep.h
@@ -134,8 +134,6 @@ extern int target_flags;
#define TARGET_VERSION fprintf (stderr, " (Toshiba Media Processor (MeP))");
-#define OVERRIDE_OPTIONS mep_override_options ();
-
/* The MeP config tool will add TARGET_OPTION_TRANSLATE_TABLE here. */
#define TARGET_OPTION_TRANSLATE_TABLE \
{"-mall-opts", "-maverage -mmult -mdiv -mbitops -mleadz \
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9918fa8..d7e0a94 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -19,7 +19,6 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-extern void mmix_override_options (void);
extern void mmix_init_expanders (void);
extern int mmix_eh_return_data_regno (int);
extern int mmix_initial_elimination_offset (int, int);
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index 8ed8b17..ce10a1b 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -113,6 +113,7 @@ rtx mmix_compare_op1;
/* Intermediate for insn output. */
static int mmix_output_destination_register;
+static void mmix_option_override (void);
static void mmix_asm_output_source_filename (FILE *, const char *);
static void mmix_output_shiftvalue_op_from_str
(FILE *, const char *, HOST_WIDEST_INT);
@@ -233,15 +234,18 @@ static void mmix_trampoline_init (rtx, tree, rtx);
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT mmix_trampoline_init
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE mmix_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
/* Functions that are expansions for target macros.
See Target Macros in `Using and Porting GCC'. */
-/* OVERRIDE_OPTIONS. */
+/* TARGET_OPTION_OVERRIDE. */
-void
-mmix_override_options (void)
+static void
+mmix_option_override (void)
{
/* Should we err or should we warn? Hmm. At least we must neutralize
it. For example the wrong kind of case-tables will be generated with
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 2644735..5672827 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -149,8 +149,6 @@ extern int target_flags;
#define TARGET_VERSION \
fprintf (stderr, " (MMIX)")
-#define OVERRIDE_OPTIONS mmix_override_options ()
-
#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
do \
{ \
diff --git a/gcc/config/mn10300/mn10300-protos.h b/gcc/config/mn10300/mn10300-protos.h
index 47488c9..02a7942 100644
--- a/gcc/config/mn10300/mn10300-protos.h
+++ b/gcc/config/mn10300/mn10300-protos.h
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler. Matsushita MN10300 series
- Copyright (C) 2000, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010
+ Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
@@ -20,7 +21,6 @@ along with GCC; see the file COPYING3. If not see
#ifdef RTX_CODE
-extern void mn10300_override_options (void);
extern rtx legitimize_pic_address (rtx, rtx);
extern int legitimate_pic_operand_p (rtx);
extern void print_operand (FILE *, rtx, int);
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index b55ca37..fe03742 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -69,6 +69,7 @@ enum processor_type mn10300_processor = PROCESSOR_DEFAULT;
static bool mn10300_handle_option (size_t, const char *, int);
+static void mn10300_option_override (void);
static bool mn10300_legitimate_address_p (enum machine_mode, rtx, bool);
static int mn10300_address_cost_1 (rtx, int *);
static int mn10300_address_cost (rtx, bool);
@@ -112,6 +113,8 @@ static bool mn10300_can_output_mi_thunk (const_tree, HOST_WIDE_INT, HOST_WIDE_IN
#define TARGET_DEFAULT_TARGET_FLAGS MASK_MULT_BUG | MASK_PTR_A0D0
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION mn10300_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE mn10300_option_override
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO mn10300_encode_section_info
@@ -177,10 +180,10 @@ mn10300_handle_option (size_t code,
}
}
-/* Implement OVERRIDE_OPTIONS. */
+/* Implement TARGET_OPTION_OVERRIDE. */
-void
-mn10300_override_options (void)
+static void
+mn10300_option_override (void)
{
if (TARGET_AM33)
target_flags &= ~MASK_MULT_BUG;
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 1700f1a..56e2bc8 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -60,8 +60,6 @@ extern enum processor_type mn10300_processor;
#define PROCESSOR_DEFAULT PROCESSOR_MN10300
#endif
-#define OVERRIDE_OPTIONS mn10300_override_options ()
-
/* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION fprintf (stderr, " (MN10300)");
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index 471fd99..3c1027b 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -18,7 +18,6 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-extern void moxie_override_options (void);
extern void moxie_expand_prologue (void);
extern void moxie_expand_epilogue (void);
extern int moxie_initial_elimination_offset (int, int);
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index 512582e..cd2fb88 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -231,10 +231,10 @@ moxie_init_machine_status (void)
}
-/* The OVERRIDE_OPTIONS worker.
+/* The TARGET_OPTION_OVERRIDE worker.
All this curently does is set init_machine_status. */
-void
-moxie_override_options (void)
+static void
+moxie_option_override (void)
{
/* Set the per-function-data initializer. */
init_machine_status = moxie_init_machine_status;
@@ -567,6 +567,9 @@ moxie_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT moxie_trampoline_init
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE moxie_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
#include "gt-moxie.h"
diff --git a/gcc/config/moxie/moxie.h b/gcc/config/moxie/moxie.h
index 0a53b6b..1445202 100644
--- a/gcc/config/moxie/moxie.h
+++ b/gcc/config/moxie/moxie.h
@@ -303,8 +303,6 @@ enum reg_class
pointer registers are already assumed to be used as needed. */
#define EPILOGUE_USES(R) (R == MOXIE_R5)
-#define OVERRIDE_OPTIONS moxie_override_options ()
-
/* Storage Layout */
#define BITS_BIG_ENDIAN 0
diff --git a/gcc/config/picochip/picochip-protos.h b/gcc/config/picochip/picochip-protos.h
index 268b805..c80bf70 100644
--- a/gcc/config/picochip/picochip-protos.h
+++ b/gcc/config/picochip/picochip-protos.h
@@ -1,6 +1,6 @@
/* Prototypes for exported functions defined in picochip.c
- Copyright (C) 2000, 2001, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by picoChip Designs Ltd. (http://www.picochip.com)
Maintained by Daniel Towner (daniel.towner@picochip.com) and
Hariharan Sandanagobalane (hariharan@picochip.com).
@@ -91,7 +91,6 @@ extern void picochip_expand_epilogue (int is_sibling_call);
extern void picochip_final_prescan_insn (rtx insn, rtx * operand, int num_operands);
extern const char *picochip_asm_output_opcode (FILE * f, const char *ptr);
-extern void picochip_override_options (void);
extern int picochip_check_conditional_copy (rtx * operands);
@@ -138,7 +137,7 @@ extern int picochip_flag_schedule_insns2;
extern void picochip_asm_output_anchor (rtx symbol);
/* Instruction set capability flags. These are initialised to the
- appropriate values by picochip_override_options, once the user has
+ appropriate values by picochip_option_override, once the user has
selected a CPU type. */
extern bool picochip_has_mul_unit;
extern bool picochip_has_mac_unit;
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index 6ae64e6..9bd2382 100644
--- a/gcc/config/picochip/picochip.c
+++ b/gcc/config/picochip/picochip.c
@@ -117,6 +117,8 @@ picochip_asm_named_section (const char *name,
static rtx picochip_static_chain (const_tree, bool);
+static void picochip_option_override (void);
+
/* Lookup table mapping a register number to the earliest containing
class. Used by REGNO_REG_CLASS. */
const enum reg_class picochip_regno_reg_class[FIRST_PSEUDO_REGISTER] =
@@ -301,8 +303,11 @@ static char picochip_get_vliw_alu_id (void);
#undef TARGET_STATIC_CHAIN
#define TARGET_STATIC_CHAIN picochip_static_chain
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE picochip_option_override
+
#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
-#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE picochip_override_options
+#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE picochip_option_override
struct gcc_target targetm = TARGET_INITIALIZER;
@@ -317,9 +322,13 @@ picochip_return_in_memory(const_tree type, const_tree fntype ATTRIBUTE_UNUSED)
return ((unsigned HOST_WIDE_INT) int_size_in_bytes (type) > 4);
}
-/* Allow certain command options to be overriden. */
-void
-picochip_override_options (void)
+/* Allow some options to be overriden. In particular, the 2nd
+ scheduling pass option is switched off, and a machine dependent
+ reorganisation ensures that it is run later on, after the second
+ jump optimisation. */
+
+static void
+picochip_option_override (void)
{
/* If we are optimizing for stack, dont let inliner to inline functions
that could potentially increase stack size.*/
@@ -1760,7 +1769,7 @@ picochip_asm_file_start (void)
/* Variable tracking should be run after all optimizations which change order
of insns. It also needs a valid CFG. This can't be done in
- picochip_override_options, because flag_var_tracking is finalized after
+ picochip_option_override, because flag_var_tracking is finalized after
that. */
picochip_flag_var_tracking = flag_var_tracking;
flag_var_tracking = 0;
diff --git a/gcc/config/picochip/picochip.h b/gcc/config/picochip/picochip.h
index b4aec72..cf81f59 100644
--- a/gcc/config/picochip/picochip.h
+++ b/gcc/config/picochip/picochip.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for picoChip
- Copyright (C) 2001, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by picoChip Designs Ltd. (http://www.picochip.com)
Maintained by Daniel Towner (daniel.towner@picochip.com) and
@@ -84,12 +84,6 @@ extern enum picochip_dfa_type picochip_schedule_type;
#define TARGET_HAS_MAC_UNIT (picochip_has_mac_unit)
#define TARGET_HAS_MULTIPLY (picochip_has_mac_unit || picochip_has_mul_unit)
-/* Allow some options to be overriden. In particular, the 2nd
- scheduling pass option is switched off, and a machine dependent
- reorganisation ensures that it is run later on, after the second
- jump optimisation. */
-#define OVERRIDE_OPTIONS picochip_override_options()
-
#define CAN_DEBUG_WITHOUT_FP 1
#define TARGET_VERSION fprintf(stderr, "(picoChip)");
diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h
index bbe2337..8e285de 100644
--- a/gcc/config/rs6000/aix43.h
+++ b/gcc/config/rs6000/aix43.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX version 4.3.
Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
- 2007 Free Software Foundation, Inc.
+ 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
@@ -20,14 +20,8 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
- get control. */
+/* The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control in TARGET_OPTION_OVERRIDE. */
#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
#define SUBTARGET_OVERRIDE_OPTIONS \
diff --git a/gcc/config/rs6000/aix51.h b/gcc/config/rs6000/aix51.h
index 32bdbb4..90d504f 100644
--- a/gcc/config/rs6000/aix51.h
+++ b/gcc/config/rs6000/aix51.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.
- Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008
+ Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
@@ -20,14 +20,8 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
- get control. */
+/* The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control in TARGET_OPTION_OVERRIDE. */
#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
#define SUBTARGET_OVERRIDE_OPTIONS \
diff --git a/gcc/config/rs6000/aix52.h b/gcc/config/rs6000/aix52.h
index 8d6c241..a0fa218 100644
--- a/gcc/config/rs6000/aix52.h
+++ b/gcc/config/rs6000/aix52.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.2.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
@@ -20,14 +20,8 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
- get control. */
+/* The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control in TARGET_OPTION_OVERRIDE. */
#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
#define SUBTARGET_OVERRIDE_OPTIONS \
diff --git a/gcc/config/rs6000/aix53.h b/gcc/config/rs6000/aix53.h
index b7b1eec..381e0d6 100644
--- a/gcc/config/rs6000/aix53.h
+++ b/gcc/config/rs6000/aix53.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.3.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
@@ -20,14 +20,8 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
- get control. */
+/* The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control in TARGET_OPTION_OVERRIDE. */
#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
#define SUBTARGET_OVERRIDE_OPTIONS \
diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h
index 048486b..4f949cf 100644
--- a/gcc/config/rs6000/aix61.h
+++ b/gcc/config/rs6000/aix61.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V6.1.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
@@ -20,14 +20,8 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
- get control. */
+/* The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control in TARGET_OPTION_OVERRIDE. */
#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
#define SUBTARGET_OVERRIDE_OPTIONS \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index faf9e2f..62eed2e 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -162,10 +162,10 @@ extern enum rs6000_cmodel cmodel;
#ifdef RS6000_BI_ARCH
-#undef OVERRIDE_OPTIONS
-#define OVERRIDE_OPTIONS \
- rs6000_override_options (((TARGET_DEFAULT ^ target_flags) & MASK_64BIT) \
- ? (char *) 0 : TARGET_CPU_DEFAULT)
+#undef OPTION_TARGET_CPU_DEFAULT
+#define OPTION_TARGET_CPU_DEFAULT \
+ (((TARGET_DEFAULT ^ target_flags) & MASK_64BIT) \
+ ? (char *) 0 : TARGET_CPU_DEFAULT)
#endif
diff --git a/gcc/config/rs6000/rs6000-modes.def b/gcc/config/rs6000/rs6000-modes.def
index 2167946..724c947 100644
--- a/gcc/config/rs6000/rs6000-modes.def
+++ b/gcc/config/rs6000/rs6000-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
- Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2007, 2010 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
@@ -19,7 +19,7 @@
<http://www.gnu.org/licenses/>. */
/* 128-bit floating point. ABI_V4 uses IEEE quad, AIX/Darwin
- adjust this in rs6000_override_options. */
+ adjust this in rs6000_option_override_internal. */
FLOAT_MODE (TF, 16, ieee_quad_format);
/* Add any extra modes needed to represent the condition code.
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 0d26511..38dc693 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -154,7 +154,6 @@ extern enum direction function_arg_padding (enum machine_mode, const_tree);
#endif /* TREE_CODE */
extern void optimization_options (int, int);
-extern void rs6000_override_options (const char *);
extern int direct_return (void);
extern int first_reg_to_save (void);
extern int first_fp_reg_to_save (void);
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index f557dba..0d95b39 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1134,6 +1134,7 @@ static rtx altivec_expand_vec_init_builtin (tree, tree, rtx);
static rtx altivec_expand_vec_set_builtin (tree);
static rtx altivec_expand_vec_ext_builtin (tree, rtx);
static int get_element_number (tree, tree);
+static void rs6000_option_override (void);
static bool rs6000_handle_option (size_t, const char *, int);
static void rs6000_parse_tls_size_option (void);
static void rs6000_parse_yes_no_option (const char *, const char *, int *);
@@ -1592,6 +1593,9 @@ static const struct attribute_spec rs6000_attribute_table[] =
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION rs6000_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE rs6000_option_override
+
#undef TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION
#define TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION \
rs6000_builtin_vectorized_function
@@ -2397,8 +2401,8 @@ darwin_rs6000_override_options (void)
/* Override command line options. Mostly we process the processor
type and sometimes adjust other TARGET_ options. */
-void
-rs6000_override_options (const char *default_cpu)
+static void
+rs6000_option_override_internal (const char *default_cpu)
{
size_t i, j;
struct rs6000_cpu_select *ptr;
@@ -3230,6 +3234,15 @@ rs6000_override_options (const char *default_cpu)
rs6000_init_hard_regno_mode_ok ();
}
+/* Implement TARGET_OPTION_OVERRIDE. On the RS/6000 this is used to
+ define the target cpu type. */
+
+static void
+rs6000_option_override (void)
+{
+ rs6000_option_override_internal (OPTION_TARGET_CPU_DEFAULT);
+}
+
/* Implement targetm.vectorize.builtin_mask_for_load. */
static tree
rs6000_builtin_mask_for_load (void)
@@ -7558,7 +7571,7 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
controls this instead of DEFAULT_ABI; V.4 targets needing backward
compatibility can change DRAFT_V4_STRUCT_RET to override the
default, and -m switches get the final word. See
- rs6000_override_options for more details.
+ rs6000_option_override_internal for more details.
The PPC32 SVR4 ABI uses IEEE double extended for long double, if 128-bit
long double support is enabled. These values are returned in memory.
@@ -21969,7 +21982,7 @@ output_toc (FILE *file, rtx x, int labelno, enum machine_mode mode)
struct toc_hash_struct *h;
void * * found;
- /* Create toc_hash_table. This can't be done at OVERRIDE_OPTIONS
+ /* Create toc_hash_table. This can't be done at TARGET_OPTION_OVERRIDE
time because GGC is not initialized at that point. */
if (toc_hash_table == NULL)
toc_hash_table = htab_create_ggc (1021, toc_hash_function,
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 5b0e4c7..1c2c391 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -619,18 +619,8 @@ extern unsigned char rs6000_recip_bits[];
#define RS6000_RECIP_HIGH_PRECISION_P(MODE) \
((MODE) == SFmode || (MODE) == V4SFmode || TARGET_RECIP_PRECISION)
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- Do not use this macro to turn on various extra optimizations for
- `-O'. That is what `OPTIMIZATION_OPTIONS' is for.
-
- On the RS/6000 this is used to define the target cpu type. */
-
-#define OVERRIDE_OPTIONS rs6000_override_options (TARGET_CPU_DEFAULT)
+/* The default CPU for TARGET_OPTION_OVERRIDE. */
+#define OPTION_TARGET_CPU_DEFAULT TARGET_CPU_DEFAULT
/* Define this to change the optimizations performed by default. */
#define OPTIMIZATION_OPTIONS(LEVEL,SIZE) optimization_options(LEVEL,SIZE)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index b9db247..69e9e82 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -76,14 +76,8 @@ extern const char *rs6000_tls_size_string; /* For -mtls-size= */
#define SDATA_DEFAULT_SIZE 8
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- `OVERRIDE_OPTIONS' to take account of this. This macro, if
- defined, is executed once just after all the command options have
- been parsed.
-
- The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
- get control. */
+/* The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control in TARGET_OPTION_OVERRIDE. */
#define SUBTARGET_OVERRIDE_OPTIONS \
do { \
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index 8a2f1b7..d3e5ec7 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390.
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2009
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com)
@@ -35,7 +35,6 @@ extern bool s390_check_symref_alignment (rtx addr, HOST_WIDE_INT alignment);
/* Declare functions in s390.c. */
extern void optimization_options (int, int);
-extern void override_options (void);
extern HOST_WIDE_INT s390_initial_elimination_offset (int, int);
extern void s390_emit_prologue (void);
extern void s390_emit_epilogue (bool);
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index ee17153..e07b1d6 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -1555,8 +1555,8 @@ s390_handle_option (size_t code, const char *arg, int value ATTRIBUTE_UNUSED)
}
}
-void
-override_options (void)
+static void
+s390_option_override (void)
{
/* Set up function hooks. */
init_machine_status = s390_init_machine_status;
@@ -10423,6 +10423,9 @@ s390_loop_unroll_adjust (unsigned nunroll, struct loop *loop)
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION s390_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE s390_option_override
+
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO s390_encode_section_info
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index cbe2899..8f5a3a0 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
@@ -149,9 +149,8 @@ extern int s390_arch_flags;
#define TARGET_VERSION fprintf (stderr, " (S/390)");
#endif
-/* Hooks to override options. */
+/* Hook to override options. */
#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) optimization_options(LEVEL, SIZE)
-#define OVERRIDE_OPTIONS override_options ()
/* Frame pointer is not used for debugging. */
#define CAN_DEBUG_WITHOUT_FP
diff --git a/gcc/config/score/score-protos.h b/gcc/config/score/score-protos.h
index d42ec14e..70daf74 100644
--- a/gcc/config/score/score-protos.h
+++ b/gcc/config/score/score-protos.h
@@ -1,5 +1,5 @@
/* score-protos.h for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -59,7 +59,6 @@ extern void score_init_cumulative_args (CUMULATIVE_ARGS *cum,
extern void score_declare_object (FILE *stream, const char *name,
const char *directive, const char *fmt, ...);
extern int score_output_external (FILE *file, tree decl, const char *name);
-extern void score_override_options (void);
extern enum reg_class score_secondary_reload_class (enum reg_class rclass,
enum machine_mode mode,
rtx x);
diff --git a/gcc/config/score/score.c b/gcc/config/score/score.c
index e7e5600..f2b2215 100644
--- a/gcc/config/score/score.c
+++ b/gcc/config/score/score.c
@@ -51,6 +51,8 @@
#include "score3.h"
#include "df.h"
+static void score_option_override (void);
+
#undef TARGET_ASM_FILE_START
#define TARGET_ASM_FILE_START score_asm_file_start
@@ -67,6 +69,8 @@
#define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION score_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE score_option_override
#undef TARGET_LEGITIMIZE_ADDRESS
#define TARGET_LEGITIMIZE_ADDRESS score_legitimize_address
@@ -351,16 +355,16 @@ score_handle_option (size_t code, const char *arg, int value)
}
}
-/* Implement OVERRIDE_OPTIONS macro. */
-void
-score_override_options (void)
+/* Implement TARGET_OPTION_OVERRIDE hook. */
+static void
+score_option_override (void)
{
if (TARGET_SCORE5 || TARGET_SCORE5U || TARGET_SCORE7 || TARGET_SCORE7D)
- return score7_override_options ();
+ return score7_option_override ();
else if (TARGET_SCORE3)
- return score3_override_options ();
+ return score3_option_override ();
- return score7_override_options ();
+ return score7_option_override ();
}
/* Implement REGNO_REG_CLASS macro. */
diff --git a/gcc/config/score/score.h b/gcc/config/score/score.h
index 98ca0a3..621f56e 100644
--- a/gcc/config/score/score.h
+++ b/gcc/config/score/score.h
@@ -1,5 +1,5 @@
/* score.h for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Sunnorth.
This file is part of GCC.
@@ -98,8 +98,6 @@
#define TARGET_VERSION \
fprintf (stderr, "Sunplus S+core rev=%s", SCORE_GCC_VERSION);
-#define OVERRIDE_OPTIONS score_override_options ()
-
/* Show we can debug even without a frame pointer. */
#define CAN_DEBUG_WITHOUT_FP
@@ -235,7 +233,7 @@
Regarding coprocessor registers: without evidence to the contrary,
it's best to assume that each coprocessor register has a unique
- use. This can be overridden, in, e.g., override_options() or
+ use. This can be overridden, in, e.g., TARGET_OPTION_OVERRIDE or
CONDITIONAL_REGISTER_USAGE should the assumption be inappropriate
for a particular target. */
diff --git a/gcc/config/score/score3.c b/gcc/config/score/score3.c
index cf33431..d4b171e 100644
--- a/gcc/config/score/score3.c
+++ b/gcc/config/score/score3.c
@@ -1,5 +1,5 @@
/* score3.c for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Sunnorth
This file is part of GCC.
@@ -635,9 +635,9 @@ score3_asm_file_end (void)
}
}
-/* Implement OVERRIDE_OPTIONS macro. */
+/* Implement TARGET_OPTION_OVERRIDE hook. */
void
-score3_override_options (void)
+score3_option_override (void)
{
flag_pic = false;
if (!flag_pic)
diff --git a/gcc/config/score/score3.h b/gcc/config/score/score3.h
index 4e545fc..eea4603 100644
--- a/gcc/config/score/score3.h
+++ b/gcc/config/score/score3.h
@@ -1,5 +1,5 @@
/* score3.h for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Sunnorth
This file is part of GCC.
@@ -90,7 +90,7 @@ extern section *score3_select_rtx_section (enum machine_mode mode, rtx x,
extern bool score3_in_small_data_p (tree decl);
extern void score3_asm_file_start (void);
extern void score3_asm_file_end (void);
-extern void score3_override_options (void);
+extern void score3_option_override (void);
extern int score3_reg_class (int regno);
extern enum reg_class score3_preferred_reload_class (rtx x ATTRIBUTE_UNUSED,
enum reg_class rclass);
diff --git a/gcc/config/score/score7.c b/gcc/config/score/score7.c
index d3cd1c5..f1c8623 100644
--- a/gcc/config/score/score7.c
+++ b/gcc/config/score/score7.c
@@ -1,5 +1,5 @@
/* score7.c for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Sunnorth
This file is part of GCC.
@@ -634,9 +634,9 @@ score7_asm_file_end (void)
}
}
-/* Implement OVERRIDE_OPTIONS macro. */
+/* Implement TARGET_OPTION_OVERRIDE hook. */
void
-score7_override_options (void)
+score7_option_override (void)
{
flag_pic = false;
if (!flag_pic)
diff --git a/gcc/config/score/score7.h b/gcc/config/score/score7.h
index 0931a2b..b6d2a5b 100644
--- a/gcc/config/score/score7.h
+++ b/gcc/config/score/score7.h
@@ -1,5 +1,5 @@
/* score7.h for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Sunnorth
This file is part of GCC.
@@ -90,7 +90,7 @@ extern section *score7_select_rtx_section (enum machine_mode mode, rtx x,
extern bool score7_in_small_data_p (tree decl);
extern void score7_asm_file_start (void);
extern void score7_asm_file_end (void);
-extern void score7_override_options (void);
+extern void score7_option_override (void);
extern int score7_reg_class (int regno);
extern enum reg_class score7_preferred_reload_class (rtx x ATTRIBUTE_UNUSED,
enum reg_class rclass);
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index aa31c27..d521437 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -331,7 +331,7 @@ static const struct attribute_spec sh_attribute_table[] =
#undef TARGET_ASM_UNALIGNED_SI_OP
#define TARGET_ASM_UNALIGNED_SI_OP "\t.ualong\t"
-/* These are NULLed out on non-SH5 in OVERRIDE_OPTIONS. */
+/* These are NULLed out on non-SH5 in TARGET_OPTION_OVERRIDE. */
#undef TARGET_ASM_UNALIGNED_DI_OP
#define TARGET_ASM_UNALIGNED_DI_OP "\t.uaquad\t"
#undef TARGET_ASM_ALIGNED_DI_OP
@@ -720,7 +720,7 @@ sh_optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED)
target_flags |= MASK_SAVE_ALL_TARGET_REGS;
}
/* Likewise, we can't meaningfully test TARGET_SH2E / TARGET_IEEE
- here, so leave it to OVERRIDE_OPTIONS to set
+ here, so leave it to TARGET_OPTION_OVERRIDE to set
flag_finite_math_only. We set it to 2 here so we know if the user
explicitly requested this to be on or off. */
flag_finite_math_only = 2;
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index f9d4a90..36c6053 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -349,6 +349,7 @@ static HOST_WIDE_INT frame_base_offset;
int sparc_indent_opcode = 0;
static bool sparc_handle_option (size_t, const char *, int);
+static void sparc_option_override (void);
static void sparc_init_modes (void);
static void scan_record_type (tree, int *, int *, int *);
static int function_arg_slotno (const CUMULATIVE_ARGS *, enum machine_mode,
@@ -595,6 +596,8 @@ static bool fpu_option_set = false;
#define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION sparc_handle_option
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE sparc_option_override
#if TARGET_GNU_TLS && defined(HAVE_AS_SPARC_UA_PCREL)
#undef TARGET_ASM_OUTPUT_DWARF_DTPREL
@@ -651,8 +654,8 @@ sparc_handle_option (size_t code, const char *arg, int value ATTRIBUTE_UNUSED)
/* Validate and override various options, and do some machine dependent
initialization. */
-void
-sparc_override_options (void)
+static void
+sparc_option_override (void)
{
static struct code_model {
const char *const name;
@@ -728,6 +731,10 @@ sparc_override_options (void)
const struct sparc_cpu_select *sel;
int fpu;
+#ifdef SUBTARGET_OVERRIDE_OPTIONS
+ SUBTARGET_OVERRIDE_OPTIONS;
+#endif
+
#ifndef SPARC_BI_ARCH
/* Check for unsupported architecture size. */
if (! TARGET_64BIT != DEFAULT_ARCH32_P)
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 21694eb..fe07ce5 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -499,10 +499,6 @@ extern enum cmodel sparc_cmodel;
/* Show we can debug even without a frame pointer. */
#define CAN_DEBUG_WITHOUT_FP
-
-/* Option handling. */
-
-#define OVERRIDE_OPTIONS sparc_override_options ()
/* Mask of all CPU selection flags. */
#define MASK_ISA \
diff --git a/gcc/config/sparc/vxworks.h b/gcc/config/sparc/vxworks.h
index 7ab3014..4d971a4 100644
--- a/gcc/config/sparc/vxworks.h
+++ b/gcc/config/sparc/vxworks.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for SPARC targeting the VxWorks run time environment.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -27,14 +27,8 @@ along with GCC; see the file COPYING3. If not see
} \
while (0)
-#undef OVERRIDE_OPTIONS
-#define OVERRIDE_OPTIONS \
- do \
- { \
- VXWORKS_OVERRIDE_OPTIONS; \
- sparc_override_options (); \
- } \
- while (0)
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
diff --git a/gcc/config/spu/spu-protos.h b/gcc/config/spu/spu-protos.h
index 6bf4f65..d456979 100644
--- a/gcc/config/spu/spu-protos.h
+++ b/gcc/config/spu/spu-protos.h
@@ -21,7 +21,6 @@
extern void spu_cpu_cpp_builtins (struct cpp_reader * pfile);
extern void builtin_define_std (const char *);
extern void spu_optimization_options (int level, int size);
-extern void spu_override_options (void);
extern void spu_c_common_override_options (void);
extern int valid_subreg (rtx op);
extern void spu_expand_extv (rtx * ops, int unsignedp);
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index ec78859..dd4201f 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -149,6 +149,7 @@ static struct spu_builtin_range spu_builtin_range[] = {
char regs_ever_allocated[FIRST_PSEUDO_REGISTER];
/* Prototypes and external defs. */
+static void spu_option_override (void);
static void spu_init_builtins (void);
static tree spu_builtin_decl (unsigned, bool);
static bool spu_scalar_mode_supported_p (enum machine_mode mode);
@@ -464,6 +465,9 @@ static const struct attribute_spec spu_attribute_table[] =
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT spu_trampoline_init
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE spu_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
void
@@ -477,12 +481,9 @@ spu_optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED)
flag_rename_registers = 1;
}
-/* Sometimes certain combinations of command options do not make sense
- on a particular target machine. You can define a macro
- OVERRIDE_OPTIONS to take account of this. This macro, if defined, is
- executed once just after all the command options have been parsed. */
-void
-spu_override_options (void)
+/* Implement TARGET_OPTION_OVERRIDE. */
+static void
+spu_option_override (void)
{
/* Small loops will be unpeeled at -O3. For SPU it is more important
to keep code small by default. */
diff --git a/gcc/config/spu/spu.h b/gcc/config/spu/spu.h
index 5772c6f..251e239 100644
--- a/gcc/config/spu/spu.h
+++ b/gcc/config/spu/spu.h
@@ -20,7 +20,6 @@
#define TARGET_VERSION fprintf (stderr, " (spu %s)", __DATE__);
-#define OVERRIDE_OPTIONS spu_override_options()
#define C_COMMON_OVERRIDE_OPTIONS spu_c_common_override_options()
#define OPTIMIZATION_OPTIONS(level,size) \
diff --git a/gcc/config/vax/elf.h b/gcc/config/vax/elf.h
index c7b3d21..8e5f4af 100644
--- a/gcc/config/vax/elf.h
+++ b/gcc/config/vax/elf.h
@@ -1,5 +1,6 @@
/* Target definitions for GNU compiler for VAX using ELF
- Copyright (C) 2002, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005, 2007, 2008, 2009, 2010
+ Free Software Foundation, Inc.
Contributed by Matt Thomas <matt@3am-software.com>
This file is part of GCC.
@@ -72,13 +73,10 @@ along with GCC; see the file COPYING3. If not see
#undef ASM_OUTPUT_BEFORE_CASE_LABEL
#define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE, PREFIX, NUM, TABLE)
-#undef OVERRIDE_OPTIONS
-#define OVERRIDE_OPTIONS \
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS \
do \
{ \
- /* Do generic VAX overrides. */ \
- override_options (); \
- \
/* Turn off function CSE if we're doing PIC. */ \
if (flag_pic) \
flag_no_function_cse = 1; \
diff --git a/gcc/config/vax/vax-protos.h b/gcc/config/vax/vax-protos.h
index e9cc616..6861260 100644
--- a/gcc/config/vax/vax-protos.h
+++ b/gcc/config/vax/vax-protos.h
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler. VAX version.
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009, 2010
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -17,8 +18,6 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-extern void override_options (void);
-
extern bool legitimate_constant_address_p (rtx);
extern bool legitimate_constant_p (rtx);
extern bool vax_mode_dependent_address_p (rtx);
diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c
index f7f1a71..001a226 100644
--- a/gcc/config/vax/vax.c
+++ b/gcc/config/vax/vax.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for VAX.
Copyright (C) 1987, 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002,
- 2004, 2005, 2006, 2007, 2008, 2009
+ 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -46,6 +46,7 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "target-def.h"
+static void vax_option_override (void);
static bool vax_legitimate_address_p (enum machine_mode, rtx, bool);
static void vax_output_function_prologue (FILE *, HOST_WIDE_INT);
static void vax_file_start (void);
@@ -111,16 +112,23 @@ static int vax_return_pops_args (tree, tree, int);
#undef TARGET_RETURN_POPS_ARGS
#define TARGET_RETURN_POPS_ARGS vax_return_pops_args
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE vax_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
/* Set global variables as needed for the options enabled. */
-void
-override_options (void)
+static void
+vax_option_override (void)
{
/* We're VAX floating point, not IEEE floating point. */
if (TARGET_G_FLOAT)
REAL_MODE_FORMAT (DFmode) = &vax_g_format;
+
+#ifdef SUBTARGET_OVERRIDE_OPTIONS
+ SUBTARGET_OVERRIDE_OPTIONS;
+#endif
}
/* Generate the assembly code for function entry. FILE is a stdio
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 88a8f1c..bce9666 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler. VAX version.
Copyright (C) 1987, 1988, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -72,8 +72,6 @@ along with GCC; see the file COPYING3. If not see
#define TARGET_DEFAULT (MASK_UNIX_ASM)
#endif
-#define OVERRIDE_OPTIONS override_options ()
-
/* Target machine storage layout */
diff --git a/gcc/config/vxworks.c b/gcc/config/vxworks.c
index 2b1525a..7e56bd9 100644
--- a/gcc/config/vxworks.c
+++ b/gcc/config/vxworks.c
@@ -1,5 +1,5 @@
/* Common VxWorks target definitions for GNU compiler.
- Copyright (C) 2007, 2008
+ Copyright (C) 2007, 2008, 2010
Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
@@ -120,7 +120,7 @@ vxworks_emutls_var_init (tree var, tree decl, tree tmpl_addr)
return build_constructor (type, v);
}
-/* Do VxWorks-specific parts of OVERRIDE_OPTIONS. */
+/* Do VxWorks-specific parts of TARGET_OPTION_OVERRIDE. */
void
vxworks_override_options (void)
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index 322260d..142fd91 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -1,5 +1,5 @@
/* Common VxWorks target definitions for GNU compiler.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010
Free Software Foundation, Inc.
Contributed by Wind River Systems.
Rewritten by CodeSourcery, LLC.
@@ -84,7 +84,7 @@ along with GCC; see the file COPYING3. If not see
#define VXWORKS_STARTFILE_SPEC "%{mrtp:%{!shared:-l:crt0.o}}"
#define VXWORKS_ENDFILE_SPEC ""
-/* Do VxWorks-specific parts of OVERRIDE_OPTIONS. */
+/* Do VxWorks-specific parts of TARGET_OPTION_OVERRIDE. */
#undef VXWORKS_OVERRIDE_OPTIONS
#define VXWORKS_OVERRIDE_OPTIONS vxworks_override_options ()
extern void vxworks_override_options (void);
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 18c08d7..dc1075f 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for GNU compiler for Xtensa.
- Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
+ Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
@@ -78,7 +78,6 @@ extern int function_arg_boundary (enum machine_mode, tree);
extern void xtensa_setup_frame_addresses (void);
extern int xtensa_dbx_register_number (int);
-extern void override_options (void);
extern long compute_frame_size (int);
extern void xtensa_expand_prologue (void);
extern void order_regs_for_local_alloc (void);
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index f81452a..0820ab7 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -118,6 +118,7 @@ const enum reg_class xtensa_regno_to_class[FIRST_PSEUDO_REGISTER] =
ACC_REG,
};
+static void xtensa_option_override (void);
static enum internal_test map_test_to_internal_test (enum rtx_code);
static rtx gen_int_relational (enum rtx_code, rtx, rtx, int *);
static rtx gen_float_relational (enum rtx_code, rtx, rtx);
@@ -251,6 +252,9 @@ static const int reg_nonleaf_alloc_order[FIRST_PSEUDO_REGISTER] =
#undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT xtensa_trampoline_init
+#undef TARGET_OPTION_OVERRIDE
+#define TARGET_OPTION_OVERRIDE xtensa_option_override
+
struct gcc_target targetm = TARGET_INITIALIZER;
@@ -2096,8 +2100,8 @@ xtensa_return_in_msb (const_tree valtype)
}
-void
-override_options (void)
+static void
+xtensa_option_override (void)
{
int regno;
enum machine_mode mode;
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index 153242a..4a213d0 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -1,5 +1,5 @@
/* Definitions of Tensilica's Xtensa target machine for GNU compiler.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
@@ -74,8 +74,6 @@ extern unsigned xtensa_current_frame_size;
#define HAVE_AS_TLS 0
#endif
-#define OVERRIDE_OPTIONS override_options ()
-
/* Reordering blocks for Xtensa is not a good idea unless the compiler
understands the range of conditional branches. Currently all branch
relaxation for Xtensa is handled in the assembler, so GCC cannot do a
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 8e66da5..54f2d35 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -773,24 +773,6 @@ description should define @code{TARGET_VERSION}. For example:
@end smallexample
@end defmac
-@defmac OVERRIDE_OPTIONS
-Sometimes certain combinations of command options do not make sense on
-a particular target machine. You can define a macro
-@code{OVERRIDE_OPTIONS} to take account of this. This macro, if
-defined, is executed once just after all the command options have been
-parsed.
-
-Don't use this macro to turn on various extra optimizations for
-@option{-O}. That is what @code{OPTIMIZATION_OPTIONS} is for.
-
-If you need to do something whenever the optimization level is
-changed via the optimize attribute or pragma, see
-@code{TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE}
-
-This macros is obsolete, new ports should use the target hook
-@code{TARGET_OPTION_OVERRIDE} instead.
-@end defmac
-
@deftypefn {Target Hook} void TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE (void)
This target function is similar to the hook @code{TARGET_OPTION_OVERRIDE}
but is called when the optimize level is changed via an attribute or
@@ -802,7 +784,8 @@ actions then, you should have @code{TARGET_OPTION_OVERRIDE} call
@end deftypefn
@defmac C_COMMON_OVERRIDE_OPTIONS
-This is similar to @code{OVERRIDE_OPTIONS} but is only used in the C
+This is similar to the @code{TARGET_OPTION_OVERRIDE} hook
+but is only used in the C
language frontends (C, Objective-C, C++, Objective-C++) and so can be
used to alter option flag variables which only exist in those
frontends.
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index d25ead1..3f64388 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -773,24 +773,6 @@ description should define @code{TARGET_VERSION}. For example:
@end smallexample
@end defmac
-@defmac OVERRIDE_OPTIONS
-Sometimes certain combinations of command options do not make sense on
-a particular target machine. You can define a macro
-@code{OVERRIDE_OPTIONS} to take account of this. This macro, if
-defined, is executed once just after all the command options have been
-parsed.
-
-Don't use this macro to turn on various extra optimizations for
-@option{-O}. That is what @code{OPTIMIZATION_OPTIONS} is for.
-
-If you need to do something whenever the optimization level is
-changed via the optimize attribute or pragma, see
-@code{TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE}
-
-This macros is obsolete, new ports should use the target hook
-@code{TARGET_OPTION_OVERRIDE} instead.
-@end defmac
-
@hook TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
This target function is similar to the hook @code{TARGET_OPTION_OVERRIDE}
but is called when the optimize level is changed via an attribute or
@@ -802,7 +784,8 @@ actions then, you should have @code{TARGET_OPTION_OVERRIDE} call
@end deftypefn
@defmac C_COMMON_OVERRIDE_OPTIONS
-This is similar to @code{OVERRIDE_OPTIONS} but is only used in the C
+This is similar to the @code{TARGET_OPTION_OVERRIDE} hook
+but is only used in the C
language frontends (C, Objective-C, C++, Objective-C++) and so can be
used to alter option flag variables which only exist in those
frontends.
diff --git a/gcc/genmodes.c b/gcc/genmodes.c
index 2aa559f3..dae7e38 100644
--- a/gcc/genmodes.c
+++ b/gcc/genmodes.c
@@ -1,5 +1,5 @@
/* Generate the machine mode enumeration and associated tables.
- Copyright (C) 2003, 2004, 2005, 2006, 2007
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -1160,7 +1160,7 @@ emit_real_format_for_mode (void)
or not the table itself is constant.
For backward compatibility this table is always writable
- (several targets modify it in OVERRIDE_OPTIONS). FIXME:
+ (several targets modify it in TARGET_OPTION_OVERRIDE). FIXME:
convert all said targets to use ADJUST_FORMAT instead. */
#if 0
print_maybe_const_decl ("const struct real_format *%s",
diff --git a/gcc/machmode.def b/gcc/machmode.def
index fbaea10..bb7ea99 100644
--- a/gcc/machmode.def
+++ b/gcc/machmode.def
@@ -1,7 +1,7 @@
/* This file contains the definitions and documentation for the
machine modes used in the GNU compiler.
Copyright (C) 1987, 1992, 1994, 1997, 1998, 2000, 2003, 2004, 2005,
- 2007 Free Software Foundation, Inc.
+ 2007, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -191,7 +191,7 @@ INT_MODE (TI, 16);
that need 1-word, 2-word, 80-bit, or 128-bit float types respectively.
These are the IEEE mappings. They can be overridden with
- RESET_FLOAT_FORMAT or at runtime (in OVERRIDE_OPTIONS). */
+ RESET_FLOAT_FORMAT or at runtime (in TARGET_OPTION_OVERRIDE). */
FLOAT_MODE (SF, 4, ieee_single_format);
FLOAT_MODE (DF, 8, ieee_double_format);
diff --git a/gcc/system.h b/gcc/system.h
index 35f9ac8..460b8a8 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -715,7 +715,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
ALLOCATE_INITIAL_VALUE LEGITIMIZE_ADDRESS FRAME_POINTER_REQUIRED \
CAN_ELIMINATE TRAMPOLINE_TEMPLATE INITIALIZE_TRAMPOLINE \
TRAMPOLINE_ADJUST_ADDRESS STATIC_CHAIN STATIC_CHAIN_INCOMING \
- RETURN_POPS_ARGS UNITS_PER_SIMD_WORD
+ RETURN_POPS_ARGS UNITS_PER_SIMD_WORD OVERRIDE_OPTIONS
/* Other obsolete target macros, or macros that used to be in target
headers and were not used, and may be obsolete or may never have
diff --git a/gcc/target.def b/gcc/target.def
index 155f0fd..61aae90 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -2311,7 +2311,7 @@ DEFHOOK
(override,
"",
void, (void),
- default_target_option_override)
+ hook_void_void)
/* Function to determine if one function can inline another function. */
#undef HOOK_PREFIX
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 046c07f..dd22bea 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -919,14 +919,6 @@ default_secondary_reload (bool in_p ATTRIBUTE_UNUSED, rtx x ATTRIBUTE_UNUSED,
return rclass;
}
-void
-default_target_option_override (void)
-{
-#ifdef OVERRIDE_OPTIONS
- OVERRIDE_OPTIONS;
-#endif
-}
-
bool
default_handle_c_option (size_t code ATTRIBUTE_UNUSED,
const char *arg ATTRIBUTE_UNUSED,