mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-14 15:21:01 +08:00
builtins.c (expand_builtin_setjmp_receiver): Const-ify.
* builtins.c (expand_builtin_setjmp_receiver): Const-ify. * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length): Likewise. * c-dump.c (dump_option_value_info): Likewise. * c-format.c (format_length_info, format_char_info, format_flag_spec, format_flag_pair, format_kind_info): Likewise. * collect2.c (names): Likewise. * cppdefault.h (default_include): Likewise. * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise. * flow.c (life_analysis): Likewise. * gcc.c (dir_separator_str, modify_target, option_map, target_option_translations, spec_list_1, extra_specs_1, init_spec): Likewise. * gcov.c (gcov_version_string): Likewise. * genattr.c (write_units): Likewise. * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise. * gengenrtl.c (rtx_definition, defs): Likewise. * genrecog.c (pred_table): Likewise. * global.c (global_alloc): Likewise. * lcm.c (optimize_mode_switching): Likewise. * local-alloc.c (find_free_reg): Likewise. * params.h (param_info): Likewise. * predict.c (predictor_info): Likewise. * protoize.c (unexpansion_struct): Likewise. * real.c (bmask): Likewise. * recog.h (insn_operand_data, insn_data): Likewise. * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise. * stmt.c (expand_nl_goto_receiver): Likewise. * toplev.c (da, debug_args, lang_opt, documented_lang_options, target_switches, target_options): Likewise. * tradcif.y (token, tokentab2, yylex): Likewise. * tree.h (attribute_spec): Likewise. * alpha.c (override_options, alpha_lookup_xfloating_lib_func): Likewise. * arc.c (arc_output_function_epilogue): Likewise. * arm.c (processors, all_cores, all_architectures, arm_override_options, isr_attribute_arg, isr_attribute_args, arm_isr_value): Likewise. * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc): Likewise. * c4x.c (c4x_int_reglist): Likewise. * d30v.c (override_options): Likewise. * h8300.c (shift_insn): Likewise. * i386.c (size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost, ix86_expand_sse_comi, ix86_expand_sse_compare, override_options, builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg, ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise. * i386.h (processor_costs, ix86_cost): Likewise. * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise. * m68hc11.h (processor_costs, m68hc11_cost): Likewise. * m68k.c (codes_68881, codes_FPA): Likewise. * m88k.c (mode_from_align, max_from_align, all_from_align, best_from_align, m_options): Likewise. * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise. * mcore.c (mode_from_align): Likewise. * mips/elf64.h (UNIQUE_SECTION): Likewise. * mips/iris6gld.h (UNIQUE_SECTION): Likewise. * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise. * mips.h (mips_regno_to_class): Likewise. * ns32k.c (scales): Likewise. * pa.c (import_string, magic_milli): Likewise. * rs6000.c (alt_reg_names, rs6000_override_options): Likewise. * sparc.c (leaf_reg_remap, sparc_override_options, reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders): Likewise. * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise. cp: * class.c (build_vtable_entry_ref): Const-ify. * decl.c (predefined_identifier, initialize_predefined_identifiers): Likewise. * init.c (build_new_1): Likewise. * lex.c (cplus_tree_code_type, cplus_tree_code_length, resword): Likewise. f: * bad.c (_ffebad_message_, ffebad_messages_): Const-ify. * bld.c (ffebld_arity_op_): Likewise. * bld.h (ffebld_arity_op_): Likewise. * com.c (ffecom_init_0): Likewise. * intdoc.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_, _ffeintrin_imp_, names, gens, imps, specs, cc_pair, cc_descriptions, cc_summaries): Likewise. * intrin.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_, _ffeintrin_imp_, ffeintrin_names_, ffeintrin_gens_, ffeintrin_imps_, ffeintrin_specs_): Likewise. java: * jcf-io.c (format_uint): Const-ify. * lang.c (java_tree_code_type, java_tree_code_length): Likewise. * lex.c (java_get_line_col): Likewise. * parse.y (build_incdec): Likewise. From-SVN: r46062
This commit is contained in:
parent
d1d18b4663
commit
8b60264b0d
@ -1,3 +1,74 @@
|
||||
2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* builtins.c (expand_builtin_setjmp_receiver): Const-ify.
|
||||
* c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
|
||||
Likewise.
|
||||
* c-dump.c (dump_option_value_info): Likewise.
|
||||
* c-format.c (format_length_info, format_char_info,
|
||||
format_flag_spec, format_flag_pair, format_kind_info): Likewise.
|
||||
* collect2.c (names): Likewise.
|
||||
* cppdefault.h (default_include): Likewise.
|
||||
* cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
|
||||
* flow.c (life_analysis): Likewise.
|
||||
* gcc.c (dir_separator_str, modify_target, option_map,
|
||||
target_option_translations, spec_list_1, extra_specs_1,
|
||||
init_spec): Likewise.
|
||||
* gcov.c (gcov_version_string): Likewise.
|
||||
* genattr.c (write_units): Likewise.
|
||||
* genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
|
||||
* gengenrtl.c (rtx_definition, defs): Likewise.
|
||||
* genrecog.c (pred_table): Likewise.
|
||||
* global.c (global_alloc): Likewise.
|
||||
* lcm.c (optimize_mode_switching): Likewise.
|
||||
* local-alloc.c (find_free_reg): Likewise.
|
||||
* params.h (param_info): Likewise.
|
||||
* predict.c (predictor_info): Likewise.
|
||||
* protoize.c (unexpansion_struct): Likewise.
|
||||
* real.c (bmask): Likewise.
|
||||
* recog.h (insn_operand_data, insn_data): Likewise.
|
||||
* regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
|
||||
* stmt.c (expand_nl_goto_receiver): Likewise.
|
||||
* toplev.c (da, debug_args, lang_opt, documented_lang_options,
|
||||
target_switches, target_options): Likewise.
|
||||
* tradcif.y (token, tokentab2, yylex): Likewise.
|
||||
* tree.h (attribute_spec): Likewise.
|
||||
|
||||
* alpha.c (override_options, alpha_lookup_xfloating_lib_func):
|
||||
Likewise.
|
||||
* arc.c (arc_output_function_epilogue): Likewise.
|
||||
* arm.c (processors, all_cores, all_architectures,
|
||||
arm_override_options, isr_attribute_arg, isr_attribute_args,
|
||||
arm_isr_value): Likewise.
|
||||
* avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
|
||||
Likewise.
|
||||
* c4x.c (c4x_int_reglist): Likewise.
|
||||
* d30v.c (override_options): Likewise.
|
||||
* h8300.c (shift_insn): Likewise.
|
||||
* i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
|
||||
pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
|
||||
ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
|
||||
builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
|
||||
ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
|
||||
* i386.h (processor_costs, ix86_cost): Likewise.
|
||||
* m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
|
||||
* m68hc11.h (processor_costs, m68hc11_cost): Likewise.
|
||||
* m68k.c (codes_68881, codes_FPA): Likewise.
|
||||
* m88k.c (mode_from_align, max_from_align, all_from_align,
|
||||
best_from_align, m_options): Likewise.
|
||||
* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
|
||||
* mcore.c (mode_from_align): Likewise.
|
||||
* mips/elf64.h (UNIQUE_SECTION): Likewise.
|
||||
* mips/iris6gld.h (UNIQUE_SECTION): Likewise.
|
||||
* mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
|
||||
* mips.h (mips_regno_to_class): Likewise.
|
||||
* ns32k.c (scales): Likewise.
|
||||
* pa.c (import_string, magic_milli): Likewise.
|
||||
* rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
|
||||
* sparc.c (leaf_reg_remap, sparc_override_options,
|
||||
reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
|
||||
Likewise.
|
||||
* sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
|
||||
|
||||
2001-10-07 Dale Johannesen <dalej@apple.com>
|
||||
|
||||
* reload1.c (reload_reg_free_p): Teach register interference
|
||||
|
@ -530,7 +530,7 @@ expand_builtin_setjmp_receiver (receiver_label)
|
||||
{
|
||||
#ifdef ELIMINABLE_REGS
|
||||
size_t i;
|
||||
static struct elims {int from, to;} elim_regs[] = ELIMINABLE_REGS;
|
||||
static const struct elims {const int from, to;} elim_regs[] = ELIMINABLE_REGS;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (elim_regs); i++)
|
||||
if (elim_regs[i].from == ARG_POINTER_REGNUM
|
||||
|
@ -220,9 +220,9 @@ int skip_evaluation;
|
||||
/* Information about how a function name is generated. */
|
||||
struct fname_var_t
|
||||
{
|
||||
tree *decl; /* pointer to the VAR_DECL. */
|
||||
unsigned rid; /* RID number for the identifier. */
|
||||
int pretty; /* How pretty is it? */
|
||||
tree *const decl; /* pointer to the VAR_DECL. */
|
||||
const unsigned rid; /* RID number for the identifier. */
|
||||
const int pretty; /* How pretty is it? */
|
||||
};
|
||||
|
||||
/* The three ways of getting then name of the current function. */
|
||||
@ -3446,7 +3446,7 @@ c_unsafe_for_reeval (exp)
|
||||
|
||||
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
|
||||
|
||||
static char c_tree_code_type[] = {
|
||||
static const char c_tree_code_type[] = {
|
||||
'x',
|
||||
#include "c-common.def"
|
||||
};
|
||||
@ -3458,7 +3458,7 @@ static char c_tree_code_type[] = {
|
||||
|
||||
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
|
||||
|
||||
static int c_tree_code_length[] = {
|
||||
static const int c_tree_code_length[] = {
|
||||
0,
|
||||
#include "c-common.def"
|
||||
};
|
||||
|
@ -809,8 +809,8 @@ static struct dump_file_info dump_files[TDI_end] =
|
||||
/* Define a name->number mapping for a dump flag value. */
|
||||
struct dump_option_value_info
|
||||
{
|
||||
const char *name; /* the name of the value */
|
||||
int value; /* the value of the name */
|
||||
const char *const name; /* the name of the value */
|
||||
const int value; /* the value of the name */
|
||||
};
|
||||
|
||||
/* Table of dump options. This must be consistent with the TDF_* flags
|
||||
|
@ -387,15 +387,15 @@ enum
|
||||
typedef struct
|
||||
{
|
||||
/* Name of the single-character length modifier. */
|
||||
const char *name;
|
||||
const char *const name;
|
||||
/* Index into a format_char_info.types array. */
|
||||
enum format_lengths index;
|
||||
const enum format_lengths index;
|
||||
/* Standard version this length appears in. */
|
||||
enum format_std_version std;
|
||||
const enum format_std_version std;
|
||||
/* Same, if the modifier can be repeated, or NULL if it can't. */
|
||||
const char *double_name;
|
||||
enum format_lengths double_index;
|
||||
enum format_std_version double_std;
|
||||
const char *const double_name;
|
||||
const enum format_lengths double_index;
|
||||
const enum format_std_version double_std;
|
||||
} format_length_info;
|
||||
|
||||
|
||||
@ -424,18 +424,18 @@ typedef struct
|
||||
which act identically), and the length modifiers used with it. */
|
||||
typedef struct
|
||||
{
|
||||
const char *format_chars;
|
||||
int pointer_count;
|
||||
enum format_std_version std;
|
||||
const char *const format_chars;
|
||||
const int pointer_count;
|
||||
const enum format_std_version std;
|
||||
/* Types accepted for each length modifier. */
|
||||
format_type_detail types[FMT_LEN_MAX];
|
||||
const format_type_detail types[FMT_LEN_MAX];
|
||||
/* List of other modifier characters allowed with these specifiers.
|
||||
This lists flags, and additionally "w" for width, "p" for precision
|
||||
(right precision, for strfmon), "#" for left precision (strfmon),
|
||||
"a" for scanf "a" allocation extension (not applicable in C99 mode),
|
||||
"*" for scanf suppression, and "E" and "O" for those strftime
|
||||
modifiers. */
|
||||
const char *flag_chars;
|
||||
const char *const flag_chars;
|
||||
/* List of additional flags describing these conversion specifiers.
|
||||
"c" for generic character pointers being allowed, "2" for strftime
|
||||
two digit year formats, "3" for strftime formats giving two digit
|
||||
@ -445,7 +445,7 @@ typedef struct
|
||||
"R" if the argument is a pointer which is dereferenced and read from,
|
||||
"i" for printf integer formats where the '0' flag is ignored with
|
||||
precision, and "[" for the starting character of a scanf scanset. */
|
||||
const char *flags2;
|
||||
const char *const flags2;
|
||||
} format_char_info;
|
||||
|
||||
|
||||
@ -453,7 +453,7 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
/* The flag character in question (0 for end of array). */
|
||||
int flag_char;
|
||||
const int flag_char;
|
||||
/* Zero if this entry describes the flag character in general, or a
|
||||
non-zero character that may be found in flags2 if it describes the
|
||||
flag when used with certain formats only. If the latter, only
|
||||
@ -462,18 +462,18 @@ typedef struct
|
||||
will be used, if non-NULL and the standard version is higher than
|
||||
the unpredicated one, for any pedantic warning. For example, 'o'
|
||||
for strftime formats (meaning 'O' is an extension over C99). */
|
||||
int predicate;
|
||||
const int predicate;
|
||||
/* Nonzero if the next character after this flag in the format should
|
||||
be skipped ('=' in strfmon), zero otherwise. */
|
||||
int skip_next_char;
|
||||
const int skip_next_char;
|
||||
/* The name to use for this flag in diagnostic messages. For example,
|
||||
N_("`0' flag"), N_("field width"). */
|
||||
const char *name;
|
||||
const char *const name;
|
||||
/* Long name for this flag in diagnostic messages; currently only used for
|
||||
"ISO C does not support ...". For example, N_("the `I' printf flag"). */
|
||||
const char *long_name;
|
||||
const char *const long_name;
|
||||
/* The standard version in which it appeared. */
|
||||
enum format_std_version std;
|
||||
const enum format_std_version std;
|
||||
} format_flag_spec;
|
||||
|
||||
|
||||
@ -482,16 +482,16 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
/* The first flag character in question (0 for end of array). */
|
||||
int flag_char1;
|
||||
const int flag_char1;
|
||||
/* The second flag character. */
|
||||
int flag_char2;
|
||||
const int flag_char2;
|
||||
/* Non-zero if the message should say that the first flag is ignored with
|
||||
the second, zero if the combination should simply be objected to. */
|
||||
int ignored;
|
||||
const int ignored;
|
||||
/* Zero if this entry applies whenever this flag combination occurs,
|
||||
a non-zero character from flags2 if it only applies in some
|
||||
circumstances (e.g. 'i' for printf formats ignoring 0 with precision). */
|
||||
int predicate;
|
||||
const int predicate;
|
||||
} format_flag_pair;
|
||||
|
||||
|
||||
@ -500,43 +500,43 @@ typedef struct
|
||||
{
|
||||
/* The name of this kind of format, for use in diagnostics. Also
|
||||
the name of the attribute (without preceding and following __). */
|
||||
const char *name;
|
||||
const char *const name;
|
||||
/* Specifications of the length modifiers accepted; possibly NULL. */
|
||||
const format_length_info *length_char_specs;
|
||||
const format_length_info *const length_char_specs;
|
||||
/* Details of the conversion specification characters accepted. */
|
||||
const format_char_info *conversion_specs;
|
||||
const format_char_info *const conversion_specs;
|
||||
/* String listing the flag characters that are accepted. */
|
||||
const char *flag_chars;
|
||||
const char *const flag_chars;
|
||||
/* String listing modifier characters (strftime) accepted. May be NULL. */
|
||||
const char *modifier_chars;
|
||||
const char *const modifier_chars;
|
||||
/* Details of the flag characters, including pseudo-flags. */
|
||||
const format_flag_spec *flag_specs;
|
||||
const format_flag_spec *const flag_specs;
|
||||
/* Details of bad combinations of flags. */
|
||||
const format_flag_pair *bad_flag_pairs;
|
||||
const format_flag_pair *const bad_flag_pairs;
|
||||
/* Flags applicable to this kind of format. */
|
||||
int flags;
|
||||
const int flags;
|
||||
/* Flag character to treat a width as, or 0 if width not used. */
|
||||
int width_char;
|
||||
const int width_char;
|
||||
/* Flag character to treat a left precision (strfmon) as,
|
||||
or 0 if left precision not used. */
|
||||
int left_precision_char;
|
||||
const int left_precision_char;
|
||||
/* Flag character to treat a precision (for strfmon, right precision) as,
|
||||
or 0 if precision not used. */
|
||||
int precision_char;
|
||||
const int precision_char;
|
||||
/* If a flag character has the effect of suppressing the conversion of
|
||||
an argument ('*' in scanf), that flag character, otherwise 0. */
|
||||
int suppression_char;
|
||||
const int suppression_char;
|
||||
/* Flag character to treat a length modifier as (ignored if length
|
||||
modifiers not used). Need not be placed in flag_chars for conversion
|
||||
specifiers, but is used to check for bad combinations such as length
|
||||
modifier with assignment suppression in scanf. */
|
||||
int length_code_char;
|
||||
const int length_code_char;
|
||||
/* Pointer to type of argument expected if '*' is used for a width,
|
||||
or NULL if '*' not used for widths. */
|
||||
tree *width_type;
|
||||
tree *const width_type;
|
||||
/* Pointer to type of argument expected if '*' is used for a precision,
|
||||
or NULL if '*' not used for precisions. */
|
||||
tree *precision_type;
|
||||
tree *const precision_type;
|
||||
} format_kind_info;
|
||||
|
||||
|
||||
|
@ -685,10 +685,10 @@ utf8_extend_token (c)
|
||||
#if 0
|
||||
struct try_type
|
||||
{
|
||||
tree *node_var;
|
||||
char unsigned_flag;
|
||||
char long_flag;
|
||||
char long_long_flag;
|
||||
tree *const node_var;
|
||||
const char unsigned_flag;
|
||||
const char long_flag;
|
||||
const char long_long_flag;
|
||||
};
|
||||
|
||||
struct try_type type_sequence[] =
|
||||
|
@ -557,7 +557,8 @@ static int
|
||||
is_ctor_dtor (s)
|
||||
const char *s;
|
||||
{
|
||||
struct names { const char *const name; int len; int ret; int two_underscores; };
|
||||
struct names { const char *const name; const int len; const int ret;
|
||||
const int two_underscores; };
|
||||
|
||||
register struct names *p;
|
||||
register int ch;
|
||||
|
@ -221,10 +221,10 @@ void
|
||||
override_options ()
|
||||
{
|
||||
int i;
|
||||
static struct cpu_table {
|
||||
const char *name;
|
||||
enum processor_type processor;
|
||||
int flags;
|
||||
static const struct cpu_table {
|
||||
const char *const name;
|
||||
const enum processor_type processor;
|
||||
const int flags;
|
||||
} cpu_table[] = {
|
||||
#define EV5_MASK (MASK_CPU_EV5)
|
||||
#define EV6_MASK (MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX)
|
||||
@ -2985,8 +2985,8 @@ alpha_lookup_xfloating_lib_func (code)
|
||||
{
|
||||
struct xfloating_op
|
||||
{
|
||||
enum rtx_code code;
|
||||
const char *func;
|
||||
const enum rtx_code code;
|
||||
const char *const func;
|
||||
};
|
||||
|
||||
static const struct xfloating_op vms_xfloating_ops[] =
|
||||
|
@ -1299,7 +1299,7 @@ arc_output_function_epilogue (file, size)
|
||||
|
||||
/* Emit the return instruction. */
|
||||
{
|
||||
static int regs[4] = {
|
||||
static const int regs[4] = {
|
||||
0, RETURN_ADDR_REGNUM, ILINK1_REGNUM, ILINK2_REGNUM
|
||||
};
|
||||
fprintf (file, "\tj.d %s\n", reg_names[regs[fn_type]]);
|
||||
|
@ -286,13 +286,13 @@ static const char *const arm_condition_codes[] =
|
||||
|
||||
struct processors
|
||||
{
|
||||
const char * name;
|
||||
unsigned int flags;
|
||||
const char *const name;
|
||||
const unsigned int flags;
|
||||
};
|
||||
|
||||
/* Not all of these give usefully different compilation alternatives,
|
||||
but there is no simple way of generalizing them. */
|
||||
static struct processors all_cores[] =
|
||||
static const struct processors all_cores[] =
|
||||
{
|
||||
/* ARM Cores */
|
||||
|
||||
@ -345,7 +345,7 @@ static struct processors all_cores[] =
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
static struct processors all_architectures[] =
|
||||
static const struct processors all_architectures[] =
|
||||
{
|
||||
/* ARM Architectures */
|
||||
|
||||
@ -436,12 +436,12 @@ arm_override_options ()
|
||||
/* If the user did not specify a processor, choose one for them. */
|
||||
if (insn_flags == 0)
|
||||
{
|
||||
struct processors * sel;
|
||||
const struct processors * sel;
|
||||
unsigned int sought;
|
||||
static struct cpu_default
|
||||
static const struct cpu_default
|
||||
{
|
||||
int cpu;
|
||||
const char * name;
|
||||
const int cpu;
|
||||
const char *const name;
|
||||
}
|
||||
cpu_defaults[] =
|
||||
{
|
||||
@ -460,7 +460,7 @@ arm_override_options ()
|
||||
{ TARGET_CPU_generic, "arm" },
|
||||
{ 0, 0 }
|
||||
};
|
||||
struct cpu_default * def;
|
||||
const struct cpu_default * def;
|
||||
|
||||
/* Find the default. */
|
||||
for (def = cpu_defaults; def->name; def++)
|
||||
@ -513,7 +513,7 @@ arm_override_options ()
|
||||
if (sel->name == NULL)
|
||||
{
|
||||
unsigned int current_bit_count = 0;
|
||||
struct processors * best_fit = NULL;
|
||||
const struct processors * best_fit = NULL;
|
||||
|
||||
/* Ideally we would like to issue an error message here
|
||||
saying that it was not possible to find a CPU compatible
|
||||
@ -760,12 +760,12 @@ arm_add_gc_roots ()
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char * arg;
|
||||
unsigned long return_value;
|
||||
const char *const arg;
|
||||
const unsigned long return_value;
|
||||
}
|
||||
isr_attribute_arg;
|
||||
|
||||
static isr_attribute_arg isr_attribute_args [] =
|
||||
static const isr_attribute_arg isr_attribute_args [] =
|
||||
{
|
||||
{ "IRQ", ARM_FT_ISR },
|
||||
{ "irq", ARM_FT_ISR },
|
||||
@ -789,7 +789,7 @@ static unsigned long
|
||||
arm_isr_value (argument)
|
||||
tree argument;
|
||||
{
|
||||
isr_attribute_arg * ptr;
|
||||
const isr_attribute_arg * ptr;
|
||||
const char * arg;
|
||||
|
||||
/* No argument - default to IRQ. */
|
||||
|
@ -120,8 +120,8 @@ enum avr_arch {
|
||||
};
|
||||
|
||||
struct mcu_type_s {
|
||||
const char *name;
|
||||
enum avr_arch arch;
|
||||
const char *const name;
|
||||
const enum avr_arch arch;
|
||||
};
|
||||
|
||||
/* List of all known AVR MCU types - if updated, it has to be kept
|
||||
@ -242,7 +242,7 @@ avr_init_once ()
|
||||
|
||||
/* return register class from register number */
|
||||
|
||||
static int reg_class_tab[]={
|
||||
static const int reg_class_tab[]={
|
||||
GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,
|
||||
GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,
|
||||
GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,GENERAL_REGS,
|
||||
@ -4831,7 +4831,7 @@ void
|
||||
order_regs_for_local_alloc ()
|
||||
{
|
||||
unsigned int i;
|
||||
int order_0[] = {
|
||||
static const int order_0[] = {
|
||||
24,25,
|
||||
18,19,
|
||||
20,21,
|
||||
@ -4843,7 +4843,7 @@ order_regs_for_local_alloc ()
|
||||
0,1,
|
||||
32,33,34,35
|
||||
};
|
||||
int order_1[] = {
|
||||
static const int order_1[] = {
|
||||
18,19,
|
||||
20,21,
|
||||
22,23,
|
||||
@ -4855,7 +4855,7 @@ order_regs_for_local_alloc ()
|
||||
0,1,
|
||||
32,33,34,35
|
||||
};
|
||||
int order_2[] = {
|
||||
static const int order_2[] = {
|
||||
25,24,
|
||||
23,22,
|
||||
21,20,
|
||||
@ -4869,9 +4869,9 @@ order_regs_for_local_alloc ()
|
||||
32,33,34,35
|
||||
};
|
||||
|
||||
int *order = (TARGET_ORDER_1 ? order_1 :
|
||||
TARGET_ORDER_2 ? order_2 :
|
||||
order_0);
|
||||
const int *order = (TARGET_ORDER_1 ? order_1 :
|
||||
TARGET_ORDER_2 ? order_2 :
|
||||
order_0);
|
||||
for (i=0; i < ARRAY_SIZE (order_0); ++i)
|
||||
reg_alloc_order[i] = order[i];
|
||||
}
|
||||
|
@ -503,7 +503,7 @@ c4x_hard_regno_rename_ok (regno1, regno2)
|
||||
Don't use R0 to pass arguments in, we use 0 to indicate a stack
|
||||
argument. */
|
||||
|
||||
static int c4x_int_reglist[3][6] =
|
||||
static const int c4x_int_reglist[3][6] =
|
||||
{
|
||||
{AR2_REGNO, R2_REGNO, R3_REGNO, RC_REGNO, RS_REGNO, RE_REGNO},
|
||||
{AR2_REGNO, R3_REGNO, RC_REGNO, RS_REGNO, RE_REGNO, 0},
|
||||
|
@ -247,7 +247,7 @@ override_options ()
|
||||
|
||||
#if 0
|
||||
{
|
||||
static char *names[] = REG_CLASS_NAMES;
|
||||
static const char *const names[] = REG_CLASS_NAMES;
|
||||
fprintf (stderr, "Register %s class is %s, can hold modes", reg_names[regno], names[class]);
|
||||
for (mode1 = VOIDmode;
|
||||
(int)mode1 < NUM_MACHINE_MODES;
|
||||
|
@ -2006,8 +2006,8 @@ enum shift_mode
|
||||
|
||||
struct shift_insn
|
||||
{
|
||||
const char *assembler;
|
||||
int cc_valid;
|
||||
const char *const assembler;
|
||||
const int cc_valid;
|
||||
};
|
||||
|
||||
/* Assembler instruction shift table.
|
||||
|
@ -48,6 +48,7 @@ Boston, MA 02111-1307, USA. */
|
||||
#endif
|
||||
|
||||
/* Processor costs (relative to an add) */
|
||||
static const
|
||||
struct processor_costs size_cost = { /* costs for tunning for size */
|
||||
2, /* cost of an add instruction */
|
||||
3, /* cost of a lea instruction */
|
||||
@ -80,6 +81,7 @@ struct processor_costs size_cost = { /* costs for tunning for size */
|
||||
3, /* MMX or SSE register to integer */
|
||||
};
|
||||
/* Processor costs (relative to an add) */
|
||||
static const
|
||||
struct processor_costs i386_cost = { /* 386 specific costs */
|
||||
1, /* cost of an add instruction */
|
||||
1, /* cost of a lea instruction */
|
||||
@ -112,6 +114,7 @@ struct processor_costs i386_cost = { /* 386 specific costs */
|
||||
3, /* MMX or SSE register to integer */
|
||||
};
|
||||
|
||||
static const
|
||||
struct processor_costs i486_cost = { /* 486 specific costs */
|
||||
1, /* cost of an add instruction */
|
||||
1, /* cost of a lea instruction */
|
||||
@ -144,6 +147,7 @@ struct processor_costs i486_cost = { /* 486 specific costs */
|
||||
3 /* MMX or SSE register to integer */
|
||||
};
|
||||
|
||||
static const
|
||||
struct processor_costs pentium_cost = {
|
||||
1, /* cost of an add instruction */
|
||||
1, /* cost of a lea instruction */
|
||||
@ -176,6 +180,7 @@ struct processor_costs pentium_cost = {
|
||||
3 /* MMX or SSE register to integer */
|
||||
};
|
||||
|
||||
static const
|
||||
struct processor_costs pentiumpro_cost = {
|
||||
1, /* cost of an add instruction */
|
||||
1, /* cost of a lea instruction */
|
||||
@ -208,6 +213,7 @@ struct processor_costs pentiumpro_cost = {
|
||||
3 /* MMX or SSE register to integer */
|
||||
};
|
||||
|
||||
static const
|
||||
struct processor_costs k6_cost = {
|
||||
1, /* cost of an add instruction */
|
||||
2, /* cost of a lea instruction */
|
||||
@ -240,6 +246,7 @@ struct processor_costs k6_cost = {
|
||||
6 /* MMX or SSE register to integer */
|
||||
};
|
||||
|
||||
static const
|
||||
struct processor_costs athlon_cost = {
|
||||
1, /* cost of an add instruction */
|
||||
2, /* cost of a lea instruction */
|
||||
@ -272,6 +279,7 @@ struct processor_costs athlon_cost = {
|
||||
6 /* MMX or SSE register to integer */
|
||||
};
|
||||
|
||||
static const
|
||||
struct processor_costs pentium4_cost = {
|
||||
1, /* cost of an add instruction */
|
||||
1, /* cost of a lea instruction */
|
||||
@ -304,7 +312,7 @@ struct processor_costs pentium4_cost = {
|
||||
10, /* MMX or SSE register to integer */
|
||||
};
|
||||
|
||||
struct processor_costs *ix86_cost = &pentium_cost;
|
||||
const struct processor_costs *ix86_cost = &pentium_cost;
|
||||
|
||||
/* Processor feature/optimization bitmasks. */
|
||||
#define m_386 (1<<PROCESSOR_I386)
|
||||
@ -641,10 +649,10 @@ struct ix86_address
|
||||
static int ix86_decompose_address PARAMS ((rtx, struct ix86_address *));
|
||||
|
||||
struct builtin_description;
|
||||
static rtx ix86_expand_sse_comi PARAMS ((struct builtin_description *, tree,
|
||||
rtx));
|
||||
static rtx ix86_expand_sse_compare PARAMS ((struct builtin_description *, tree,
|
||||
rtx));
|
||||
static rtx ix86_expand_sse_comi PARAMS ((const struct builtin_description *,
|
||||
tree, rtx));
|
||||
static rtx ix86_expand_sse_compare PARAMS ((const struct builtin_description *,
|
||||
tree, rtx));
|
||||
static rtx ix86_expand_unop1_builtin PARAMS ((enum insn_code, tree, rtx));
|
||||
static rtx ix86_expand_unop_builtin PARAMS ((enum insn_code, tree, rtx, int));
|
||||
static rtx ix86_expand_binop_builtin PARAMS ((enum insn_code, tree, rtx));
|
||||
@ -770,13 +778,13 @@ override_options ()
|
||||
|
||||
static struct ptt
|
||||
{
|
||||
struct processor_costs *cost; /* Processor costs */
|
||||
int target_enable; /* Target flags to enable. */
|
||||
int target_disable; /* Target flags to disable. */
|
||||
int align_loop; /* Default alignments. */
|
||||
int align_jump;
|
||||
int align_func;
|
||||
int branch_cost;
|
||||
const struct processor_costs *cost; /* Processor costs */
|
||||
const int target_enable; /* Target flags to enable. */
|
||||
const int target_disable; /* Target flags to disable. */
|
||||
const int align_loop; /* Default alignments. */
|
||||
const int align_jump;
|
||||
const int align_func;
|
||||
const int branch_cost;
|
||||
}
|
||||
const processor_target_table[PROCESSOR_max] =
|
||||
{
|
||||
@ -791,8 +799,8 @@ override_options ()
|
||||
|
||||
static struct pta
|
||||
{
|
||||
const char *name; /* processor name or nickname. */
|
||||
enum processor_type processor;
|
||||
const char *const name; /* processor name or nickname. */
|
||||
const enum processor_type processor;
|
||||
}
|
||||
const processor_alias_table[] =
|
||||
{
|
||||
@ -10708,15 +10716,15 @@ do { \
|
||||
|
||||
struct builtin_description
|
||||
{
|
||||
unsigned int mask;
|
||||
enum insn_code icode;
|
||||
const char * name;
|
||||
enum ix86_builtins code;
|
||||
enum rtx_code comparison;
|
||||
unsigned int flag;
|
||||
const unsigned int mask;
|
||||
const enum insn_code icode;
|
||||
const char *const name;
|
||||
const enum ix86_builtins code;
|
||||
const enum rtx_code comparison;
|
||||
const unsigned int flag;
|
||||
};
|
||||
|
||||
static struct builtin_description bdesc_comi[] =
|
||||
static const struct builtin_description bdesc_comi[] =
|
||||
{
|
||||
{ MASK_SSE, CODE_FOR_sse_comi, "__builtin_ia32_comieq", IX86_BUILTIN_COMIEQSS, EQ, 0 },
|
||||
{ MASK_SSE, CODE_FOR_sse_comi, "__builtin_ia32_comilt", IX86_BUILTIN_COMILTSS, LT, 0 },
|
||||
@ -10732,7 +10740,7 @@ static struct builtin_description bdesc_comi[] =
|
||||
{ MASK_SSE, CODE_FOR_sse_ucomi, "__builtin_ia32_ucomineq", IX86_BUILTIN_UCOMINEQSS, NE, 0 }
|
||||
};
|
||||
|
||||
static struct builtin_description bdesc_2arg[] =
|
||||
static const struct builtin_description bdesc_2arg[] =
|
||||
{
|
||||
/* SSE */
|
||||
{ MASK_SSE, CODE_FOR_addv4sf3, "__builtin_ia32_addps", IX86_BUILTIN_ADDPS, 0, 0 },
|
||||
@ -10865,7 +10873,7 @@ static struct builtin_description bdesc_2arg[] =
|
||||
|
||||
};
|
||||
|
||||
static struct builtin_description bdesc_1arg[] =
|
||||
static const struct builtin_description bdesc_1arg[] =
|
||||
{
|
||||
{ MASK_SSE | MASK_3DNOW_A, CODE_FOR_mmx_pmovmskb, 0, IX86_BUILTIN_PMOVMSKB, 0, 0 },
|
||||
{ MASK_SSE, CODE_FOR_sse_movmskps, 0, IX86_BUILTIN_MOVMSKPS, 0, 0 },
|
||||
@ -10894,7 +10902,7 @@ ix86_init_builtins ()
|
||||
void
|
||||
ix86_init_mmx_sse_builtins ()
|
||||
{
|
||||
struct builtin_description * d;
|
||||
const struct builtin_description * d;
|
||||
size_t i;
|
||||
tree endlink = void_list_node;
|
||||
|
||||
@ -11472,7 +11480,7 @@ ix86_expand_unop1_builtin (icode, arglist, target)
|
||||
|
||||
static rtx
|
||||
ix86_expand_sse_compare (d, arglist, target)
|
||||
struct builtin_description *d;
|
||||
const struct builtin_description *d;
|
||||
tree arglist;
|
||||
rtx target;
|
||||
{
|
||||
@ -11524,7 +11532,7 @@ ix86_expand_sse_compare (d, arglist, target)
|
||||
|
||||
static rtx
|
||||
ix86_expand_sse_comi (d, arglist, target)
|
||||
struct builtin_description *d;
|
||||
const struct builtin_description *d;
|
||||
tree arglist;
|
||||
rtx target;
|
||||
{
|
||||
@ -11585,7 +11593,7 @@ ix86_expand_builtin (exp, target, subtarget, mode, ignore)
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
int ignore ATTRIBUTE_UNUSED;
|
||||
{
|
||||
struct builtin_description *d;
|
||||
const struct builtin_description *d;
|
||||
size_t i;
|
||||
enum insn_code icode;
|
||||
tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0);
|
||||
|
@ -51,42 +51,42 @@ Boston, MA 02111-1307, USA. */
|
||||
/* Define the specific costs for a given cpu */
|
||||
|
||||
struct processor_costs {
|
||||
int add; /* cost of an add instruction */
|
||||
int lea; /* cost of a lea instruction */
|
||||
int shift_var; /* variable shift costs */
|
||||
int shift_const; /* constant shift costs */
|
||||
int mult_init; /* cost of starting a multiply */
|
||||
int mult_bit; /* cost of multiply per each bit set */
|
||||
int divide; /* cost of a divide/mod */
|
||||
int large_insn; /* insns larger than this cost more */
|
||||
int move_ratio; /* The threshold of number of scalar
|
||||
const int add; /* cost of an add instruction */
|
||||
const int lea; /* cost of a lea instruction */
|
||||
const int shift_var; /* variable shift costs */
|
||||
const int shift_const; /* constant shift costs */
|
||||
const int mult_init; /* cost of starting a multiply */
|
||||
const int mult_bit; /* cost of multiply per each bit set */
|
||||
const int divide; /* cost of a divide/mod */
|
||||
const int large_insn; /* insns larger than this cost more */
|
||||
const int move_ratio; /* The threshold of number of scalar
|
||||
memory-to-memory move insns. */
|
||||
int movzbl_load; /* cost of loading using movzbl */
|
||||
int int_load[3]; /* cost of loading integer registers
|
||||
const int movzbl_load; /* cost of loading using movzbl */
|
||||
const int int_load[3]; /* cost of loading integer registers
|
||||
in QImode, HImode and SImode relative
|
||||
to reg-reg move (2). */
|
||||
int int_store[3]; /* cost of storing integer register
|
||||
const int int_store[3]; /* cost of storing integer register
|
||||
in QImode, HImode and SImode */
|
||||
int fp_move; /* cost of reg,reg fld/fst */
|
||||
int fp_load[3]; /* cost of loading FP register
|
||||
const int fp_move; /* cost of reg,reg fld/fst */
|
||||
const int fp_load[3]; /* cost of loading FP register
|
||||
in SFmode, DFmode and XFmode */
|
||||
int fp_store[3]; /* cost of storing FP register
|
||||
const int fp_store[3]; /* cost of storing FP register
|
||||
in SFmode, DFmode and XFmode */
|
||||
int mmx_move; /* cost of moving MMX register. */
|
||||
int mmx_load[2]; /* cost of loading MMX register
|
||||
const int mmx_move; /* cost of moving MMX register. */
|
||||
const int mmx_load[2]; /* cost of loading MMX register
|
||||
in SImode and DImode */
|
||||
int mmx_store[2]; /* cost of storing MMX register
|
||||
const int mmx_store[2]; /* cost of storing MMX register
|
||||
in SImode and DImode */
|
||||
int sse_move; /* cost of moving SSE register. */
|
||||
int sse_load[3]; /* cost of loading SSE register
|
||||
const int sse_move; /* cost of moving SSE register. */
|
||||
const int sse_load[3]; /* cost of loading SSE register
|
||||
in SImode, DImode and TImode*/
|
||||
int sse_store[3]; /* cost of storing SSE register
|
||||
const int sse_store[3]; /* cost of storing SSE register
|
||||
in SImode, DImode and TImode*/
|
||||
int mmxsse_to_integer; /* cost of moving mmxsse register to
|
||||
const int mmxsse_to_integer; /* cost of moving mmxsse register to
|
||||
integer and vice versa. */
|
||||
};
|
||||
|
||||
extern struct processor_costs *ix86_cost;
|
||||
extern const struct processor_costs *ix86_cost;
|
||||
|
||||
/* Run-time compilation parameters selecting different hardware subsets. */
|
||||
|
||||
|
@ -128,10 +128,10 @@ rtx m68hc11_compare_op0;
|
||||
rtx m68hc11_compare_op1;
|
||||
|
||||
|
||||
struct processor_costs *m68hc11_cost;
|
||||
const struct processor_costs *m68hc11_cost;
|
||||
|
||||
/* Costs for a 68HC11. */
|
||||
struct processor_costs m6811_cost = {
|
||||
static const struct processor_costs m6811_cost = {
|
||||
/* add */
|
||||
COSTS_N_INSNS (2),
|
||||
/* logical */
|
||||
@ -166,7 +166,7 @@ struct processor_costs m6811_cost = {
|
||||
};
|
||||
|
||||
/* Costs for a 68HC12. */
|
||||
struct processor_costs m6812_cost = {
|
||||
static const struct processor_costs m6812_cost = {
|
||||
/* add */
|
||||
COSTS_N_INSNS (1),
|
||||
/* logical */
|
||||
|
@ -212,21 +212,21 @@ extern const char *m68hc11_soft_reg_count;
|
||||
|
||||
/* Define cost parameters for a given processor variant. */
|
||||
struct processor_costs {
|
||||
int add; /* cost of an add instruction */
|
||||
int logical; /* cost of a logical instruction */
|
||||
int shift_var;
|
||||
int shiftQI_const[8];
|
||||
int shiftHI_const[16];
|
||||
int multQI;
|
||||
int multHI;
|
||||
int multSI;
|
||||
int divQI;
|
||||
int divHI;
|
||||
int divSI;
|
||||
const int add; /* cost of an add instruction */
|
||||
const int logical; /* cost of a logical instruction */
|
||||
const int shift_var;
|
||||
const int shiftQI_const[8];
|
||||
const int shiftHI_const[16];
|
||||
const int multQI;
|
||||
const int multHI;
|
||||
const int multSI;
|
||||
const int divQI;
|
||||
const int divHI;
|
||||
const int divSI;
|
||||
};
|
||||
|
||||
/* Costs for the current processor. */
|
||||
extern struct processor_costs *m68hc11_cost;
|
||||
extern const struct processor_costs *m68hc11_cost;
|
||||
|
||||
|
||||
/* target machine storage layout */
|
||||
|
@ -3049,7 +3049,7 @@ static const char *const strings_68881[7] = {
|
||||
"1e16"
|
||||
};
|
||||
|
||||
int codes_68881[7] = {
|
||||
static const int codes_68881[7] = {
|
||||
0x0f,
|
||||
0x32,
|
||||
0x33,
|
||||
@ -3216,7 +3216,7 @@ static const char *const strings_FPA[38] = {
|
||||
};
|
||||
|
||||
|
||||
int codes_FPA[38] = {
|
||||
static const int codes_FPA[38] = {
|
||||
/* small rationals */
|
||||
0x200,
|
||||
0xe,
|
||||
|
@ -485,15 +485,15 @@ legitimize_address (pic, orig, reg, scratch)
|
||||
#define MOVSTR_SI_LIMIT_88110 72
|
||||
#define MOVSTR_DI_LIMIT_88110 72
|
||||
|
||||
static enum machine_mode mode_from_align[] =
|
||||
static const enum machine_mode mode_from_align[] =
|
||||
{VOIDmode, QImode, HImode, VOIDmode, SImode,
|
||||
VOIDmode, VOIDmode, VOIDmode, DImode};
|
||||
static int max_from_align[] = {0, MOVSTR_QI, MOVSTR_HI, 0, MOVSTR_SI,
|
||||
0, 0, 0, MOVSTR_DI};
|
||||
static int all_from_align[] = {0, MOVSTR_QI, MOVSTR_ODD_HI, 0, MOVSTR_ODD_SI,
|
||||
0, 0, 0, MOVSTR_ODD_DI};
|
||||
static const int max_from_align[] = {0, MOVSTR_QI, MOVSTR_HI, 0, MOVSTR_SI,
|
||||
0, 0, 0, MOVSTR_DI};
|
||||
static const int all_from_align[] = {0, MOVSTR_QI, MOVSTR_ODD_HI, 0,
|
||||
MOVSTR_ODD_SI, 0, 0, 0, MOVSTR_ODD_DI};
|
||||
|
||||
static int best_from_align[3][9] = {
|
||||
static const int best_from_align[3][9] = {
|
||||
{0, MOVSTR_QI_LIMIT_88100, MOVSTR_HI_LIMIT_88100, 0, MOVSTR_SI_LIMIT_88100,
|
||||
0, 0, 0, MOVSTR_DI_LIMIT_88100},
|
||||
{0, MOVSTR_QI_LIMIT_88110, MOVSTR_HI_LIMIT_88110, 0, MOVSTR_SI_LIMIT_88110,
|
||||
@ -1534,7 +1534,8 @@ output_option (file, sep, type, name, indent, pos, max)
|
||||
return pos + fprintf (file, "%s%s%s", sep, type, name);
|
||||
}
|
||||
|
||||
static struct { const char *const name; int value; } m_options[] = TARGET_SWITCHES;
|
||||
static const struct { const char *const name; const int value; } m_options[] =
|
||||
TARGET_SWITCHES;
|
||||
|
||||
static void
|
||||
output_options (file, f_options, f_len, W_options, W_len,
|
||||
|
@ -690,8 +690,8 @@ extern int flag_pic; /* -fpic */
|
||||
write-over scoreboard delays between caller and callee. */
|
||||
#define ORDER_REGS_FOR_LOCAL_ALLOC \
|
||||
{ \
|
||||
static int leaf[] = REG_LEAF_ALLOC_ORDER; \
|
||||
static int nonleaf[] = REG_ALLOC_ORDER; \
|
||||
static const int leaf[] = REG_LEAF_ALLOC_ORDER; \
|
||||
static const int nonleaf[] = REG_ALLOC_ORDER; \
|
||||
\
|
||||
memcpy (reg_alloc_order, regs_ever_live[1] ? nonleaf : leaf, \
|
||||
FIRST_PSEUDO_REGISTER * sizeof (int)); \
|
||||
|
@ -1877,7 +1877,7 @@ mcore_store_multiple_operation (op, mode)
|
||||
known constants. DEST and SRC are registers. OFFSET is the known
|
||||
starting point for the output pattern. */
|
||||
|
||||
static enum machine_mode mode_from_align[] =
|
||||
static const enum machine_mode mode_from_align[] =
|
||||
{
|
||||
VOIDmode, QImode, HImode, VOIDmode, SImode,
|
||||
VOIDmode, VOIDmode, VOIDmode, DImode
|
||||
|
@ -197,8 +197,9 @@ do { \
|
||||
#define UNIQUE_SECTION(DECL,RELOC) \
|
||||
do { \
|
||||
int len, size, sec; \
|
||||
char *name, *string, *prefix; \
|
||||
static char *prefixes[4][2] = { \
|
||||
const char *name, *prefix; \
|
||||
char *string; \
|
||||
static const char *const prefixes[4][2] = { \
|
||||
{ ".text.", ".gnu.linkonce.t." }, \
|
||||
{ ".rodata.", ".gnu.linkonce.r." }, \
|
||||
{ ".data.", ".gnu.linkonce.d." }, \
|
||||
|
@ -54,10 +54,10 @@ Boston, MA 02111-1307, USA. */
|
||||
{ \
|
||||
int len; \
|
||||
int sec; \
|
||||
char *name; \
|
||||
const char *name; \
|
||||
char *string; \
|
||||
char *prefix; \
|
||||
static char *prefixes[/*4*/3][2] = \
|
||||
const char *prefix; \
|
||||
static const char *const prefixes[/*4*/3][2] = \
|
||||
{ \
|
||||
{ ".text.", ".gnu.linkonce.t." }, \
|
||||
{ ".rodata.", ".gnu.linkonce.r." }, \
|
||||
|
@ -345,7 +345,7 @@ char mips_reg_names[][8] =
|
||||
/* Mips software names for the registers, used to overwrite the
|
||||
mips_reg_names array. */
|
||||
|
||||
char mips_sw_reg_names[][8] =
|
||||
static const char mips_sw_reg_names[][8] =
|
||||
{
|
||||
"$zero","$at", "$v0", "$v1", "$a0", "$a1", "$a2", "$a3",
|
||||
"$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7",
|
||||
@ -360,7 +360,7 @@ char mips_sw_reg_names[][8] =
|
||||
};
|
||||
|
||||
/* Map hard register number to register class */
|
||||
enum reg_class mips_regno_to_class[] =
|
||||
const enum reg_class mips_regno_to_class[] =
|
||||
{
|
||||
GR_REGS, GR_REGS, M16_NA_REGS, M16_NA_REGS,
|
||||
M16_REGS, M16_REGS, M16_REGS, M16_REGS,
|
||||
|
@ -1982,7 +1982,7 @@ enum reg_class
|
||||
choose a class which is "minimal", meaning that no smaller class
|
||||
also contains the register. */
|
||||
|
||||
extern enum reg_class mips_regno_to_class[];
|
||||
extern const enum reg_class mips_regno_to_class[];
|
||||
|
||||
#define REGNO_REG_CLASS(REGNO) mips_regno_to_class[ (REGNO) ]
|
||||
|
||||
|
@ -1195,7 +1195,7 @@ print_operand_address (file, addr)
|
||||
register FILE *file;
|
||||
register rtx addr;
|
||||
{
|
||||
static char scales[] = { 'b', 'w', 'd', 0, 'q', };
|
||||
static const char scales[] = { 'b', 'w', 'd', 0, 'q', };
|
||||
rtx offset, base, indexexp, tmp;
|
||||
int scale;
|
||||
extern int flag_pic;
|
||||
|
@ -4457,7 +4457,7 @@ enum millicodes { remI, remU, divI, divU, mulI, mulU, end1000 };
|
||||
static void import_milli PARAMS ((enum millicodes));
|
||||
static char imported[(int) end1000];
|
||||
static const char * const milli_names[] = {"remI", "remU", "divI", "divU", "mulI", "mulU"};
|
||||
static char import_string[] = ".IMPORT $$....,MILLICODE";
|
||||
static const char import_string[] = ".IMPORT $$....,MILLICODE";
|
||||
#define MILLI_START 10
|
||||
|
||||
static void
|
||||
@ -4490,8 +4490,8 @@ output_mul_insn (unsignedp, insn)
|
||||
/* Emit the rtl for doing a division by a constant. */
|
||||
|
||||
/* Do magic division millicodes exist for this value? */
|
||||
static int magic_milli[]= {0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0,
|
||||
1, 1};
|
||||
static const int magic_milli[]= {0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0,
|
||||
1, 1};
|
||||
|
||||
/* We'll use an array to keep track of the magic millicodes and
|
||||
whether or not we've used them already. [n][0] is signed, [n][1] is
|
||||
|
@ -164,7 +164,7 @@ char rs6000_reg_names[][8] =
|
||||
};
|
||||
|
||||
#ifdef TARGET_REGNAMES
|
||||
static char alt_reg_names[][8] =
|
||||
static const char alt_reg_names[][8] =
|
||||
{
|
||||
"%r0", "%r1", "%r2", "%r3", "%r4", "%r5", "%r6", "%r7",
|
||||
"%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15",
|
||||
@ -227,11 +227,11 @@ rs6000_override_options (default_cpu)
|
||||
|
||||
static struct ptt
|
||||
{
|
||||
const char *name; /* Canonical processor name. */
|
||||
enum processor_type processor; /* Processor type enum value. */
|
||||
int target_enable; /* Target flags to enable. */
|
||||
int target_disable; /* Target flags to disable. */
|
||||
} processor_target_table[]
|
||||
const char *const name; /* Canonical processor name. */
|
||||
const enum processor_type processor; /* Processor type enum value. */
|
||||
const int target_enable; /* Target flags to enable. */
|
||||
const int target_disable; /* Target flags to disable. */
|
||||
} const processor_target_table[]
|
||||
= {{"common", PROCESSOR_COMMON, MASK_NEW_MNEMONICS,
|
||||
POWER_MASKS | POWERPC_MASKS},
|
||||
{"power", PROCESSOR_POWER,
|
||||
|
@ -87,7 +87,7 @@ static rtx leaf_label;
|
||||
registers. FRAME_POINTER_REGNUM cannot be remapped by
|
||||
this function to eliminate it. You must use -fomit-frame-pointer
|
||||
to get that. */
|
||||
char leaf_reg_remap[] =
|
||||
const char leaf_reg_remap[] =
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7,
|
||||
-1, -1, -1, -1, -1, -1, 14, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
@ -226,9 +226,9 @@ void
|
||||
sparc_override_options ()
|
||||
{
|
||||
static struct code_model {
|
||||
const char *name;
|
||||
int value;
|
||||
} cmodels[] = {
|
||||
const char *const name;
|
||||
const int value;
|
||||
} const cmodels[] = {
|
||||
{ "32", CM_32 },
|
||||
{ "medlow", CM_MEDLOW },
|
||||
{ "medmid", CM_MEDMID },
|
||||
@ -236,12 +236,12 @@ sparc_override_options ()
|
||||
{ "embmedany", CM_EMBMEDANY },
|
||||
{ 0, 0 }
|
||||
};
|
||||
struct code_model *cmodel;
|
||||
const struct code_model *cmodel;
|
||||
/* Map TARGET_CPU_DEFAULT to value for -m{arch,tune}=. */
|
||||
static struct cpu_default {
|
||||
int cpu;
|
||||
const char *name;
|
||||
} cpu_default[] = {
|
||||
const int cpu;
|
||||
const char *const name;
|
||||
} const cpu_default[] = {
|
||||
/* There must be one entry here for each TARGET_CPU value. */
|
||||
{ TARGET_CPU_sparc, "cypress" },
|
||||
{ TARGET_CPU_sparclet, "tsc701" },
|
||||
@ -254,14 +254,14 @@ sparc_override_options ()
|
||||
{ TARGET_CPU_ultrasparc, "ultrasparc" },
|
||||
{ 0, 0 }
|
||||
};
|
||||
struct cpu_default *def;
|
||||
const struct cpu_default *def;
|
||||
/* Table of values for -m{cpu,tune}=. */
|
||||
static struct cpu_table {
|
||||
const char *name;
|
||||
enum processor_type processor;
|
||||
int disable;
|
||||
int enable;
|
||||
} cpu_table[] = {
|
||||
const char *const name;
|
||||
const enum processor_type processor;
|
||||
const int disable;
|
||||
const int enable;
|
||||
} const cpu_table[] = {
|
||||
{ "v7", PROCESSOR_V7, MASK_ISA, 0 },
|
||||
{ "cypress", PROCESSOR_CYPRESS, MASK_ISA, 0 },
|
||||
{ "v8", PROCESSOR_V8, MASK_ISA, MASK_V8 },
|
||||
@ -286,8 +286,8 @@ sparc_override_options ()
|
||||
|MASK_DEPRECATED_V8_INSNS},
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
struct cpu_table *cpu;
|
||||
struct sparc_cpu_select *sel;
|
||||
const struct cpu_table *cpu;
|
||||
const struct sparc_cpu_select *sel;
|
||||
int fpu;
|
||||
|
||||
#ifndef SPARC_BI_ARCH
|
||||
@ -5564,13 +5564,13 @@ output_return (operands)
|
||||
|
||||
/* Leaf functions and non-leaf functions have different needs. */
|
||||
|
||||
static int
|
||||
static const int
|
||||
reg_leaf_alloc_order[] = REG_LEAF_ALLOC_ORDER;
|
||||
|
||||
static int
|
||||
static const int
|
||||
reg_nonleaf_alloc_order[] = REG_ALLOC_ORDER;
|
||||
|
||||
static int *reg_alloc_orders[] = {
|
||||
static const int *const reg_alloc_orders[] = {
|
||||
reg_leaf_alloc_order,
|
||||
reg_nonleaf_alloc_order};
|
||||
|
||||
@ -5583,7 +5583,7 @@ order_regs_for_local_alloc ()
|
||||
{
|
||||
last_order_nonleaf = !last_order_nonleaf;
|
||||
memcpy ((char *) reg_alloc_order,
|
||||
(char *) reg_alloc_orders[last_order_nonleaf],
|
||||
(const char *) reg_alloc_orders[last_order_nonleaf],
|
||||
FIRST_PSEUDO_REGISTER * sizeof (int));
|
||||
}
|
||||
}
|
||||
|
@ -721,9 +721,9 @@ extern enum processor_type sparc_cpu;
|
||||
struct sparc_cpu_select
|
||||
{
|
||||
const char *string;
|
||||
const char *name;
|
||||
int set_tune_p;
|
||||
int set_arch_p;
|
||||
const char *const name;
|
||||
const int set_tune_p;
|
||||
const int set_arch_p;
|
||||
};
|
||||
|
||||
extern struct sparc_cpu_select sparc_select[];
|
||||
@ -1433,7 +1433,7 @@ extern enum reg_class sparc_regno_reg_class[];
|
||||
extern char sparc_leaf_regs[];
|
||||
#define LEAF_REGISTERS sparc_leaf_regs
|
||||
|
||||
extern char leaf_reg_remap[];
|
||||
extern const char leaf_reg_remap[];
|
||||
#define LEAF_REG_REMAP(REGNO) (leaf_reg_remap[REGNO])
|
||||
|
||||
/* The class value for index registers, and the one for base regs. */
|
||||
|
@ -1,3 +1,12 @@
|
||||
2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* class.c (build_vtable_entry_ref): Const-ify.
|
||||
* decl.c (predefined_identifier,
|
||||
initialize_predefined_identifiers): Likewise.
|
||||
* init.c (build_new_1): Likewise.
|
||||
* lex.c (cplus_tree_code_type, cplus_tree_code_length, resword):
|
||||
Likewise.
|
||||
|
||||
2001-10-05 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* optimize.c (struct inline_data): Moved to ../tree-inline.c.
|
||||
|
@ -435,7 +435,7 @@ static void
|
||||
build_vtable_entry_ref (basetype, idx)
|
||||
tree basetype, idx;
|
||||
{
|
||||
static char asm_stmt[] = ".vtable_entry %c0, %c1";
|
||||
static const char asm_stmt[] = ".vtable_entry %c0, %c1";
|
||||
tree s, i, i2;
|
||||
tree vtable = get_vtbl_decl_for_binfo (TYPE_BINFO (basetype));
|
||||
tree first_fn = TYPE_BINFO_VTABLE (basetype);
|
||||
|
@ -6227,11 +6227,11 @@ record_unknown_type (type, name)
|
||||
typedef struct predefined_identifier
|
||||
{
|
||||
/* The name of the identifier. */
|
||||
const char *name;
|
||||
const char *const name;
|
||||
/* The place where the IDENTIFIER_NODE should be stored. */
|
||||
tree *node;
|
||||
tree *const node;
|
||||
/* Non-zero if this is the name of a constructor or destructor. */
|
||||
int ctor_or_dtor_p;
|
||||
const int ctor_or_dtor_p;
|
||||
} predefined_identifier;
|
||||
|
||||
/* Create all the predefined identifiers. */
|
||||
@ -6239,10 +6239,10 @@ typedef struct predefined_identifier
|
||||
static void
|
||||
initialize_predefined_identifiers ()
|
||||
{
|
||||
struct predefined_identifier *pid;
|
||||
const predefined_identifier *pid;
|
||||
|
||||
/* A table of identifiers to create at startup. */
|
||||
static predefined_identifier predefined_identifiers[] = {
|
||||
static const predefined_identifier predefined_identifiers[] = {
|
||||
{ "C++", &lang_name_cplusplus, 0 },
|
||||
{ "C", &lang_name_c, 0 },
|
||||
{ "Java", &lang_name_java, 0 },
|
||||
|
@ -2355,7 +2355,7 @@ build_new_1 (exp)
|
||||
tree class_addr, alloc_decl;
|
||||
tree class_decl = build_java_class_ref (true_type);
|
||||
tree class_size = size_in_bytes (true_type);
|
||||
static char alloc_name[] = "_Jv_AllocObject";
|
||||
static const char alloc_name[] = "_Jv_AllocObject";
|
||||
use_java_new = 1;
|
||||
alloc_decl = IDENTIFIER_GLOBAL_VALUE (get_identifier (alloc_name));
|
||||
if (alloc_decl == NULL_TREE)
|
||||
|
10
gcc/cp/lex.c
10
gcc/cp/lex.c
@ -213,7 +213,7 @@ int interface_unknown; /* whether or not we know this class
|
||||
|
||||
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
|
||||
|
||||
static char cplus_tree_code_type[] = {
|
||||
static const char cplus_tree_code_type[] = {
|
||||
'x',
|
||||
#include "cp-tree.def"
|
||||
};
|
||||
@ -225,7 +225,7 @@ static char cplus_tree_code_type[] = {
|
||||
|
||||
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
|
||||
|
||||
static int cplus_tree_code_length[] = {
|
||||
static const int cplus_tree_code_length[] = {
|
||||
0,
|
||||
#include "cp-tree.def"
|
||||
};
|
||||
@ -390,9 +390,9 @@ init_operators ()
|
||||
/* The reserved keyword table. */
|
||||
struct resword
|
||||
{
|
||||
const char *word;
|
||||
ENUM_BITFIELD(rid) rid : 16;
|
||||
unsigned int disable : 16;
|
||||
const char *const word;
|
||||
const ENUM_BITFIELD(rid) rid : 16;
|
||||
const unsigned int disable : 16;
|
||||
};
|
||||
|
||||
/* Disable mask. Keywords are disabled if (reswords[i].disable & mask) is
|
||||
|
@ -96,11 +96,11 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
struct default_include
|
||||
{
|
||||
const char *fname; /* The name of the directory. */
|
||||
const char *component; /* The component containing the directory
|
||||
const char *const fname; /* The name of the directory. */
|
||||
const char *const component; /* The component containing the directory
|
||||
(see update_path in prefix.c) */
|
||||
int cplusplus; /* Only look here if we're compiling C++. */
|
||||
int cxx_aware; /* Includes in this directory don't need to
|
||||
const int cplusplus; /* Only look here if we're compiling C++. */
|
||||
const int cxx_aware; /* Includes in this directory don't need to
|
||||
be wrapped in extern "C" when compiling
|
||||
C++. */
|
||||
};
|
||||
|
12
gcc/cppexp.c
12
gcc/cppexp.c
@ -63,23 +63,23 @@ struct op
|
||||
|
||||
struct suffix
|
||||
{
|
||||
unsigned char s[4];
|
||||
unsigned char u;
|
||||
unsigned char l;
|
||||
const unsigned char s[4];
|
||||
const unsigned char u;
|
||||
const unsigned char l;
|
||||
};
|
||||
|
||||
const struct suffix vsuf_1[] = {
|
||||
static const struct suffix vsuf_1[] = {
|
||||
{ "u", 1, 0 }, { "U", 1, 0 },
|
||||
{ "l", 0, 1 }, { "L", 0, 1 }
|
||||
};
|
||||
|
||||
const struct suffix vsuf_2[] = {
|
||||
static const struct suffix vsuf_2[] = {
|
||||
{ "ul", 1, 1 }, { "UL", 1, 1 }, { "uL", 1, 1 }, { "Ul", 1, 1 },
|
||||
{ "lu", 1, 1 }, { "LU", 1, 1 }, { "Lu", 1, 1 }, { "lU", 1, 1 },
|
||||
{ "ll", 0, 2 }, { "LL", 0, 2 }
|
||||
};
|
||||
|
||||
const struct suffix vsuf_3[] = {
|
||||
static const struct suffix vsuf_3[] = {
|
||||
{ "ull", 1, 2 }, { "ULL", 1, 2 }, { "uLL", 1, 2 }, { "Ull", 1, 2 },
|
||||
{ "llu", 1, 2 }, { "LLU", 1, 2 }, { "LLu", 1, 2 }, { "llU", 1, 2 }
|
||||
};
|
||||
|
@ -1,3 +1,16 @@
|
||||
Sun Oct 7 12:27:54 2001 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* bad.c (_ffebad_message_, ffebad_messages_): Const-ify.
|
||||
* bld.c (ffebld_arity_op_): Likewise.
|
||||
* bld.h (ffebld_arity_op_): Likewise.
|
||||
* com.c (ffecom_init_0): Likewise.
|
||||
* intdoc.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
|
||||
_ffeintrin_imp_, names, gens, imps, specs, cc_pair,
|
||||
cc_descriptions, cc_summaries): Likewise.
|
||||
* intrin.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
|
||||
_ffeintrin_imp_, ffeintrin_names_, ffeintrin_gens_,
|
||||
ffeintrin_imps_, ffeintrin_specs_): Likewise.
|
||||
|
||||
2001-10-05 Toon Moene <toon@moene.indiv.nluug.nl>
|
||||
|
||||
* news.texi: Document libf2c being built as a shared library.
|
||||
|
@ -61,13 +61,13 @@ bool ffebad_is_inhibited_ = FALSE;
|
||||
|
||||
struct _ffebad_message_
|
||||
{
|
||||
ffebadSeverity severity;
|
||||
const char *message;
|
||||
const ffebadSeverity severity;
|
||||
const char *const message;
|
||||
};
|
||||
|
||||
/* Static objects accessed by functions in this module. */
|
||||
|
||||
static struct _ffebad_message_ ffebad_messages_[]
|
||||
static const struct _ffebad_message_ ffebad_messages_[]
|
||||
=
|
||||
{
|
||||
#define FFEBAD_MSGS1(KWD,SEV,MSG) { SEV, MSG },
|
||||
|
@ -46,7 +46,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
|
||||
/* Externals defined here. */
|
||||
|
||||
ffebldArity ffebld_arity_op_[]
|
||||
const ffebldArity ffebld_arity_op_[]
|
||||
=
|
||||
{
|
||||
#define FFEBLD_OP(KWD,NAME,ARITY) ARITY,
|
||||
|
@ -480,7 +480,7 @@ struct _ffebld_pool_stack_
|
||||
|
||||
/* Global objects accessed by users of this module. */
|
||||
|
||||
extern ffebldArity ffebld_arity_op_[];
|
||||
extern const ffebldArity ffebld_arity_op_[];
|
||||
extern struct _ffebld_pool_stack_ ffebld_pool_stack_;
|
||||
|
||||
/* Declare functions with prototypes. */
|
||||
|
@ -11386,16 +11386,16 @@ ffecom_init_0 ()
|
||||
|
||||
if (ffe_is_do_internal_checks ())
|
||||
{
|
||||
static char names[][12]
|
||||
static const char names[][12]
|
||||
=
|
||||
{"bar", "bletch", "foo", "foobar"};
|
||||
char *name;
|
||||
const char *name;
|
||||
unsigned long ul;
|
||||
double fl;
|
||||
|
||||
name = bsearch ("foo", &names[0], ARRAY_SIZE (names), sizeof (names[0]),
|
||||
(int (*)(const void *, const void *)) strcmp);
|
||||
if (name != (char *) &names[2])
|
||||
if (name != &names[0][2])
|
||||
{
|
||||
assert ("bsearch doesn't work, #define FFEPROJ_BSEARCH 0 in proj.h"
|
||||
== NULL);
|
||||
|
@ -70,39 +70,39 @@ Usage: intdoc > intdoc.texi\n\
|
||||
|
||||
struct _ffeintrin_name_
|
||||
{
|
||||
const char *name_uc;
|
||||
const char *name_lc;
|
||||
const char *name_ic;
|
||||
ffeintrinGen generic;
|
||||
ffeintrinSpec specific;
|
||||
const char *const name_uc;
|
||||
const char *const name_lc;
|
||||
const char *const name_ic;
|
||||
const ffeintrinGen generic;
|
||||
const ffeintrinSpec specific;
|
||||
};
|
||||
|
||||
struct _ffeintrin_gen_
|
||||
{
|
||||
const char *name; /* Name as seen in program. */
|
||||
ffeintrinSpec specs[2];
|
||||
const char *const name; /* Name as seen in program. */
|
||||
const ffeintrinSpec specs[2];
|
||||
};
|
||||
|
||||
struct _ffeintrin_spec_
|
||||
{
|
||||
const char *name; /* Uppercase name as seen in source code,
|
||||
const char *const name; /* Uppercase name as seen in source code,
|
||||
lowercase if no source name, "none" if no
|
||||
name at all (NONE case). */
|
||||
bool is_actualarg; /* Ok to pass as actual arg if -pedantic. */
|
||||
ffeintrinFamily family;
|
||||
ffeintrinImp implementation;
|
||||
const bool is_actualarg; /* Ok to pass as actual arg if -pedantic. */
|
||||
const ffeintrinFamily family;
|
||||
const ffeintrinImp implementation;
|
||||
};
|
||||
|
||||
struct _ffeintrin_imp_
|
||||
{
|
||||
const char *name; /* Name of implementation. */
|
||||
const char *const name; /* Name of implementation. */
|
||||
#if 0 /* FFECOM_targetCURRENT == FFECOM_targetGCC */
|
||||
ffecomGfrt gfrt; /* gfrt index in library. */
|
||||
const ffecomGfrt gfrt; /* gfrt index in library. */
|
||||
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
|
||||
const char *control;
|
||||
const char *const control;
|
||||
};
|
||||
|
||||
static struct _ffeintrin_name_ names[] = {
|
||||
static const struct _ffeintrin_name_ names[] = {
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC) \
|
||||
{ UPPER, LOWER, MIXED, FFEINTRIN_ ## GEN, FFEINTRIN_ ## SPEC },
|
||||
#define DEFGEN(CODE,NAME,SPEC1,SPEC2)
|
||||
@ -117,7 +117,7 @@ static struct _ffeintrin_name_ names[] = {
|
||||
#undef DEFIMPY
|
||||
};
|
||||
|
||||
static struct _ffeintrin_gen_ gens[] = {
|
||||
static const struct _ffeintrin_gen_ gens[] = {
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
|
||||
#define DEFGEN(CODE,NAME,SPEC1,SPEC2) \
|
||||
{ NAME, { SPEC1, SPEC2, }, },
|
||||
@ -132,7 +132,7 @@ static struct _ffeintrin_gen_ gens[] = {
|
||||
#undef DEFIMPY
|
||||
};
|
||||
|
||||
static struct _ffeintrin_imp_ imps[] = {
|
||||
static const struct _ffeintrin_imp_ imps[] = {
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
|
||||
#define DEFGEN(CODE,NAME,SPEC1,SPEC2)
|
||||
#define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP)
|
||||
@ -157,7 +157,7 @@ static struct _ffeintrin_imp_ imps[] = {
|
||||
#undef DEFIMPY
|
||||
};
|
||||
|
||||
static struct _ffeintrin_spec_ specs[] = {
|
||||
static const struct _ffeintrin_spec_ specs[] = {
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
|
||||
#define DEFGEN(CODE,NAME,SPEC1,SPEC2)
|
||||
#define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP) \
|
||||
@ -171,17 +171,17 @@ static struct _ffeintrin_spec_ specs[] = {
|
||||
#undef DEFIMPY
|
||||
};
|
||||
|
||||
struct cc_pair { ffeintrinImp imp; const char *text; };
|
||||
struct cc_pair { const ffeintrinImp imp; const char *const text; };
|
||||
|
||||
static const char *descriptions[FFEINTRIN_imp] = { 0 };
|
||||
static struct cc_pair cc_descriptions[] = {
|
||||
static const struct cc_pair cc_descriptions[] = {
|
||||
#define DEFDOC(IMP,SUMMARY,DESCRIPTION) { FFEINTRIN_imp ## IMP, DESCRIPTION },
|
||||
#include "intdoc.h0"
|
||||
#undef DEFDOC
|
||||
};
|
||||
|
||||
static const char *summaries[FFEINTRIN_imp] = { 0 };
|
||||
static struct cc_pair cc_summaries[] = {
|
||||
static const struct cc_pair cc_summaries[] = {
|
||||
#define DEFDOC(IMP,SUMMARY,DESCRIPTION) { FFEINTRIN_imp ## IMP, SUMMARY },
|
||||
#include "intdoc.h0"
|
||||
#undef DEFDOC
|
||||
|
@ -32,39 +32,39 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
|
||||
struct _ffeintrin_name_
|
||||
{
|
||||
const char *name_uc;
|
||||
const char *name_lc;
|
||||
const char *name_ic;
|
||||
ffeintrinGen generic;
|
||||
ffeintrinSpec specific;
|
||||
const char *const name_uc;
|
||||
const char *const name_lc;
|
||||
const char *const name_ic;
|
||||
const ffeintrinGen generic;
|
||||
const ffeintrinSpec specific;
|
||||
};
|
||||
|
||||
struct _ffeintrin_gen_
|
||||
{
|
||||
const char *name; /* Name as seen in program. */
|
||||
ffeintrinSpec specs[2];
|
||||
const char *const name; /* Name as seen in program. */
|
||||
const ffeintrinSpec specs[2];
|
||||
};
|
||||
|
||||
struct _ffeintrin_spec_
|
||||
{
|
||||
const char *name; /* Uppercase name as seen in source code,
|
||||
const char *const name; /* Uppercase name as seen in source code,
|
||||
lowercase if no source name, "none" if no
|
||||
name at all (NONE case). */
|
||||
bool is_actualarg; /* Ok to pass as actual arg if -pedantic. */
|
||||
ffeintrinFamily family;
|
||||
ffeintrinImp implementation;
|
||||
const bool is_actualarg; /* Ok to pass as actual arg if -pedantic. */
|
||||
const ffeintrinFamily family;
|
||||
const ffeintrinImp implementation;
|
||||
};
|
||||
|
||||
struct _ffeintrin_imp_
|
||||
{
|
||||
const char *name; /* Name of implementation. */
|
||||
const char *const name; /* Name of implementation. */
|
||||
#if FFECOM_targetCURRENT == FFECOM_targetGCC
|
||||
ffecomGfrt gfrt_direct; /* library routine, direct-callable form. */
|
||||
ffecomGfrt gfrt_f2c; /* library routine, f2c-callable form. */
|
||||
ffecomGfrt gfrt_gnu; /* library routine, gnu-callable form. */
|
||||
const ffecomGfrt gfrt_direct;/* library routine, direct-callable form. */
|
||||
const ffecomGfrt gfrt_f2c; /* library routine, f2c-callable form. */
|
||||
const ffecomGfrt gfrt_gnu; /* library routine, gnu-callable form. */
|
||||
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
|
||||
const char *control;
|
||||
char y2kbad;
|
||||
const char *const control;
|
||||
const char y2kbad;
|
||||
};
|
||||
|
||||
static ffebad ffeintrin_check_ (ffeintrinImp imp, ffebldOp op,
|
||||
@ -77,7 +77,7 @@ static ffebad ffeintrin_check_ (ffeintrinImp imp, ffebldOp op,
|
||||
static bool ffeintrin_check_any_ (ffebld arglist);
|
||||
static int ffeintrin_cmp_name_ (const void *name, const void *intrinsic);
|
||||
|
||||
static struct _ffeintrin_name_ ffeintrin_names_[]
|
||||
static const struct _ffeintrin_name_ ffeintrin_names_[]
|
||||
=
|
||||
{ /* Alpha order. */
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC) \
|
||||
@ -94,7 +94,7 @@ static struct _ffeintrin_name_ ffeintrin_names_[]
|
||||
#undef DEFIMPY
|
||||
};
|
||||
|
||||
static struct _ffeintrin_gen_ ffeintrin_gens_[]
|
||||
static const struct _ffeintrin_gen_ ffeintrin_gens_[]
|
||||
=
|
||||
{
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
|
||||
@ -111,7 +111,7 @@ static struct _ffeintrin_gen_ ffeintrin_gens_[]
|
||||
#undef DEFIMPY
|
||||
};
|
||||
|
||||
static struct _ffeintrin_imp_ ffeintrin_imps_[]
|
||||
static const struct _ffeintrin_imp_ ffeintrin_imps_[]
|
||||
=
|
||||
{
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
|
||||
@ -140,7 +140,7 @@ static struct _ffeintrin_imp_ ffeintrin_imps_[]
|
||||
#undef DEFIMPY
|
||||
};
|
||||
|
||||
static struct _ffeintrin_spec_ ffeintrin_specs_[]
|
||||
static const struct _ffeintrin_spec_ ffeintrin_specs_[]
|
||||
=
|
||||
{
|
||||
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
|
||||
|
@ -417,7 +417,7 @@ life_analysis (f, file, flags)
|
||||
{
|
||||
#ifdef ELIMINABLE_REGS
|
||||
register int i;
|
||||
static struct {int from, to; } eliminables[] = ELIMINABLE_REGS;
|
||||
static const struct {const int from, to; } eliminables[] = ELIMINABLE_REGS;
|
||||
#endif
|
||||
|
||||
/* Record which registers will be eliminated. We use this in
|
||||
|
32
gcc/gcc.c
32
gcc/gcc.c
@ -122,7 +122,7 @@ extern int getrusage PARAMS ((int, struct rusage *));
|
||||
#endif /* DIR_UP */
|
||||
#endif /* VMS */
|
||||
|
||||
static char dir_separator_str[] = { DIR_SEPARATOR, 0 };
|
||||
static const char dir_separator_str[] = { DIR_SEPARATOR, 0 };
|
||||
|
||||
#define obstack_chunk_alloc xmalloc
|
||||
#define obstack_chunk_free free
|
||||
@ -226,11 +226,11 @@ static const char *cross_compile = "0";
|
||||
switch. The only case we support now is simply appending or deleting a
|
||||
string to or from the end of the first part of the configuration name. */
|
||||
|
||||
struct modify_target
|
||||
const struct modify_target
|
||||
{
|
||||
const char *sw;
|
||||
enum add_del {ADD, DELETE} add_del;
|
||||
const char *str;
|
||||
const char *const sw;
|
||||
const enum add_del {ADD, DELETE} add_del;
|
||||
const char *const str;
|
||||
}
|
||||
modify_target[] = MODIFY_TARGET_NAME;
|
||||
#endif
|
||||
@ -857,21 +857,21 @@ static char **preprocessor_options;
|
||||
struct option_map
|
||||
{
|
||||
/* The long option's name. */
|
||||
const char *name;
|
||||
const char *const name;
|
||||
/* The equivalent short option. */
|
||||
const char *equivalent;
|
||||
const char *const equivalent;
|
||||
/* Argument info. A string of flag chars; NULL equals no options.
|
||||
a => argument required.
|
||||
o => argument optional.
|
||||
j => join argument to equivalent, making one word.
|
||||
* => require other text after NAME as an argument. */
|
||||
const char *arg_info;
|
||||
const char *const arg_info;
|
||||
};
|
||||
|
||||
/* This is the table of mappings. Mappings are tried sequentially
|
||||
for each option encountered; the first one that matches, wins. */
|
||||
|
||||
struct option_map option_map[] =
|
||||
static const struct option_map option_map[] =
|
||||
{
|
||||
{"--all-warnings", "-Wall", 0},
|
||||
{"--ansi", "-ansi", 0},
|
||||
@ -954,9 +954,9 @@ struct option_map option_map[] =
|
||||
|
||||
|
||||
#ifdef TARGET_OPTION_TRANSLATE_TABLE
|
||||
static struct {
|
||||
const char *option_found;
|
||||
const char *replacements;
|
||||
static const struct {
|
||||
const char *const option_found;
|
||||
const char *const replacements;
|
||||
} target_option_translations[] =
|
||||
{
|
||||
TARGET_OPTION_TRANSLATE_TABLE,
|
||||
@ -1361,11 +1361,11 @@ static struct spec_list static_specs[] =
|
||||
That is all that the EXTRA_SPECS macro gives us. */
|
||||
struct spec_list_1
|
||||
{
|
||||
const char *name;
|
||||
const char *ptr;
|
||||
const char *const name;
|
||||
const char *const ptr;
|
||||
};
|
||||
|
||||
static struct spec_list_1 extra_specs_1[] = { EXTRA_SPECS };
|
||||
static const struct spec_list_1 extra_specs_1[] = { EXTRA_SPECS };
|
||||
static struct spec_list *extra_specs = (struct spec_list *) 0;
|
||||
#endif
|
||||
|
||||
@ -1519,7 +1519,7 @@ init_spec ()
|
||||
#ifdef USE_AS_TRADITIONAL_FORMAT
|
||||
/* Prepend "--traditional-format" to whatever asm_spec we had before. */
|
||||
{
|
||||
static char tf[] = "--traditional-format ";
|
||||
static const char tf[] = "--traditional-format ";
|
||||
obstack_grow (&obstack, tf, sizeof(tf) - 1);
|
||||
obstack_grow0 (&obstack, asm_spec, strlen (asm_spec));
|
||||
asm_spec = obstack_finish (&obstack);
|
||||
|
@ -79,7 +79,7 @@ typedef HOST_WIDEST_INT gcov_type;
|
||||
/* The functions in this file for creating and solution program flow graphs
|
||||
are very similar to functions in the gcc source file profile.c. */
|
||||
|
||||
char gcov_version_string[] = "GNU gcov version 1.5\n";
|
||||
static const char gcov_version_string[] = "GNU gcov version 1.5\n";
|
||||
|
||||
/* This is the size of the buffer used to read in source file lines. */
|
||||
|
||||
|
@ -145,19 +145,19 @@ write_units (num_units, multiplicity, simultaneity,
|
||||
printf ("#define INSN_SCHEDULING\n\n");
|
||||
printf ("extern int result_ready_cost PARAMS ((rtx));\n");
|
||||
printf ("extern int function_units_used PARAMS ((rtx));\n\n");
|
||||
printf ("extern struct function_unit_desc\n");
|
||||
printf ("extern const struct function_unit_desc\n");
|
||||
printf ("{\n");
|
||||
printf (" const char *name;\n");
|
||||
printf (" int bitmask;\n");
|
||||
printf (" int multiplicity;\n");
|
||||
printf (" int simultaneity;\n");
|
||||
printf (" int default_cost;\n");
|
||||
printf (" int max_issue_delay;\n");
|
||||
printf (" int (*ready_cost_function) PARAMS ((rtx));\n");
|
||||
printf (" int (*conflict_cost_function) PARAMS ((rtx, rtx));\n");
|
||||
printf (" int max_blockage;\n");
|
||||
printf (" unsigned int (*blockage_range_function) PARAMS ((rtx));\n");
|
||||
printf (" int (*blockage_function) PARAMS ((rtx, rtx));\n");
|
||||
printf (" const char *const name;\n");
|
||||
printf (" const int bitmask;\n");
|
||||
printf (" const int multiplicity;\n");
|
||||
printf (" const int simultaneity;\n");
|
||||
printf (" const int default_cost;\n");
|
||||
printf (" const int max_issue_delay;\n");
|
||||
printf (" int (*const ready_cost_function) PARAMS ((rtx));\n");
|
||||
printf (" int (*const conflict_cost_function) PARAMS ((rtx, rtx));\n");
|
||||
printf (" const int max_blockage;\n");
|
||||
printf (" unsigned int (*const blockage_range_function) PARAMS ((rtx));\n");
|
||||
printf (" int (*const blockage_function) PARAMS ((rtx, rtx));\n");
|
||||
printf ("} function_units[];\n\n");
|
||||
printf ("#define FUNCTION_UNITS_SIZE %d\n", num_units);
|
||||
printf ("#define MIN_MULTIPLICITY %d\n", multiplicity->min);
|
||||
|
@ -2448,8 +2448,8 @@ make_length_attrs ()
|
||||
static const char *const new_names[] = {"*insn_default_length",
|
||||
"*insn_variable_length_p",
|
||||
"*insn_current_length"};
|
||||
static rtx (*no_address_fn[]) PARAMS ((rtx)) = {identity_fn, zero_fn, zero_fn};
|
||||
static rtx (*address_fn[]) PARAMS ((rtx)) = {max_fn, one_fn, identity_fn};
|
||||
static rtx (*const no_address_fn[]) PARAMS ((rtx)) = {identity_fn, zero_fn, zero_fn};
|
||||
static rtx (*const address_fn[]) PARAMS ((rtx)) = {max_fn, one_fn, identity_fn};
|
||||
size_t i;
|
||||
struct attr_desc *length_attr, *new_attr;
|
||||
struct attr_value *av, *new_av;
|
||||
@ -5657,7 +5657,7 @@ write_function_unit_info ()
|
||||
the function units. The name is included for documentation purposes
|
||||
only. */
|
||||
|
||||
printf ("struct function_unit_desc function_units[] = {\n");
|
||||
printf ("const struct function_unit_desc function_units[] = {\n");
|
||||
|
||||
/* Write out the descriptions in numeric order, but don't force that order
|
||||
on the list. Doing so increases the runtime of genattrtab.c. */
|
||||
|
@ -95,12 +95,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
|
||||
struct rtx_definition
|
||||
{
|
||||
const char *enumname, *name, *format;
|
||||
const char *const enumname, *const name, *const format;
|
||||
};
|
||||
|
||||
#define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) { STRINGX(ENUM), NAME, FORMAT },
|
||||
|
||||
struct rtx_definition defs[] =
|
||||
const struct rtx_definition defs[] =
|
||||
{
|
||||
#include "rtl.def" /* rtl expressions are documented here */
|
||||
};
|
||||
|
@ -34,9 +34,9 @@ static void
|
||||
output_predicate_decls ()
|
||||
{
|
||||
#ifdef PREDICATE_CODES
|
||||
static struct {
|
||||
const char *name;
|
||||
RTX_CODE codes[NUM_RTX_CODE];
|
||||
static const struct {
|
||||
const char *const name;
|
||||
const RTX_CODE codes[NUM_RTX_CODE];
|
||||
} predicate[] = {
|
||||
PREDICATE_CODES
|
||||
};
|
||||
|
@ -181,10 +181,10 @@ static int error_count;
|
||||
of tree nodes. Also, if a predicate can match only one code, we can
|
||||
hardwire that code into the node testing the predicate. */
|
||||
|
||||
static struct pred_table
|
||||
static const struct pred_table
|
||||
{
|
||||
const char *name;
|
||||
RTX_CODE codes[NUM_RTX_CODE];
|
||||
const char *const name;
|
||||
const RTX_CODE codes[NUM_RTX_CODE];
|
||||
} preds[] = {
|
||||
{"general_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF,
|
||||
LABEL_REF, SUBREG, REG, MEM}},
|
||||
|
@ -326,7 +326,7 @@ global_alloc (file)
|
||||
{
|
||||
int retval;
|
||||
#ifdef ELIMINABLE_REGS
|
||||
static struct {int from, to; } eliminables[] = ELIMINABLE_REGS;
|
||||
static const struct {const int from, to; } eliminables[] = ELIMINABLE_REGS;
|
||||
#endif
|
||||
int need_fp
|
||||
= (! flag_omit_frame_pointer
|
||||
|
@ -1,3 +1,10 @@
|
||||
2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* jcf-io.c (format_uint): Const-ify.
|
||||
* lang.c (java_tree_code_type, java_tree_code_length): Likewise.
|
||||
* lex.c (java_get_line_col): Likewise.
|
||||
* parse.y (build_incdec): Likewise.
|
||||
|
||||
2001-10-03 Alexandre Petit-Bianco <apbianco@redhat.com>
|
||||
|
||||
* parse.y (patch_assignment): Use lvalue's original TYPE when
|
||||
|
@ -625,7 +625,7 @@ DEFUN(format_uint, (buffer, value, base),
|
||||
/* Note this code does not pretend to be optimized. */
|
||||
do {
|
||||
int digit = value % base;
|
||||
static char digit_chars[] = "0123456789abcdefghijklmnopqrstuvwxyz";
|
||||
static const char digit_chars[] = "0123456789abcdefghijklmnopqrstuvwxyz";
|
||||
*--buf_ptr = digit_chars[digit];
|
||||
value /= base;
|
||||
} while (value != 0);
|
||||
|
@ -67,7 +67,7 @@ static int process_option_with_no PARAMS ((char *,
|
||||
|
||||
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
|
||||
|
||||
char java_tree_code_type[] = {
|
||||
static const char java_tree_code_type[] = {
|
||||
'x',
|
||||
#include "java-tree.def"
|
||||
};
|
||||
@ -79,7 +79,7 @@ char java_tree_code_type[] = {
|
||||
|
||||
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
|
||||
|
||||
int java_tree_code_length[] = {
|
||||
static const int java_tree_code_length[] = {
|
||||
0,
|
||||
#include "java-tree.def"
|
||||
};
|
||||
|
@ -1751,7 +1751,7 @@ java_get_line_col (filename, line, col)
|
||||
c = getc (fp);
|
||||
if (c == EOF)
|
||||
{
|
||||
static char msg[] = "<<file too short - unexpected EOF>>";
|
||||
static const char msg[] = "<<file too short - unexpected EOF>>";
|
||||
obstack_grow (&temporary_obstack, msg, sizeof(msg)-1);
|
||||
goto have_line;
|
||||
}
|
||||
|
@ -14147,7 +14147,7 @@ build_incdec (op_token, op_location, op1, is_post_p)
|
||||
tree op1;
|
||||
int is_post_p;
|
||||
{
|
||||
static enum tree_code lookup [2][2] =
|
||||
static const enum tree_code lookup [2][2] =
|
||||
{
|
||||
{ PREDECREMENT_EXPR, PREINCREMENT_EXPR, },
|
||||
{ POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, },
|
||||
|
@ -1016,7 +1016,7 @@ optimize_mode_switching (file)
|
||||
int need_commit = 0;
|
||||
sbitmap *kill;
|
||||
struct edge_list *edge_list;
|
||||
static int num_modes[] = NUM_MODES_FOR_MODE_SWITCHING;
|
||||
static const int num_modes[] = NUM_MODES_FOR_MODE_SWITCHING;
|
||||
#define N_ENTITIES (sizeof num_modes / sizeof (int))
|
||||
int entity_map[N_ENTITIES];
|
||||
struct bb_info *bb_info[N_ENTITIES];
|
||||
|
@ -2152,7 +2152,7 @@ find_free_reg (class, mode, qtyno, accept_call_clobbered, just_try_suggested,
|
||||
#endif
|
||||
HARD_REG_SET used, first_used;
|
||||
#ifdef ELIMINABLE_REGS
|
||||
static struct {int from, to; } eliminables[] = ELIMINABLE_REGS;
|
||||
static const struct {const int from, to; } eliminables[] = ELIMINABLE_REGS;
|
||||
#endif
|
||||
|
||||
/* Validate our parameters. */
|
||||
|
@ -45,11 +45,11 @@ typedef struct param_info
|
||||
{
|
||||
/* The name used with the `--param <name>=<value>' switch to set this
|
||||
value. */
|
||||
const char *option;
|
||||
const char *const option;
|
||||
/* The associated value. */
|
||||
int value;
|
||||
/* A short description of the option. */
|
||||
const char *help;
|
||||
const char *const help;
|
||||
} param_info;
|
||||
|
||||
/* An array containing the compiler parameters and their current
|
||||
|
@ -69,10 +69,10 @@ static void counts_to_freqs PARAMS ((void));
|
||||
Filled using information from predict.def. */
|
||||
struct predictor_info
|
||||
{
|
||||
const char *name; /* Name used in the debugging dumps. */
|
||||
int hitrate; /* Expected hitrate used by
|
||||
predict_insn_def call. */
|
||||
int flags;
|
||||
const char *const name; /* Name used in the debugging dumps. */
|
||||
const int hitrate; /* Expected hitrate used by
|
||||
predict_insn_def call. */
|
||||
const int flags;
|
||||
};
|
||||
|
||||
/* Use given predictor without Dempster-Shaffer theory if it matches
|
||||
@ -84,7 +84,7 @@ struct predictor_info
|
||||
#define HITRATE(VAL) ((int)((VAL) * REG_BR_PROB_BASE + 50) / 100)
|
||||
|
||||
#define DEF_PREDICTOR(ENUM, NAME, HITRATE, FLAGS) {NAME, HITRATE, FLAGS},
|
||||
struct predictor_info predictor_info[] = {
|
||||
static const struct predictor_info predictor_info[] = {
|
||||
#include "predict.def"
|
||||
|
||||
/* Upper bound on predictors. */
|
||||
|
@ -167,8 +167,8 @@ static char * syscalls_absolute_filename;
|
||||
/* Type of the structure that holds information about macro unexpansions. */
|
||||
|
||||
struct unexpansion_struct {
|
||||
const char *expanded;
|
||||
const char *contracted;
|
||||
const char *const expanded;
|
||||
const char *const contracted;
|
||||
};
|
||||
typedef struct unexpansion_struct unexpansion;
|
||||
|
||||
|
@ -5536,7 +5536,7 @@ read_expnt:
|
||||
/* Return Y = largest integer not greater than X (truncated toward minus
|
||||
infinity). */
|
||||
|
||||
static UEMUSHORT bmask[] =
|
||||
static const UEMUSHORT bmask[] =
|
||||
{
|
||||
0xffff,
|
||||
0xfffe,
|
||||
|
24
gcc/recog.h
24
gcc/recog.h
@ -215,15 +215,15 @@ typedef rtx (*insn_gen_fn) PARAMS ((rtx, ...));
|
||||
|
||||
struct insn_operand_data
|
||||
{
|
||||
insn_operand_predicate_fn predicate;
|
||||
const insn_operand_predicate_fn predicate;
|
||||
|
||||
const char *constraint;
|
||||
const char *const constraint;
|
||||
|
||||
ENUM_BITFIELD(machine_mode) mode : 16;
|
||||
const ENUM_BITFIELD(machine_mode) mode : 16;
|
||||
|
||||
char strict_low;
|
||||
const char strict_low;
|
||||
|
||||
char eliminable;
|
||||
const char eliminable;
|
||||
};
|
||||
|
||||
/* Legal values for insn_data.output_format. Indicate what type of data
|
||||
@ -235,15 +235,15 @@ struct insn_operand_data
|
||||
|
||||
struct insn_data
|
||||
{
|
||||
const char *name;
|
||||
const char *const name;
|
||||
const PTR output;
|
||||
insn_gen_fn genfun;
|
||||
const struct insn_operand_data *operand;
|
||||
const insn_gen_fn genfun;
|
||||
const struct insn_operand_data *const operand;
|
||||
|
||||
char n_operands;
|
||||
char n_dups;
|
||||
char n_alternatives;
|
||||
char output_format;
|
||||
const char n_operands;
|
||||
const char n_dups;
|
||||
const char n_alternatives;
|
||||
const char output_format;
|
||||
};
|
||||
|
||||
extern const struct insn_data insn_data[];
|
||||
|
@ -74,7 +74,7 @@ HARD_REG_SET fixed_reg_set;
|
||||
|
||||
/* Data for initializing the above. */
|
||||
|
||||
static char initial_fixed_regs[] = FIXED_REGISTERS;
|
||||
static const char initial_fixed_regs[] = FIXED_REGISTERS;
|
||||
|
||||
/* Indexed by hard register number, contains 1 for registers
|
||||
that are fixed use or are clobbered by function calls.
|
||||
@ -93,7 +93,7 @@ HARD_REG_SET losing_caller_save_reg_set;
|
||||
|
||||
/* Data for initializing the above. */
|
||||
|
||||
static char initial_call_used_regs[] = CALL_USED_REGISTERS;
|
||||
static const char initial_call_used_regs[] = CALL_USED_REGISTERS;
|
||||
|
||||
/* This is much like call_used_regs, except it doesn't have to
|
||||
be a superset of FIXED_REGISTERS. This vector indicates
|
||||
|
@ -3478,7 +3478,7 @@ expand_nl_goto_receiver ()
|
||||
that if such an elimination is present, it can always be used.
|
||||
This is the case on all known machines; if we don't make this
|
||||
assumption, we do unnecessary saving on many machines. */
|
||||
static struct elims {int from, to;} elim_regs[] = ELIMINABLE_REGS;
|
||||
static const struct elims {const int from, to;} elim_regs[] = ELIMINABLE_REGS;
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (elim_regs); i++)
|
||||
|
32
gcc/toplev.c
32
gcc/toplev.c
@ -923,14 +923,14 @@ int align_functions;
|
||||
int align_functions_log;
|
||||
|
||||
/* Table of supported debugging formats. */
|
||||
static struct
|
||||
static const struct
|
||||
{
|
||||
const char *arg;
|
||||
const char *const arg;
|
||||
/* Since PREFERRED_DEBUGGING_TYPE isn't necessarily a
|
||||
constant expression, we use NO_DEBUG in its place. */
|
||||
enum debug_info_type debug_type;
|
||||
int use_extensions_p;
|
||||
const char *description;
|
||||
const enum debug_info_type debug_type;
|
||||
const int use_extensions_p;
|
||||
const char *const description;
|
||||
} *da,
|
||||
debug_args[] =
|
||||
{
|
||||
@ -1192,10 +1192,10 @@ lang_independent_options f_options[] =
|
||||
|
||||
/* Table of language-specific options. */
|
||||
|
||||
static struct lang_opt
|
||||
static const struct lang_opt
|
||||
{
|
||||
const char *option;
|
||||
const char *description;
|
||||
const char *const option;
|
||||
const char *const description;
|
||||
}
|
||||
documented_lang_options[] =
|
||||
{
|
||||
@ -1378,22 +1378,22 @@ documented_lang_options[] =
|
||||
If VALUE is negative, -VALUE is bits to clear.
|
||||
(The sign bit is not used so there is no confusion.) */
|
||||
|
||||
struct
|
||||
static const struct
|
||||
{
|
||||
const char *name;
|
||||
int value;
|
||||
const char *description;
|
||||
const char *const name;
|
||||
const int value;
|
||||
const char *const description;
|
||||
}
|
||||
target_switches [] = TARGET_SWITCHES;
|
||||
|
||||
/* This table is similar, but allows the switch to have a value. */
|
||||
|
||||
#ifdef TARGET_OPTIONS
|
||||
struct
|
||||
static const struct
|
||||
{
|
||||
const char *prefix;
|
||||
const char **variable;
|
||||
const char *description;
|
||||
const char *const prefix;
|
||||
const char **const variable;
|
||||
const char *const description;
|
||||
}
|
||||
target_options [] = TARGET_OPTIONS;
|
||||
#endif
|
||||
|
@ -285,15 +285,15 @@ parse_number (olen)
|
||||
}
|
||||
|
||||
struct token {
|
||||
const char *operator;
|
||||
int token;
|
||||
const char *const operator;
|
||||
const int token;
|
||||
};
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
static struct token tokentab2[] = {
|
||||
static const struct token tokentab2[] = {
|
||||
{"&&", AND},
|
||||
{"||", OR},
|
||||
{"<<", LSH},
|
||||
@ -313,7 +313,7 @@ yylex ()
|
||||
register int c;
|
||||
register int namelen;
|
||||
register const char *tokstart;
|
||||
register struct token *toktab;
|
||||
register const struct token *toktab;
|
||||
|
||||
retry:
|
||||
|
||||
|
16
gcc/tree.h
16
gcc/tree.h
@ -2099,12 +2099,12 @@ struct attribute_spec
|
||||
{
|
||||
/* The name of the attribute (without any leading or trailing __),
|
||||
or NULL to mark the end of a table of attributes. */
|
||||
const char *name;
|
||||
const char *const name;
|
||||
/* The minimum length of the list of arguments of the attribute. */
|
||||
int min_length;
|
||||
const int min_length;
|
||||
/* The maximum length of the list of arguments of the attribute
|
||||
(-1 for no maximum). */
|
||||
int max_length;
|
||||
const int max_length;
|
||||
/* Whether this attribute requires a DECL. If it does, it will be passed
|
||||
from types of DECLs, function return types and array element types to
|
||||
the DECLs, function types and array types respectively; but when
|
||||
@ -2112,15 +2112,15 @@ struct attribute_spec
|
||||
a warning. (If greater control is desired for a given attribute,
|
||||
this should be false, and the flags argument to the handler may be
|
||||
used to gain greater control in that case.) */
|
||||
bool decl_required;
|
||||
const bool decl_required;
|
||||
/* Whether this attribute requires a type. If it does, it will be passed
|
||||
from a DECL to the type of that DECL. */
|
||||
bool type_required;
|
||||
const bool type_required;
|
||||
/* Whether this attribute requires a function (or method) type. If it does,
|
||||
it will be passed from a function pointer type to the target type,
|
||||
and from a function return type (which is not itself a function
|
||||
pointer type) to the function type. */
|
||||
bool function_type_required;
|
||||
const bool function_type_required;
|
||||
/* Function to handle this attribute. NODE points to the node to which
|
||||
the attribute is to be applied. If a DECL, it should be modified in
|
||||
place; if a TYPE, a copy should be created. NAME is the name of the
|
||||
@ -2135,8 +2135,8 @@ struct attribute_spec
|
||||
otherwise the return value should be NULL_TREE. This pointer may be
|
||||
NULL if no special handling is required beyond the checks implied
|
||||
by the rest of this structure. */
|
||||
tree (*handler) PARAMS ((tree *node, tree name, tree args,
|
||||
int flags, bool *no_add_attrs));
|
||||
tree (*const handler) PARAMS ((tree *node, tree name, tree args,
|
||||
int flags, bool *no_add_attrs));
|
||||
};
|
||||
|
||||
extern const struct attribute_spec default_target_attribute_table[];
|
||||
|
Loading…
x
Reference in New Issue
Block a user