This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: target_flags
- From: DJ Delorie <dj at redhat dot com>
- To: zack at codesourcery dot com
- Cc: mrs at apple dot com, gcc at gcc dot gnu dot org
- Date: Thu, 17 Apr 2003 16:22:26 -0400
- Subject: Re: target_flags
- References: <06C31422-5336-11D7-A309-003065A77310@apple.com><200303102029.h2AKTOE19299@greed.delorie.com> <87smtvuf59.fsf@egil.codesourcery.com>
> DJ Delorie <dj at redhat dot com> writes:
> >> Ok, so I am working on a port (rs6000) that is out of target_flags by
> >> about 4 flags (in my tree). :-( What do I do now?
> >
> > I proposed a solution a year ago:
> >
> > http://gcc.gnu.org/ml/gcc-patches/2002-03/msg00833.html
>
> That looks like, at least, a way forward. I am willing to approve a
> complete version of that patch, if Mike agrees it solves his problem.
Here is a complete and current version of that patch. Bootstraped on
Linux.
2003-04-17 DJ Delorie <dj at redhat dot com>
* toplev.c (target_options): Add value field.
(set_target_switch): Handle target options with default
values.
* doc/tm.texi: Document how default vs non-default target
options work.
* config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
config/m32r/m32r.h, config/m68hc11/m68hc11.h,
config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
config/rs6000/rs6000.h, config/rs6000/sysv4.h,
config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
Add default value initializer to target options.
Index: toplev.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.c,v
retrieving revision 1.741
diff -p -2 -r1.741 toplev.c
*** toplev.c 12 Apr 2003 02:16:45 -0000 1.741
--- toplev.c 17 Apr 2003 20:08:59 -0000
*************** static const struct
*** 1438,1441 ****
--- 1438,1442 ----
const char **const variable;
const char *const description;
+ const char *const value;
}
target_options[] = TARGET_OPTIONS;
*************** set_target_switch (name)
*** 4686,4693 ****
{
int len = strlen (target_options[j].prefix);
! if (!strncmp (target_options[j].prefix, name, len))
{
! *target_options[j].variable = name + len;
! valid_target_option = 1;
}
}
--- 4687,4705 ----
{
int len = strlen (target_options[j].prefix);
! if (target_options[j].value)
{
! if (!strcmp (target_options[j].prefix, name))
! {
! *target_options[j].variable = target_options[j].value;
! valid_target_option = 1;
! }
! }
! else
! {
! if (!strncmp (target_options[j].prefix, name, len))
! {
! *target_options[j].variable = name + len;
! valid_target_option = 1;
! }
}
}
Index: config/alpha/alpha.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.h,v
retrieving revision 1.194
diff -p -2 -r1.194 alpha.h
*** config/alpha/alpha.h 14 Mar 2003 17:58:48 -0000 1.194
--- config/alpha/alpha.h 17 Apr 2003 20:08:59 -0000
*************** extern const char *alpha_tls_size_string
*** 351,367 ****
{ \
{"cpu=", &alpha_cpu_string, \
! N_("Use features of and schedule given CPU")}, \
{"tune=", &alpha_tune_string, \
! N_("Schedule given CPU")}, \
{"fp-rounding-mode=", &alpha_fprm_string, \
! N_("Control the generated fp rounding mode")}, \
{"fp-trap-mode=", &alpha_fptm_string, \
! N_("Control the IEEE trap mode")}, \
{"trap-precision=", &alpha_tp_string, \
! N_("Control the precision given to fp exceptions")}, \
{"memory-latency=", &alpha_mlat_string, \
! N_("Tune expected memory latency")}, \
{"tls-size=", &alpha_tls_size_string, \
! N_("Specify bit size of immediate TLS offsets")}, \
}
--- 351,367 ----
{ \
{"cpu=", &alpha_cpu_string, \
! N_("Use features of and schedule given CPU"), 0}, \
{"tune=", &alpha_tune_string, \
! N_("Schedule given CPU"), 0}, \
{"fp-rounding-mode=", &alpha_fprm_string, \
! N_("Control the generated fp rounding mode"), 0}, \
{"fp-trap-mode=", &alpha_fptm_string, \
! N_("Control the IEEE trap mode"), 0}, \
{"trap-precision=", &alpha_tp_string, \
! N_("Control the precision given to fp exceptions"), 0}, \
{"memory-latency=", &alpha_mlat_string, \
! N_("Tune expected memory latency"), 0}, \
{"tls-size=", &alpha_tls_size_string, \
! N_("Specify bit size of immediate TLS offsets"), 0}, \
}
Index: config/arc/arc.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arc/arc.h,v
retrieving revision 1.62
diff -p -2 -r1.62 arc.h
*** config/arc/arc.h 17 Apr 2003 01:38:28 -0000 1.62
--- config/arc/arc.h 17 Apr 2003 20:08:59 -0000
*************** extern const char *arc_text_string,*arc_
*** 139,147 ****
#define TARGET_OPTIONS \
! { \
! { "cpu=", &arc_cpu_string }, \
! { "text=", &arc_text_string }, \
! { "data=", &arc_data_string }, \
! { "rodata=", &arc_rodata_string }, \
}
--- 139,147 ----
#define TARGET_OPTIONS \
! { \
! { "cpu=", &arc_cpu_string, 0}, \
! { "text=", &arc_text_string, 0}, \
! { "data=", &arc_data_string, 0}, \
! { "rodata=", &arc_rodata_string, 0}, \
}
Index: config/avr/avr.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/avr/avr.h,v
retrieving revision 1.76
diff -p -2 -r1.76 avr.h
*** config/avr/avr.h 19 Feb 2003 18:03:09 -0000 1.76
--- config/avr/avr.h 17 Apr 2003 20:08:59 -0000
*************** extern int avr_asm_only_p;
*** 106,111 ****
#define TARGET_OPTIONS { \
! { "init-stack=", &avr_init_stack, N_("Specify the initial stack address") }, \
! { "mcu=", &avr_mcu_name, N_("Specify the MCU name") } }
#define TARGET_VERSION fprintf (stderr, " (GNU assembler syntax)");
--- 106,111 ----
#define TARGET_OPTIONS { \
! { "init-stack=", &avr_init_stack, N_("Specify the initial stack address"), 0}, \
! { "mcu=", &avr_mcu_name, N_("Specify the MCU name"), 0} }
#define TARGET_VERSION fprintf (stderr, " (GNU assembler syntax)");
Index: config/c4x/c4x.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/c4x/c4x.h,v
retrieving revision 1.125
diff -p -2 -r1.125 c4x.h
*** config/c4x/c4x.h 17 Apr 2003 05:07:35 -0000 1.125
--- config/c4x/c4x.h 17 Apr 2003 20:08:59 -0000
*************** extern const char *c4x_rpts_cycles_strin
*** 329,335 ****
#define TARGET_OPTIONS \
{ {"rpts=", &c4x_rpts_cycles_string, \
! N_("Specify maximum number of iterations for RPTS") }, \
{"cpu=", &c4x_cpu_version_string, \
! N_("Select CPU to generate code for") } }
/* Sometimes certain combinations of command options do not make sense
--- 329,335 ----
#define TARGET_OPTIONS \
{ {"rpts=", &c4x_rpts_cycles_string, \
! N_("Specify maximum number of iterations for RPTS"), 0}, \
{"cpu=", &c4x_cpu_version_string, \
! N_("Select CPU to generate code for"), 0} }
/* Sometimes certain combinations of command options do not make sense
Index: config/cris/aout.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/cris/aout.h,v
retrieving revision 1.10
diff -p -2 -r1.10 aout.h
*** config/cris/aout.h 9 Mar 2003 01:46:26 -0000 1.10
--- config/cris/aout.h 17 Apr 2003 20:08:59 -0000
*************** Boston, MA 02111-1307, USA. */
*** 113,117 ****
#define CRIS_SUBTARGET_LONG_OPTIONS \
{"elinux-stacksize=", &cris_elinux_stacksize_str, \
! N_("For elinux, request a specified stack-size for this program")}, \
#undef CRIS_SUBTARGET_VERSION
--- 113,117 ----
#define CRIS_SUBTARGET_LONG_OPTIONS \
{"elinux-stacksize=", &cris_elinux_stacksize_str, \
! N_("For elinux, request a specified stack-size for this program"), 0}, \
#undef CRIS_SUBTARGET_VERSION
Index: config/cris/cris.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/cris/cris.h,v
retrieving revision 1.49
diff -p -2 -r1.49 cris.h
*** config/cris/cris.h 11 Mar 2003 15:43:25 -0000 1.49
--- config/cris/cris.h 17 Apr 2003 20:09:00 -0000
*************** extern int target_flags;
*** 428,440 ****
#define TARGET_OPTIONS \
! {{"cpu=", &cris_cpu_str, ""}, \
{"arch=", &cris_cpu_str, \
! N_("Generate code for the specified chip or CPU version")}, \
{"tune=", &cris_tune_str, \
! N_("Tune alignment for the specified chip or CPU version")}, \
{"max-stackframe=", &cris_max_stackframe_str, \
! N_("Warn when a stackframe is larger than the specified size")}, \
CRIS_SUBTARGET_LONG_OPTIONS \
! {"ax-stackframe=", &cris_max_stackframe_str, ""}}
#define CRIS_SUBTARGET_LONG_OPTIONS
--- 428,440 ----
#define TARGET_OPTIONS \
! {{"cpu=", &cris_cpu_str, "", 0}, \
{"arch=", &cris_cpu_str, \
! N_("Generate code for the specified chip or CPU version"), 0}, \
{"tune=", &cris_tune_str, \
! N_("Tune alignment for the specified chip or CPU version"), 0}, \
{"max-stackframe=", &cris_max_stackframe_str, \
! N_("Warn when a stackframe is larger than the specified size"), 0}, \
CRIS_SUBTARGET_LONG_OPTIONS \
! {"ax-stackframe=", &cris_max_stackframe_str, "", 0} }
#define CRIS_SUBTARGET_LONG_OPTIONS
Index: config/d30v/d30v.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/d30v/d30v.h,v
retrieving revision 1.79
diff -p -2 -r1.79 d30v.h
*** config/d30v/d30v.h 15 Apr 2003 20:57:08 -0000 1.79
--- config/d30v/d30v.h 17 Apr 2003 20:09:00 -0000
*************** extern int target_flags;
*** 147,154 ****
{ \
{"branch-cost=", &d30v_branch_cost_string, \
! N_("Change the branch costs within the compiler") }, \
\
{"cond-exec=", &d30v_cond_exec_string, \
! N_("Change the threshold for conversion to conditional execution") }, \
}
--- 147,154 ----
{ \
{"branch-cost=", &d30v_branch_cost_string, \
! N_("Change the branch costs within the compiler"), 0}, \
\
{"cond-exec=", &d30v_cond_exec_string, \
! N_("Change the threshold for conversion to conditional execution"), 0}, \
}
Index: config/dsp16xx/dsp16xx.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/dsp16xx/dsp16xx.h,v
retrieving revision 1.56
diff -p -2 -r1.56 dsp16xx.h
*** config/dsp16xx/dsp16xx.h 13 Mar 2003 04:13:13 -0000 1.56
--- config/dsp16xx/dsp16xx.h 17 Apr 2003 20:09:00 -0000
*************** extern int target_flags;
*** 270,282 ****
{ \
{ "text=", &text_seg_name, \
! N_("Specify alternate name for text section") }, \
{ "data=", &data_seg_name, \
! N_("Specify alternate name for data section") }, \
{ "bss=", &bss_seg_name, \
! N_("Specify alternate name for bss section") }, \
{ "const=", &const_seg_name, \
! N_("Specify alternate name for constant section") }, \
{ "chip=", &chip_name, \
! N_("Specify alternate name for dsp16xx chip") }, \
}
--- 270,282 ----
{ \
{ "text=", &text_seg_name, \
! N_("Specify alternate name for text section"), 0}, \
{ "data=", &data_seg_name, \
! N_("Specify alternate name for data section"), 0}, \
{ "bss=", &bss_seg_name, \
! N_("Specify alternate name for bss section"), 0}, \
{ "const=", &const_seg_name, \
! N_("Specify alternate name for constant section"), 0}, \
{ "chip=", &chip_name, \
! N_("Specify alternate name for dsp16xx chip"), 0}, \
}
Index: config/frv/frv.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/frv/frv.h,v
retrieving revision 1.20
diff -p -2 -r1.20 frv.h
*** config/frv/frv.h 17 Apr 2003 06:50:02 -0000 1.20
--- config/frv/frv.h 17 Apr 2003 20:09:01 -0000
*************** extern int target_flags;
*** 487,497 ****
This declaration is optional. */
! #define TARGET_OPTIONS \
! { \
! { "cpu=", &frv_cpu_string, "Set cpu type" }, \
! { "branch-cost=", &frv_branch_cost_string, "Internal debug switch" }, \
! { "cond-exec-insns=", &frv_condexec_insns_str, "Internal debug switch" }, \
! { "cond-exec-temps=", &frv_condexec_temps_str, "Internal debug switch" }, \
! { "sched-lookahead=", &frv_sched_lookahead_str,"Internal debug switch" }, \
}
--- 487,497 ----
This declaration is optional. */
! #define TARGET_OPTIONS \
! { \
! { "cpu=", &frv_cpu_string, "Set cpu type", 0}, \
! { "branch-cost=", &frv_branch_cost_string, "Internal debug switch", 0}, \
! { "cond-exec-insns=", &frv_condexec_insns_str, "Internal debug switch", 0}, \
! { "cond-exec-temps=", &frv_condexec_temps_str, "Internal debug switch", 0}, \
! { "sched-lookahead=", &frv_sched_lookahead_str,"Internal debug switch", 0}, \
}
Index: config/i386/i386.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.h,v
retrieving revision 1.332
diff -p -2 -r1.332 i386.h
*** config/i386/i386.h 11 Apr 2003 21:27:14 -0000 1.332
--- config/i386/i386.h 17 Apr 2003 20:09:01 -0000
*************** extern int x86_prefetch_sse;
*** 434,465 ****
#define TARGET_OPTIONS \
{ { "tune=", &ix86_tune_string, \
! N_("Schedule code for given CPU")}, \
{ "fpmath=", &ix86_fpmath_string, \
! N_("Generate floating point mathematics using given instruction set")},\
{ "arch=", &ix86_arch_string, \
! N_("Generate code for given CPU")}, \
{ "regparm=", &ix86_regparm_string, \
! N_("Number of registers used to pass integer arguments") }, \
{ "align-loops=", &ix86_align_loops_string, \
! N_("Loop code aligned to this power of 2") }, \
{ "align-jumps=", &ix86_align_jumps_string, \
! N_("Jump targets are aligned to this power of 2") }, \
{ "align-functions=", &ix86_align_funcs_string, \
! N_("Function starts are aligned to this power of 2") }, \
{ "preferred-stack-boundary=", \
&ix86_preferred_stack_boundary_string, \
! N_("Attempt to keep stack aligned to this power of 2") }, \
{ "branch-cost=", &ix86_branch_cost_string, \
! N_("Branches are this expensive (1-5, arbitrary units)") }, \
{ "cmodel=", &ix86_cmodel_string, \
! N_("Use given x86-64 code model") }, \
{ "debug-arg", &ix86_debug_arg_string, \
! "" /* Undocumented. */ }, \
{ "debug-addr", &ix86_debug_addr_string, \
! "" /* Undocumented. */ }, \
{ "asm=", &ix86_asm_string, \
! N_("Use given assembler dialect") }, \
{ "tls-dialect=", &ix86_tls_dialect_string, \
! N_("Use given thread-local storage dialect") }, \
SUBTARGET_OPTIONS \
}
--- 434,465 ----
#define TARGET_OPTIONS \
{ { "tune=", &ix86_tune_string, \
! N_("Schedule code for given CPU"), 0}, \
{ "fpmath=", &ix86_fpmath_string, \
! N_("Generate floating point mathematics using given instruction set"), 0},\
{ "arch=", &ix86_arch_string, \
! N_("Generate code for given CPU"), 0}, \
{ "regparm=", &ix86_regparm_string, \
! N_("Number of registers used to pass integer arguments"), 0},\
{ "align-loops=", &ix86_align_loops_string, \
! N_("Loop code aligned to this power of 2"), 0}, \
{ "align-jumps=", &ix86_align_jumps_string, \
! N_("Jump targets are aligned to this power of 2"), 0}, \
{ "align-functions=", &ix86_align_funcs_string, \
! N_("Function starts are aligned to this power of 2"), 0}, \
{ "preferred-stack-boundary=", \
&ix86_preferred_stack_boundary_string, \
! N_("Attempt to keep stack aligned to this power of 2"), 0}, \
{ "branch-cost=", &ix86_branch_cost_string, \
! N_("Branches are this expensive (1-5, arbitrary units)"), 0},\
{ "cmodel=", &ix86_cmodel_string, \
! N_("Use given x86-64 code model"), 0}, \
{ "debug-arg", &ix86_debug_arg_string, \
! "" /* Undocumented. */, 0}, \
{ "debug-addr", &ix86_debug_addr_string, \
! "" /* Undocumented. */, 0}, \
{ "asm=", &ix86_asm_string, \
! N_("Use given assembler dialect"), 0}, \
{ "tls-dialect=", &ix86_tls_dialect_string, \
! N_("Use given thread-local storage dialect"), 0}, \
SUBTARGET_OPTIONS \
}
Index: config/ia64/ia64.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ia64/ia64.h,v
retrieving revision 1.148
diff -p -2 -r1.148 ia64.h
*** config/ia64/ia64.h 16 Apr 2003 19:53:13 -0000 1.148
--- config/ia64/ia64.h 17 Apr 2003 20:09:01 -0000
*************** extern const char *ia64_tune_string;
*** 239,247 ****
{ \
{ "fixed-range=", &ia64_fixed_range_string, \
! N_("Specify range of registers to make fixed")}, \
{ "tls-size=", &ia64_tls_size_string, \
! N_("Specify bit size of immediate TLS offsets")}, \
{ "tune=", &ia64_tune_string, \
! N_("Schedule code for given CPU")}, \
}
--- 239,247 ----
{ \
{ "fixed-range=", &ia64_fixed_range_string, \
! N_("Specify range of registers to make fixed"), 0}, \
{ "tls-size=", &ia64_tls_size_string, \
! N_("Specify bit size of immediate TLS offsets"), 0}, \
{ "tune=", &ia64_tune_string, \
! N_("Schedule code for given CPU"), 0}, \
}
Index: config/m32r/m32r.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m32r/m32r.h,v
retrieving revision 1.80
diff -p -2 -r1.80 m32r.h
*** config/m32r/m32r.h 17 Apr 2003 08:49:53 -0000 1.80
--- config/m32r/m32r.h 17 Apr 2003 20:09:02 -0000
*************** extern const char * m32r_sdata_string;
*** 270,276 ****
{ \
{ "model=", & m32r_model_string, \
! N_("Code size: small, medium or large") }, \
{ "sdata=", & m32r_sdata_string, \
! N_("Small data area: none, sdata, use") } \
SUBTARGET_OPTIONS \
}
--- 270,276 ----
{ \
{ "model=", & m32r_model_string, \
! N_("Code size: small, medium or large"), 0}, \
{ "sdata=", & m32r_sdata_string, \
! N_("Small data area: none, sdata, use"), 0} \
SUBTARGET_OPTIONS \
}
Index: config/m68hc11/m68hc11.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m68hc11/m68hc11.h,v
retrieving revision 1.71
diff -p -2 -r1.71 m68hc11.h
*** config/m68hc11/m68hc11.h 12 Apr 2003 21:52:33 -0000 1.71
--- config/m68hc11/m68hc11.h 17 Apr 2003 20:09:02 -0000
*************** extern short *reg_renumber; /* def in lo
*** 219,225 ****
#define TARGET_OPTIONS \
{ { "reg-alloc=", &m68hc11_reg_alloc_order, \
! N_("Specify the register allocation order")}, \
{ "soft-reg-count=", &m68hc11_soft_reg_count, \
! N_("Indicate the number of soft registers available") }, \
SUBTARGET_OPTIONS \
}
--- 219,225 ----
#define TARGET_OPTIONS \
{ { "reg-alloc=", &m68hc11_reg_alloc_order, \
! N_("Specify the register allocation order"), 0}, \
{ "soft-reg-count=", &m68hc11_soft_reg_count, \
! N_("Indicate the number of soft registers available"), 0}, \
SUBTARGET_OPTIONS \
}
Index: config/m68k/m68k.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m68k/m68k.h,v
retrieving revision 1.83
diff -p -2 -r1.83 m68k.h
*** config/m68k/m68k.h 28 Jan 2003 04:46:29 -0000 1.83
--- config/m68k/m68k.h 17 Apr 2003 20:09:02 -0000
*************** extern int target_flags;
*** 261,269 ****
#define TARGET_OPTIONS \
{ { "align-loops=", &m68k_align_loops_string, \
! N_("Loop code aligned to this power of 2") }, \
{ "align-jumps=", &m68k_align_jumps_string, \
! N_("Jump targets are aligned to this power of 2") }, \
{ "align-functions=", &m68k_align_funcs_string, \
! N_("Function starts are aligned to this power of 2") }, \
SUBTARGET_OPTIONS \
}
--- 261,269 ----
#define TARGET_OPTIONS \
{ { "align-loops=", &m68k_align_loops_string, \
! N_("Loop code aligned to this power of 2"), 0}, \
{ "align-jumps=", &m68k_align_jumps_string, \
! N_("Jump targets are aligned to this power of 2"), 0}, \
{ "align-functions=", &m68k_align_funcs_string, \
! N_("Function starts are aligned to this power of 2"), 0}, \
SUBTARGET_OPTIONS \
}
Index: config/m88k/m88k.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m88k/m88k.h,v
retrieving revision 1.76
diff -p -2 -r1.76 m88k.h
*** config/m88k/m88k.h 28 Jan 2003 18:08:51 -0000 1.76
--- config/m88k/m88k.h 17 Apr 2003 20:09:03 -0000
*************** extern int flag_pic; /* -fpic */
*** 250,255 ****
/* Macro to define table for command options with values. */
! #define TARGET_OPTIONS { { "short-data-", &m88k_short_data }, \
! { "version-", &m88k_version } }
/* Do any checking or such that is needed after processing the -m switches. */
--- 250,255 ----
/* Macro to define table for command options with values. */
! #define TARGET_OPTIONS { { "short-data-", &m88k_short_data, 0}, \
! { "version-", &m88k_version, 0} }
/* Do any checking or such that is needed after processing the -m switches. */
Index: config/mcore/mcore.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore.h,v
retrieving revision 1.46
diff -p -2 -r1.46 mcore.h
*** config/mcore/mcore.h 19 Mar 2003 10:32:46 -0000 1.46
--- config/mcore/mcore.h 17 Apr 2003 20:09:03 -0000
*************** extern const char * mcore_stack_incremen
*** 177,181 ****
{ \
{"stack-increment=", & mcore_stack_increment_string, \
! N_("Maximum amount for a single stack increment operation")} \
}
--- 177,181 ----
{ \
{"stack-increment=", & mcore_stack_increment_string, \
! N_("Maximum amount for a single stack increment operation"), 0} \
}
Index: config/mips/mips.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/mips.h,v
retrieving revision 1.243
diff -p -2 -r1.243 mips.h
*** config/mips/mips.h 15 Apr 2003 20:57:11 -0000 1.243
--- config/mips/mips.h 17 Apr 2003 20:09:03 -0000
*************** extern void sbss_section PARAMS ((void)
*** 757,775 ****
SUBTARGET_TARGET_OPTIONS \
{ "tune=", &mips_tune_string, \
! N_("Specify CPU for scheduling purposes")}, \
{ "arch=", &mips_arch_string, \
! N_("Specify CPU for code generation purposes")}, \
{ "abi=", &mips_abi_string, \
! N_("Specify an ABI")}, \
{ "ips", &mips_isa_string, \
! N_("Specify a Standard MIPS ISA")}, \
{ "entry", &mips_entry_string, \
! N_("Use mips16 entry/exit psuedo ops")}, \
{ "no-mips16", &mips_no_mips16_string, \
! N_("Don't use MIPS16 instructions")}, \
{ "no-flush-func", &mips_cache_flush_func, \
! N_("Don't call any cache flush functions")}, \
{ "flush-func=", &mips_cache_flush_func, \
! N_("Specify cache flush function")}, \
}
--- 757,775 ----
SUBTARGET_TARGET_OPTIONS \
{ "tune=", &mips_tune_string, \
! N_("Specify CPU for scheduling purposes"), 0}, \
{ "arch=", &mips_arch_string, \
! N_("Specify CPU for code generation purposes"), 0}, \
{ "abi=", &mips_abi_string, \
! N_("Specify an ABI"), 0}, \
{ "ips", &mips_isa_string, \
! N_("Specify a Standard MIPS ISA"), 0}, \
{ "entry", &mips_entry_string, \
! N_("Use mips16 entry/exit psuedo ops"), 0}, \
{ "no-mips16", &mips_no_mips16_string, \
! N_("Don't use MIPS16 instructions"), 0}, \
{ "no-flush-func", &mips_cache_flush_func, \
! N_("Don't call any cache flush functions"), 0}, \
{ "flush-func=", &mips_cache_flush_func, \
! N_("Specify cache flush function"), 0}, \
}
Index: config/mmix/mmix.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mmix/mmix.h,v
retrieving revision 1.50
diff -p -2 -r1.50 mmix.h
*** config/mmix/mmix.h 28 Jan 2003 18:08:53 -0000 1.50
--- config/mmix/mmix.h 17 Apr 2003 20:09:03 -0000
*************** extern const char *mmix_cc1_ignored_opti
*** 130,136 ****
#define TARGET_OPTIONS \
{{"set-program-start=", &mmix_cc1_ignored_option, \
! N_("Set start-address of the program") }, \
{"set-data-start=", &mmix_cc1_ignored_option, \
! N_("Set start-address of data")}}
/* FIXME: There's no provision for profiling here. */
--- 130,136 ----
#define TARGET_OPTIONS \
{{"set-program-start=", &mmix_cc1_ignored_option, \
! N_("Set start-address of the program"), 0}, \
{"set-data-start=", &mmix_cc1_ignored_option, \
! N_("Set start-address of data"), 0} }
/* FIXME: There's no provision for profiling here. */
Index: config/pa/pa.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/pa.h,v
retrieving revision 1.188
diff -p -2 -r1.188 pa.h
*** config/pa/pa.h 16 Apr 2003 17:06:50 -0000 1.188
--- config/pa/pa.h 17 Apr 2003 20:09:03 -0000
*************** extern int target_flags;
*** 308,314 ****
{ \
{ "schedule=", &pa_cpu_string, \
! N_("Specify CPU for scheduling purposes") }, \
{ "arch=", &pa_arch_string, \
! N_("Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. 2.0 requires gas snapshot 19990413 or later.") }\
}
--- 308,314 ----
{ \
{ "schedule=", &pa_cpu_string, \
! N_("Specify CPU for scheduling purposes"), 0}, \
{ "arch=", &pa_arch_string, \
! N_("Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. 2.0 requires gas snapshot 19990413 or later."), 0}\
}
Index: config/rs6000/rs6000.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.h,v
retrieving revision 1.266
diff -p -2 -r1.266 rs6000.h
*** config/rs6000/rs6000.h 15 Apr 2003 09:56:52 -0000 1.266
--- config/rs6000/rs6000.h 17 Apr 2003 20:09:04 -0000
*************** extern enum processor_type rs6000_cpu;
*** 377,400 ****
{ \
{"cpu=", &rs6000_select[1].string, \
! N_("Use features of and schedule code for given CPU") }, \
{"tune=", &rs6000_select[2].string, \
! N_("Schedule code for given CPU") }, \
! {"debug=", &rs6000_debug_name, N_("Enable debug output") }, \
{"traceback=", &rs6000_traceback_name, \
! N_("Select full, part, or no traceback table") }, \
! {"abi=", &rs6000_abi_string, N_("Specify ABI to use") }, \
{"long-double-", &rs6000_long_double_size_string, \
! N_("Specify size of long double (64 or 128 bits)") }, \
{"isel=", &rs6000_isel_string, \
! N_("Specify yes/no if isel instructions should be generated") }, \
{"spe=", &rs6000_spe_string, \
! N_("Specify yes/no if SPE SIMD instructions should be generated") },\
{"float-gprs=", &rs6000_float_gprs_string, \
! N_("Specify yes/no if using floating point in the GPRs") }, \
! {"vrsave=", &rs6000_altivec_vrsave_string, \
! N_("Specify yes/no if VRSAVE instructions should be generated for AltiVec") }, \
{"longcall", &rs6000_longcall_switch, \
! N_("Avoid all range limits on call instructions") }, \
! {"no-longcall", &rs6000_longcall_switch, "" }, \
SUBTARGET_OPTIONS \
}
--- 377,400 ----
{ \
{"cpu=", &rs6000_select[1].string, \
! N_("Use features of and schedule code for given CPU"), 0}, \
{"tune=", &rs6000_select[2].string, \
! N_("Schedule code for given CPU"), 0}, \
! {"debug=", &rs6000_debug_name, N_("Enable debug output"), 0}, \
{"traceback=", &rs6000_traceback_name, \
! N_("Select full, part, or no traceback table"), 0}, \
! {"abi=", &rs6000_abi_string, N_("Specify ABI to use"), 0}, \
{"long-double-", &rs6000_long_double_size_string, \
! N_("Specify size of long double (64 or 128 bits)"), 0}, \
{"isel=", &rs6000_isel_string, \
! N_("Specify yes/no if isel instructions should be generated"), 0}, \
{"spe=", &rs6000_spe_string, \
! N_("Specify yes/no if SPE SIMD instructions should be generated"), 0},\
{"float-gprs=", &rs6000_float_gprs_string, \
! N_("Specify yes/no if using floating point in the GPRs"), 0}, \
! {"vrsave=", &rs6000_altivec_vrsave_string, \
! N_("Specify yes/no if VRSAVE instructions should be generated for AltiVec"), 0}, \
{"longcall", &rs6000_longcall_switch, \
! N_("Avoid all range limits on call instructions"), 0}, \
! {"no-longcall", &rs6000_longcall_switch, "", 0}, \
SUBTARGET_OPTIONS \
}
Index: config/rs6000/sysv4.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/sysv4.h,v
retrieving revision 1.120
diff -p -2 -r1.120 sysv4.h
*** config/rs6000/sysv4.h 13 Apr 2003 17:51:08 -0000 1.120
--- config/rs6000/sysv4.h 17 Apr 2003 20:09:04 -0000
*************** extern const char *rs6000_sdata_name;
*** 83,89 ****
/* Override rs6000.h definition. */
#undef SUBTARGET_OPTIONS
! #define SUBTARGET_OPTIONS \
! { "call-", &rs6000_abi_name, N_("Select ABI calling convention") }, \
! { "sdata=", &rs6000_sdata_name, N_("Select method for sdata handling") }
/* Max # of bytes for variables to automatically be put into the .sdata
--- 83,89 ----
/* Override rs6000.h definition. */
#undef SUBTARGET_OPTIONS
! #define SUBTARGET_OPTIONS \
! { "call-", &rs6000_abi_name, N_("Select ABI calling convention"), 0}, \
! { "sdata=", &rs6000_sdata_name, N_("Select method for sdata handling"), 0}
/* Max # of bytes for variables to automatically be put into the .sdata
Index: config/s390/s390.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/s390/s390.h,v
retrieving revision 1.68
diff -p -2 -r1.68 s390.h
*** config/s390/s390.h 17 Apr 2003 09:59:31 -0000 1.68
--- config/s390/s390.h 17 Apr 2003 20:09:04 -0000
*************** extern int target_flags;
*** 115,121 ****
#define TARGET_OPTIONS \
{ { "tune=", &s390_tune_string, \
! N_("Schedule code for given CPU")}, \
{ "arch=", &s390_arch_string, \
! N_("Generate code for given CPU")}, \
}
--- 115,121 ----
#define TARGET_OPTIONS \
{ { "tune=", &s390_tune_string, \
! N_("Schedule code for given CPU"), 0}, \
{ "arch=", &s390_arch_string, \
! N_("Generate code for given CPU"), 0}, \
}
Index: config/sparc/sparc.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sparc/sparc.h,v
retrieving revision 1.221
diff -p -2 -r1.221 sparc.h
*** config/sparc/sparc.h 28 Mar 2003 08:07:03 -0000 1.221
--- config/sparc/sparc.h 17 Apr 2003 20:09:04 -0000
*************** extern enum processor_type sparc_cpu;
*** 633,641 ****
{ \
{ "cpu=", &sparc_select[1].string, \
! N_("Use features of and schedule code for given CPU") }, \
{ "tune=", &sparc_select[2].string, \
! N_("Schedule code for given CPU") }, \
{ "cmodel=", &sparc_cmodel_string, \
! N_("Use given SPARC code model") }, \
SUBTARGET_OPTIONS \
}
--- 633,641 ----
{ \
{ "cpu=", &sparc_select[1].string, \
! N_("Use features of and schedule code for given CPU"), 0}, \
{ "tune=", &sparc_select[2].string, \
! N_("Schedule code for given CPU"), 0}, \
{ "cmodel=", &sparc_cmodel_string, \
! N_("Use given SPARC code model"), 0}, \
SUBTARGET_OPTIONS \
}
Index: config/v850/v850.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/v850/v850.h,v
retrieving revision 1.82
diff -p -2 -r1.82 v850.h
*** config/v850/v850.h 17 Apr 2003 11:16:30 -0000 1.82
--- config/v850/v850.h 17 Apr 2003 20:09:04 -0000
*************** extern struct small_memory_info small_me
*** 221,232 ****
{ \
{ "tda=", &small_memory[ (int)SMALL_MEMORY_TDA ].value, \
! N_("Set the max size of data eligible for the TDA area") }, \
! { "tda-", &small_memory[ (int)SMALL_MEMORY_TDA ].value, "" }, \
{ "sda=", &small_memory[ (int)SMALL_MEMORY_SDA ].value, \
! N_("Set the max size of data eligible for the SDA area") }, \
! { "sda-", &small_memory[ (int)SMALL_MEMORY_SDA ].value, "" }, \
{ "zda=", &small_memory[ (int)SMALL_MEMORY_ZDA ].value, \
! N_("Set the max size of data eligible for the ZDA area") }, \
! { "zda-", &small_memory[ (int)SMALL_MEMORY_ZDA ].value, "" }, \
}
--- 221,232 ----
{ \
{ "tda=", &small_memory[ (int)SMALL_MEMORY_TDA ].value, \
! N_("Set the max size of data eligible for the TDA area"), 0}, \
! { "tda-", &small_memory[ (int)SMALL_MEMORY_TDA ].value, "", 0}, \
{ "sda=", &small_memory[ (int)SMALL_MEMORY_SDA ].value, \
! N_("Set the max size of data eligible for the SDA area"), 0}, \
! { "sda-", &small_memory[ (int)SMALL_MEMORY_SDA ].value, "", 0}, \
{ "zda=", &small_memory[ (int)SMALL_MEMORY_ZDA ].value, \
! N_("Set the max size of data eligible for the ZDA area"), 0}, \
! { "zda-", &small_memory[ (int)SMALL_MEMORY_ZDA ].value, "", 0}, \
}
Index: doc/tm.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/tm.texi,v
retrieving revision 1.212
diff -p -2 -r1.212 tm.texi
*** doc/tm.texi 15 Apr 2003 20:57:12 -0000 1.212
--- doc/tm.texi 17 Apr 2003 20:09:05 -0000
*************** subgrouping for each command option.
*** 763,776 ****
Each subgrouping contains a string constant, that defines the fixed part
! of the option name, the address of a variable, and a description string.
! Non-empty description strings should be marked with @code{N_(@dots{})} for
! @command{xgettext}. Please do not mark empty strings because the empty
! string is reserved by GNU gettext. @code{gettext("")} returns the header entry
! of the message catalog with meta information, not the empty string.
!
! The variable, type @code{char *}, is set to the variable part of the
! given option if the fixed part matches. The actual option name is made
! by appending @samp{-m} to the specified name. Again, each option should
! also be documented in @file{invoke.texi}.
Here is an example which defines @option{-mshort-data- at var{number}} dot If the
--- 763,782 ----
Each subgrouping contains a string constant, that defines the fixed part
! of the option name, the address of a variable, a description string, and
! a default value. Non-empty description strings should be marked with
! @code{N_(@dots{})} for @command{xgettext}. Please do not mark empty
! strings because the empty string is reserved by GNU
! gettext. @code{gettext("")} returns the header entry of the message
! catalog with meta information, not the empty string.
!
! If the default value is @code{NULL}, then the variable, type @code{char
! *}, is set to the variable part of the given option if the fixed part
! matches. The actual option name is made by appending @samp{-m} to the
! specified name. Again, each option should also be documented in
! @file{invoke.texi}.
!
! If the default value is non- at code{NULL}, then the variable is instead
! set to the default value part of the given option if the entire option
! matches.
Here is an example which defines @option{-mshort-data- at var{number}} dot If the
*************** extern char *m88k_short_data;
*** 782,786 ****
#define TARGET_OPTIONS \
@{ @{ "short-data-", &m88k_short_data, \
! N_("Specify the size of the short data section") @} @}
@end smallexample
--- 788,823 ----
#define TARGET_OPTIONS \
@{ @{ "short-data-", &m88k_short_data, \
! N_("Specify the size of the short data section"), 0 @} @}
! @end smallexample
!
! Here is an variant of the above that allows you to also specify just
! @option{-mshort-data} where a default of @code{64} is used.
!
! @smallexample
! extern char *m88k_short_data;
! #define TARGET_OPTIONS \
! @{ @{ "short-data-", &m88k_short_data, \
! N_("Specify the size of the short data section"), 0 @} \
! @{ "short-data", &m88k_short_data, "", "64" @},
! @}
! @end smallexample
!
! Here is an example which defines @option{-mno-alu}, @option{-malu1}, and
! @option{-malu2} as a three-state switch, along with suitable macros for
! checking the state of the option (documentation is elided for brevity).
!
! @smallexample
! [chip.c]
! char *chip_alu = ""; /* Specify default here. */
!
! [chip.h]
! extern char *chip_alu;
! #define TARGET_OPTIONS \
! @{ @{ "no-alu", &chip_alu, "", "" @}, \
! @{ "alu1", &chip_alu, "", "1" @}, \
! @{ "alu2", &chip_alu, "", "2" @}, @}
! #define TARGET_ALU (chip_alu[0] != '\0')
! #define TARGET_ALU1 (chip_alu[0] == '1')
! #define TARGET_ALU2 (chip_alu[0] == '2')
@end smallexample