From c5387660230bce1ec6e40d47e243ff04059e4d77 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 16 Sep 2010 12:59:39 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 197 ++++++++++++++++++++++++++ gcc/config/alpha/alpha-modes.def | 4 +- gcc/config/alpha/alpha-protos.h | 3 +- gcc/config/alpha/alpha.c | 11 +- gcc/config/alpha/alpha.h | 11 -- gcc/config/alpha/vms.h | 11 +- gcc/config/arc/arc-protos.h | 3 +- gcc/config/arc/arc.c | 13 +- gcc/config/arc/arc.h | 19 +-- gcc/config/arm/arm-protos.h | 3 +- gcc/config/arm/arm.c | 14 +- gcc/config/arm/arm.h | 4 +- gcc/config/arm/arm.md | 2 +- gcc/config/arm/vxworks.h | 12 +- gcc/config/avr/avr-protos.h | 1 - gcc/config/avr/avr.c | 8 +- gcc/config/avr/avr.h | 2 - gcc/config/bfin/bfin-protos.h | 4 +- gcc/config/bfin/bfin.c | 11 +- gcc/config/bfin/bfin.h | 11 -- gcc/config/cris/cris-protos.h | 4 +- gcc/config/cris/cris.c | 14 +- gcc/config/cris/cris.h | 4 +- gcc/config/frv/frv-protos.h | 1 - gcc/config/frv/frv.c | 16 +-- gcc/config/frv/frv.h | 10 -- gcc/config/h8300/h8300-protos.h | 4 +- gcc/config/h8300/h8300.c | 7 +- gcc/config/h8300/h8300.h | 11 +- gcc/config/i386/i386-protos.h | 1 - gcc/config/i386/i386.c | 46 +++--- gcc/config/i386/i386.h | 11 -- gcc/config/i386/linux64.h | 3 +- gcc/config/ia64/ia64.c | 2 +- gcc/config/iq2000/iq2000-protos.h | 3 +- gcc/config/iq2000/iq2000.c | 9 +- gcc/config/iq2000/iq2000.h | 2 - gcc/config/lm32/lm32-protos.h | 3 +- gcc/config/lm32/lm32.c | 7 +- gcc/config/lm32/lm32.h | 2 - gcc/config/m32r/m32r.c | 14 +- gcc/config/m32r/m32r.h | 19 --- gcc/config/m68hc11/m68hc11-protos.h | 1 - gcc/config/m68hc11/m68hc11.c | 9 +- gcc/config/m68hc11/m68hc11.h | 11 -- gcc/config/m68k/m68k-protos.h | 3 +- gcc/config/m68k/m68k.c | 17 +-- gcc/config/m68k/m68k.h | 4 +- gcc/config/mcore/mcore-protos.h | 3 +- gcc/config/mcore/mcore.c | 10 +- gcc/config/mcore/mcore.h | 7 +- gcc/config/mep/mep-protos.h | 1 - gcc/config/mep/mep.c | 6 +- gcc/config/mep/mep.h | 2 - gcc/config/mmix/mmix-protos.h | 1 - gcc/config/mmix/mmix.c | 10 +- gcc/config/mmix/mmix.h | 2 - gcc/config/mn10300/mn10300-protos.h | 4 +- gcc/config/mn10300/mn10300.c | 9 +- gcc/config/mn10300/mn10300.h | 2 - gcc/config/moxie/moxie-protos.h | 1 - gcc/config/moxie/moxie.c | 9 +- gcc/config/moxie/moxie.h | 2 - gcc/config/picochip/picochip-protos.h | 5 +- gcc/config/picochip/picochip.c | 19 ++- gcc/config/picochip/picochip.h | 8 +- gcc/config/rs6000/aix43.h | 12 +- gcc/config/rs6000/aix51.h | 12 +- gcc/config/rs6000/aix52.h | 12 +- gcc/config/rs6000/aix53.h | 12 +- gcc/config/rs6000/aix61.h | 12 +- gcc/config/rs6000/linux64.h | 8 +- gcc/config/rs6000/rs6000-modes.def | 4 +- gcc/config/rs6000/rs6000-protos.h | 1 - gcc/config/rs6000/rs6000.c | 21 ++- gcc/config/rs6000/rs6000.h | 14 +- gcc/config/rs6000/sysv4.h | 10 +- gcc/config/s390/s390-protos.h | 3 +- gcc/config/s390/s390.c | 7 +- gcc/config/s390/s390.h | 5 +- gcc/config/score/score-protos.h | 3 +- gcc/config/score/score.c | 16 ++- gcc/config/score/score.h | 6 +- gcc/config/score/score3.c | 6 +- gcc/config/score/score3.h | 4 +- gcc/config/score/score7.c | 6 +- gcc/config/score/score7.h | 4 +- gcc/config/sh/sh.c | 4 +- gcc/config/sparc/sparc.c | 11 +- gcc/config/sparc/sparc.h | 4 - gcc/config/sparc/vxworks.h | 12 +- gcc/config/spu/spu-protos.h | 1 - gcc/config/spu/spu.c | 13 +- gcc/config/spu/spu.h | 1 - gcc/config/vax/elf.h | 10 +- gcc/config/vax/vax-protos.h | 5 +- gcc/config/vax/vax.c | 14 +- gcc/config/vax/vax.h | 4 +- gcc/config/vxworks.c | 4 +- gcc/config/vxworks.h | 4 +- gcc/config/xtensa/xtensa-protos.h | 3 +- gcc/config/xtensa/xtensa.c | 8 +- gcc/config/xtensa/xtensa.h | 4 +- gcc/doc/tm.texi | 21 +-- gcc/doc/tm.texi.in | 21 +-- gcc/genmodes.c | 4 +- gcc/machmode.def | 4 +- gcc/system.h | 2 +- gcc/target.def | 2 +- gcc/targhooks.c | 8 -- 110 files changed, 537 insertions(+), 488 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bfaed4f9a73..21941826201 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,200 @@ +2010-09-16 Joseph Myers + + * 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 PR tree-optimization/45623 diff --git a/gcc/config/alpha/alpha-modes.def b/gcc/config/alpha/alpha-modes.def index b75627edc23..9d5a042467b 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 . */ -/* 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 7e9d14b5f4b..4b5e6734dc7 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 aec33831c28..4db554cbfbe 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 806f1aa7e60..f0d8b9dba4d 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 c0b20f89d61..38b2068693e 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 c9fc51ad2ac..5550ebfbe2c 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 72800cac3a5..5031b99e2f7 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 9a4e360504b..f2d273dcae0 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 79c11e2b0a0..1f9548524b4 100644 --- a/gcc/config/arm/arm-protos.h +++ b/gcc/config/arm/arm-protos.h @@ -1,6 +1,6 @@ /* Prototypes for exported functions defined in arm.c and pe.c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009 Free Software Foundation, Inc. + 2009, 2010 Free Software Foundation, Inc. Contributed by Richard Earnshaw (rearnsha@arm.com) Minor hacks by Nick Clifton (nickc@cygnus.com) @@ -23,7 +23,6 @@ #ifndef GCC_ARM_PROTOS_H #define GCC_ARM_PROTOS_H -extern void arm_override_options (void); extern void arm_optimization_options (int, int); extern int use_return_insn (int, rtx); extern enum reg_class arm_regno_class (int); diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 6f260ec53d2..acbaee6ef97 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -215,6 +215,7 @@ static void arm_init_libfuncs (void); static tree arm_build_builtin_va_list (void); static void arm_expand_builtin_va_start (tree, rtx); static tree arm_gimplify_va_arg_expr (tree, tree, gimple_seq *, gimple_seq *); +static void arm_option_override (void); static bool arm_handle_option (size_t, const char *, int); static void arm_target_help (void); static unsigned HOST_WIDE_INT arm_shift_truncation_mask (enum machine_mode); @@ -318,6 +319,8 @@ static const struct attribute_spec arm_attribute_table[] = #define TARGET_HANDLE_OPTION arm_handle_option #undef TARGET_HELP #define TARGET_HELP arm_target_help +#undef TARGET_OPTION_OVERRIDE +#define TARGET_OPTION_OVERRIDE arm_option_override #undef TARGET_COMP_TYPE_ATTRIBUTES #define TARGET_COMP_TYPE_ATTRIBUTES arm_comp_type_attributes @@ -1375,13 +1378,16 @@ arm_target_help (void) } -/* Fix up any incompatible options that the user has specified. - This has now turned into a maze. */ -void -arm_override_options (void) +/* Fix up any incompatible options that the user has specified. */ +static void +arm_option_override (void) { unsigned i; +#ifdef SUBTARGET_OVERRIDE_OPTIONS + SUBTARGET_OVERRIDE_OPTIONS; +#endif + if (arm_selected_arch) { if (arm_selected_cpu) diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 36b618a5836..9e7e5040c31 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for ARM. Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) and Martin Simmons (@harleqn.co.uk). @@ -498,8 +498,6 @@ extern int arm_arch_hwdiv; that is controlled by the APCS-FRAME option. */ #define CAN_DEBUG_WITHOUT_FP -#define OVERRIDE_OPTIONS arm_override_options () - #define OPTIMIZATION_OPTIONS(LEVEL,SIZE) \ arm_optimization_options ((LEVEL), (SIZE)) diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index d10d04ba74d..61b95e3ee00 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -333,7 +333,7 @@ (const_string "alu"))) ; Load scheduling, set from the arm_ld_sched variable -; initialized by arm_override_options() +; initialized by arm_option_override() (define_attr "ldsched" "no,yes" (const (symbol_ref "arm_ld_sched"))) ;; Classification of NEON instructions for scheduling purposes. diff --git a/gcc/config/arm/vxworks.h b/gcc/config/arm/vxworks.h index aa7e197bc5d..3ceaed9039c 100644 --- a/gcc/config/arm/vxworks.h +++ b/gcc/config/arm/vxworks.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GCC, for ARM with targetting the VXWorks run time environment. - Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008 + Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by: Mike Stump @@ -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 ea55a9bd5c3..aa0c6614c50 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 e8d6fa3bc37..cabf678d8f9 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 fd3cd1d3a52..92c197a6ab9 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 4a9b7a11768..1e18307d710 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 d0a13969f8d..8ff9e2fd0a7 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 e6e2aaeb7f9..037e5be20f7 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 c819c790d19..84191c0920b 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 ce6b568df03..6e0421241cb 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 4c685489a8c..b767b23518d 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 976a71e2ef6..f2081faa05a 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 8560bc14a8e..295610d3322 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 75acccb54e1..22200dca83c 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 35023c6236d..7bf8ba367bd 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 bba5e793f93..14007821d17 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 4e0a3b6728e..79469a0e81b 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 900b4242ec8..e35a15eb85c 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 . */ /* 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 19d6387d444..fd731c00120 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 1b735cb0720..8a9600c27d4 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 33b4dc9cd8f..fda73d21107 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 17b6a47b0db..ab01a5588d3 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 56fd39e7bc6..971aadf4547 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 b152d1a2529..dd2c927108f 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 683eb9b8c61..6e670badc58 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 70d97f0d1d8..51e191bab81 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 - 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 e601693a520..a0e9472c5ec 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 0bf37455627..2698d40b896 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 b1175df0fa5..93030add6cb 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 9aa354a2398..ee867bf8fe2 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 d8ae8e078a9..a0c4941c85b 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 . */ -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 2056375b6a6..ea60db6a35c 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 2ea80a76396..f19180d4a1b 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 08f8a91e691..ad02026309a 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 d9032468ada..09b7ccbd86f 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. +/* 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 -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 ac478619f73..75217bae231 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 9be73236aa2..2093f16ec19 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 68886934ff7..5556d7d1ed4 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 7421d5dbb85..d703baf2e31 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 ed8facd23fb..d3e21bd70f3 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 7fdb5382d65..0e6ce08176f 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 2ac0fafc077..83a5582c158 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 9918fa8094d..d7e0a947004 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 . */ -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 8ed8b177fcb..ce10a1b9bd0 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 26447357e47..5672827f7c1 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 47488c9b0ba..02a7942824a 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 b55ca37c00c..fe03742e7e4 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 1700f1a25be..56e2bc80792 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 471fd99a67d..3c1027bee58 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 . */ -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 512582e3273..cd2fb88decc 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 0a53b6b7216..1445202c332 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 268b80595e0..c80bf70b4b0 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 6ae64e66159..9bd2382915b 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 b4aec727df5..cf81f59bb53 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 bbe23373060..8e285decbe6 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 . */ -/* 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 32bdbb41f28..90d504f61b6 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 . */ -/* 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 8d6c2411621..a0fa2188697 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 . */ -/* 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 b7b1eec9adf..381e0d662e0 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 . */ -/* 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 048486b108b..4f949cffe65 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 . */ -/* 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 faf9e2f2a77..62eed2edc28 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 216794647cf..724c947f14a 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 @@ . */ /* 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 0d26511524b..38dc6937ee4 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 f557dbad6d5..0d95b39f373 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 5b0e4c7aa7a..1c2c391cc5e 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 b9db247d911..69e9e82f570 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 8a2f1b7186e..d3e5ec7718e 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 ee17153a616..e07b1d6e6ea 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 cbe28991c18..8f5a3a09dcf 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 d42ec14eb69..70daf74d28d 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 e7e56003a4e..f2b2215f617 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 98ca0a3537b..621f56ef3c2 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 cf334312fdf..d4b171e05d2 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 4e545fc9570..eea460376ac 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 d3cd1c518f6..f1c86230d54 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 0931a2b97e5..b6d2a5bba05 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 aa31c279895..d521437c571 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 f9d4a9092af..36c60533d98 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 21694ebc5e0..fe07ce5507b 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 7ab30143f98..4d971a4bbc8 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 6bf4f65fc1c..d456979101b 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 ec788594a15..dd4201f1047 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 5772c6f51f5..251e2391b68 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 c7b3d2124b2..8e5f4afe650 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 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 e9cc61687ca..6861260f300 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 . */ -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 f7f1a715f0b..001a2269030 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 88a8f1c9b1f..bce9666698d 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 2b1525a3180..7e56bd93a4c 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 322260d863a..142fd91e06f 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 18c08d7136d..dc1075f07c1 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 f81452a80a4..0820ab72a46 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 153242a3c58..4a213d04179 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 8e66da509df..54f2d35224e 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 d25ead1bd8f..3f64388d7a3 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 2aa559f3d25..dae7e38ebdb 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 fbaea1096a6..bb7ea99eadb 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 35f9ac8a3f4..460b8a83b8e 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 155f0fdd2fb..61aae90f9df 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 046c07f0e27..dd22bea6dd6 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,