optc-gen.awk: Generate global_options initializer instead of individual variables.
gcc: * optc-gen.awk: Generate global_options initializer instead of individual variables. Add x_ prefix to names of structure members. * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to names of structure members. * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER, HARD_FRAME_POINTER_IS_ARG_POINTER): Document. * doc/tm.texi: Regenerate. * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER. * c-parser.c (disable_extension_diagnostics, restore_extension_diagnostics): Update names of cpp_options members. * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER * common.opt (fcompare-debug-second): Don't use Var. * config/alpha/alpha.h (target_flags): Remove. * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER, HARD_FRAME_POINTER_IS_ARG_POINTER): Define. * config/bfin/bfin.h (target_flags): Remove. * config/cris/cris.h (target_flags): Remove. * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of cl_target_option members. * config/i386/i386.c (ix86_force_align_arg_pointer): Remove. (ix86_function_specific_print, ix86_valid_target_attribute_tree, ix86_can_inline_p): Update names of cl_target_option members. * config/i386/i386.h (ix86_isa_flags): Remove. * config/lm32/lm32.h (target_flags): Remove. * config/mcore/mcore.h (mcore_stack_increment): Remove. * config/mcore/mcore.md (addsi3): Remove extern declaration of flag_omit_frame_pointer. * config/mep/mep.h (target_flags): Remove. * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER, HARD_FRAME_POINTER_IS_ARG_POINTER): Define. * config/mmix/mmix.h (target_flags): Remove. * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic, flag_expensive_optimizations): Remove. * config/s390/s390.h (flag_pic): Remove. * config/score/score-conv.h (target_flags): Remove. * config/sh/sh.h (sh_fixed_range_str): Remove. * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove. * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. * diagnostic.c (diagnostic_initialize): Update names of diagnostic_context members. * diagnostic.h (diagnostic_context): Rename inhibit_warnings and warn_system_headers. (diagnostic_report_warnings_p): Update for new names. * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and HARD_FRAME_POINTER_IS_ARG_POINTER. * flags.h (flag_compare_debug): Declare. * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER * opts.c (flag_compare_debug): Define. (common_handle_option): Update names of diagnostic_context members. Handle -fcompare-debug-second. (fast_math_flags_struct_set_p): Update names of cl_optimization members. * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER, HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use. * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER. gcc/c-family: * c-common.c (c_cpp_error): Update names of diagnostic_context members. * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of cl_optimization members. * c-opts.c (warning_as_error_callback, c_common_handle_option, sanitize_cpp_opts, finish_options): Update names of cpp_options members. gcc/fortran: * cpp.c (cpp_define_builtins): Update names of gfc_option_t members. (gfc_cpp_post_options): Update names of cpp_options members. (cb_cpp_error): Update names of diagnostic_context members. * f95-lang.c (gfc_init_builtin_functions): Update names of gfc_option_t members. * gfortran.h (gfc_option_t): Rename warn_conversion and flag_openmp. * intrinsic.c (gfc_convert_type_warn): Update names of gfc_option_t members. * options.c (gfc_init_options, gfc_post_options, set_Wall, gfc_handle_option): Update names of gfc_option_t members. * parse.c (next_free, next_fixed): Update names of gfc_option_t members. * scanner.c (pedantic): Remove extern declaration. (skip_free_comments, skip_fixed_comments, include_line): Update names of gfc_option_t members. * trans-decl.c (gfc_generate_function_code): Update names of gfc_option_t members. gcc/java: * java-tree.h (flag_filelist_file, flag_assert, flag_jni, flag_force_classes_archive_check, flag_redundant, flag_newer, flag_use_divide_subroutine, flag_use_atomic_builtins, flag_use_boehm_gc, flag_hash_synchronization, flag_check_references, flag_optimize_sci, flag_indirect_classes, flag_indirect_dispatch, flag_store_check, flag_reduced_reflection): Remove. * jcf-dump.c (flag_newer): Remove. * jcf.h (quiet_flag): Remove. * parse.h (quiet_flag): Remove. libcpp: * include/cpplib.h (cpp_options): Rename warn_deprecated, warn_traditional, warn_long_long and pedantic. * directives.c (directive_diagnostics, _cpp_handle_directive): Update names of cpp_options members. * expr.c (cpp_classify_number, eval_token): Update names of cpp_options members. * init.c (cpp_create_reader, post_options): Update names of cpp_options members. * internal.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Update names of cpp_options members. * macro.c (parse_params): Update names of cpp_options members. From-SVN: r164723
This commit is contained in:
parent
66dfc61020
commit
e3339d0f33
@ -1,3 +1,72 @@
|
||||
2010-09-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* optc-gen.awk: Generate global_options initializer instead of
|
||||
individual variables. Add x_ prefix to names of structure
|
||||
members.
|
||||
* opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
|
||||
names of structure members.
|
||||
* doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
|
||||
HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
|
||||
* doc/tm.texi: Regenerate.
|
||||
* alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
* builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
|
||||
* c-parser.c (disable_extension_diagnostics,
|
||||
restore_extension_diagnostics): Update names of cpp_options
|
||||
members.
|
||||
* combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
* common.opt (fcompare-debug-second): Don't use Var.
|
||||
* config/alpha/alpha.h (target_flags): Remove.
|
||||
* config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
|
||||
HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
|
||||
* config/bfin/bfin.h (target_flags): Remove.
|
||||
* config/cris/cris.h (target_flags): Remove.
|
||||
* config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
|
||||
cl_target_option members.
|
||||
* config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
|
||||
(ix86_function_specific_print, ix86_valid_target_attribute_tree,
|
||||
ix86_can_inline_p): Update names of cl_target_option members.
|
||||
* config/i386/i386.h (ix86_isa_flags): Remove.
|
||||
* config/lm32/lm32.h (target_flags): Remove.
|
||||
* config/mcore/mcore.h (mcore_stack_increment): Remove.
|
||||
* config/mcore/mcore.md (addsi3): Remove extern declaration of
|
||||
flag_omit_frame_pointer.
|
||||
* config/mep/mep.h (target_flags): Remove.
|
||||
* config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
|
||||
HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
|
||||
* config/mmix/mmix.h (target_flags): Remove.
|
||||
* config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
|
||||
flag_expensive_optimizations): Remove.
|
||||
* config/s390/s390.h (flag_pic): Remove.
|
||||
* config/score/score-conv.h (target_flags): Remove.
|
||||
* config/sh/sh.h (sh_fixed_range_str): Remove.
|
||||
* config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
|
||||
* dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
* df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
|
||||
* diagnostic.c (diagnostic_initialize): Update names of
|
||||
diagnostic_context members.
|
||||
* diagnostic.h (diagnostic_context): Rename inhibit_warnings and
|
||||
warn_system_headers.
|
||||
(diagnostic_report_warnings_p): Update for new names.
|
||||
* dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
* emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
|
||||
HARD_FRAME_POINTER_IS_ARG_POINTER.
|
||||
* flags.h (flag_compare_debug): Declare.
|
||||
* ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
* opts.c (flag_compare_debug): Define.
|
||||
(common_handle_option): Update names of diagnostic_context
|
||||
members. Handle -fcompare-debug-second.
|
||||
(fast_math_flags_struct_set_p): Update names of cl_optimization
|
||||
members.
|
||||
* reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
|
||||
* regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
|
||||
* reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
|
||||
* reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
|
||||
* resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
|
||||
* rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
|
||||
HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
|
||||
* sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
* stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
|
||||
|
||||
2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
|
||||
|
||||
* config/picochip/picochip.c (picochip_output_internal_label):
|
||||
|
@ -2688,7 +2688,7 @@ init_alias_target (void)
|
||||
= gen_rtx_ADDRESS (Pmode, arg_pointer_rtx);
|
||||
static_reg_base_value[FRAME_POINTER_REGNUM]
|
||||
= gen_rtx_ADDRESS (Pmode, frame_pointer_rtx);
|
||||
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
static_reg_base_value[HARD_FRAME_POINTER_REGNUM]
|
||||
= gen_rtx_ADDRESS (Pmode, hard_frame_pointer_rtx);
|
||||
#endif
|
||||
|
@ -835,7 +835,7 @@ expand_builtin_setjmp_receiver (rtx receiver_label ATTRIBUTE_UNUSED)
|
||||
emit_clobber (hard_frame_pointer_rtx);
|
||||
}
|
||||
|
||||
#if ARG_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
if (fixed_regs[ARG_POINTER_REGNUM])
|
||||
{
|
||||
#ifdef ELIMINABLE_REGS
|
||||
|
@ -1,3 +1,13 @@
|
||||
2010-09-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* c-common.c (c_cpp_error): Update names of diagnostic_context
|
||||
members.
|
||||
* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
|
||||
cl_optimization members.
|
||||
* c-opts.c (warning_as_error_callback, c_common_handle_option,
|
||||
sanitize_cpp_opts, finish_options): Update names of cpp_options
|
||||
members.
|
||||
|
||||
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
|
||||
|
@ -8311,7 +8311,7 @@ c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
|
||||
{
|
||||
diagnostic_info diagnostic;
|
||||
diagnostic_t dlevel;
|
||||
bool save_warn_system_headers = global_dc->warn_system_headers;
|
||||
bool save_warn_system_headers = global_dc->dc_warn_system_headers;
|
||||
bool ret;
|
||||
|
||||
switch (level)
|
||||
@ -8319,7 +8319,7 @@ c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
|
||||
case CPP_DL_WARNING_SYSHDR:
|
||||
if (flag_no_output)
|
||||
return false;
|
||||
global_dc->warn_system_headers = 1;
|
||||
global_dc->dc_warn_system_headers = 1;
|
||||
/* Fall through. */
|
||||
case CPP_DL_WARNING:
|
||||
if (flag_no_output)
|
||||
@ -8356,7 +8356,7 @@ c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
|
||||
c_option_controlling_cpp_error (reason));
|
||||
ret = report_diagnostic (&diagnostic);
|
||||
if (level == CPP_DL_WARNING_SYSHDR)
|
||||
global_dc->warn_system_headers = save_warn_system_headers;
|
||||
global_dc->dc_warn_system_headers = save_warn_system_headers;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -514,14 +514,14 @@ c_cpp_builtins_optimize_pragma (cpp_reader *pfile, tree prev_tree,
|
||||
|
||||
/* Other target-independent built-ins determined by command-line
|
||||
options. */
|
||||
if (!prev->optimize_size && cur->optimize_size)
|
||||
if (!prev->x_optimize_size && cur->x_optimize_size)
|
||||
cpp_define (pfile, "__OPTIMIZE_SIZE__");
|
||||
else if (prev->optimize_size && !cur->optimize_size)
|
||||
else if (prev->x_optimize_size && !cur->x_optimize_size)
|
||||
cpp_undef (pfile, "__OPTIMIZE_SIZE__");
|
||||
|
||||
if (!prev->optimize && cur->optimize)
|
||||
if (!prev->x_optimize && cur->x_optimize)
|
||||
cpp_define (pfile, "__OPTIMIZE__");
|
||||
else if (prev->optimize && !cur->optimize)
|
||||
else if (prev->x_optimize && !cur->x_optimize)
|
||||
cpp_undef (pfile, "__OPTIMIZE__");
|
||||
|
||||
prev_fast_math = fast_math_flags_struct_set_p (prev);
|
||||
@ -531,17 +531,17 @@ c_cpp_builtins_optimize_pragma (cpp_reader *pfile, tree prev_tree,
|
||||
else if (prev_fast_math && !cur_fast_math)
|
||||
cpp_undef (pfile, "__FAST_MATH__");
|
||||
|
||||
if (!prev->flag_signaling_nans && cur->flag_signaling_nans)
|
||||
if (!prev->x_flag_signaling_nans && cur->x_flag_signaling_nans)
|
||||
cpp_define (pfile, "__SUPPORT_SNAN__");
|
||||
else if (prev->flag_signaling_nans && !cur->flag_signaling_nans)
|
||||
else if (prev->x_flag_signaling_nans && !cur->x_flag_signaling_nans)
|
||||
cpp_undef (pfile, "__SUPPORT_SNAN__");
|
||||
|
||||
if (!prev->flag_finite_math_only && cur->flag_finite_math_only)
|
||||
if (!prev->x_flag_finite_math_only && cur->x_flag_finite_math_only)
|
||||
{
|
||||
cpp_undef (pfile, "__FINITE_MATH_ONLY__");
|
||||
cpp_define (pfile, "__FINITE_MATH_ONLY__=1");
|
||||
}
|
||||
else if (!prev->flag_finite_math_only && cur->flag_finite_math_only)
|
||||
else if (!prev->x_flag_finite_math_only && cur->x_flag_finite_math_only)
|
||||
{
|
||||
cpp_undef (pfile, "__FINITE_MATH_ONLY__");
|
||||
cpp_define (pfile, "__FINITE_MATH_ONLY__=0");
|
||||
|
@ -157,7 +157,7 @@ warning_as_error_callback (int option_index)
|
||||
break;
|
||||
|
||||
case OPT_Wdeprecated:
|
||||
cpp_opts->warn_deprecated = 1;
|
||||
cpp_opts->cpp_warn_deprecated = 1;
|
||||
break;
|
||||
|
||||
case OPT_Wcomment:
|
||||
@ -173,11 +173,11 @@ warning_as_error_callback (int option_index)
|
||||
break;
|
||||
|
||||
case OPT_Wtraditional:
|
||||
cpp_opts->warn_traditional = 1;
|
||||
cpp_opts->cpp_warn_traditional = 1;
|
||||
break;
|
||||
|
||||
case OPT_Wlong_long:
|
||||
cpp_opts->warn_long_long = 1;
|
||||
cpp_opts->cpp_warn_long_long = 1;
|
||||
break;
|
||||
|
||||
case OPT_Wendif_labels:
|
||||
@ -508,7 +508,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
|
||||
break;
|
||||
|
||||
case OPT_Wdeprecated:
|
||||
cpp_opts->warn_deprecated = value;
|
||||
cpp_opts->cpp_warn_deprecated = value;
|
||||
break;
|
||||
|
||||
case OPT_Wendif_labels:
|
||||
@ -567,7 +567,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
|
||||
break;
|
||||
|
||||
case OPT_Wtraditional:
|
||||
cpp_opts->warn_traditional = value;
|
||||
cpp_opts->cpp_warn_traditional = value;
|
||||
break;
|
||||
|
||||
case OPT_Wtrigraphs:
|
||||
@ -788,7 +788,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
|
||||
is not overridden. */
|
||||
case OPT_pedantic_errors:
|
||||
case OPT_pedantic:
|
||||
cpp_opts->pedantic = 1;
|
||||
cpp_opts->cpp_pedantic = 1;
|
||||
cpp_opts->warn_endif_labels = 1;
|
||||
if (warn_pointer_sign == -1)
|
||||
warn_pointer_sign = 1;
|
||||
@ -1314,7 +1314,7 @@ sanitize_cpp_opts (void)
|
||||
if (warn_long_long == -1)
|
||||
warn_long_long = ((pedantic || warn_traditional)
|
||||
&& (c_dialect_cxx () ? cxx_dialect == cxx98 : !flag_isoc99));
|
||||
cpp_opts->warn_long_long = warn_long_long;
|
||||
cpp_opts->cpp_warn_long_long = warn_long_long;
|
||||
|
||||
/* Similarly with -Wno-variadic-macros. No check for c99 here, since
|
||||
this also turns off warnings about GCCs extension. */
|
||||
@ -1381,7 +1381,7 @@ finish_options (void)
|
||||
conflict with the specified standard, and since a strictly
|
||||
conforming program cannot contain a '$', we do not condition
|
||||
their acceptance on the -std= setting. */
|
||||
cpp_opts->warn_dollars = (cpp_opts->pedantic && !cpp_opts->c99);
|
||||
cpp_opts->warn_dollars = (cpp_opts->cpp_pedantic && !cpp_opts->c99);
|
||||
|
||||
cb_file_change (parse_in,
|
||||
linemap_add (line_table, LC_RENAME, 0,
|
||||
|
@ -884,11 +884,11 @@ disable_extension_diagnostics (void)
|
||||
| (flag_iso << 3)
|
||||
| (warn_long_long << 4)
|
||||
| (warn_cxx_compat << 5));
|
||||
cpp_opts->pedantic = pedantic = 0;
|
||||
cpp_opts->cpp_pedantic = pedantic = 0;
|
||||
warn_pointer_arith = 0;
|
||||
cpp_opts->warn_traditional = warn_traditional = 0;
|
||||
cpp_opts->cpp_warn_traditional = warn_traditional = 0;
|
||||
flag_iso = 0;
|
||||
cpp_opts->warn_long_long = warn_long_long = 0;
|
||||
cpp_opts->cpp_warn_long_long = warn_long_long = 0;
|
||||
warn_cxx_compat = 0;
|
||||
return ret;
|
||||
}
|
||||
@ -899,11 +899,11 @@ disable_extension_diagnostics (void)
|
||||
static inline void
|
||||
restore_extension_diagnostics (int flags)
|
||||
{
|
||||
cpp_opts->pedantic = pedantic = flags & 1;
|
||||
cpp_opts->cpp_pedantic = pedantic = flags & 1;
|
||||
warn_pointer_arith = (flags >> 1) & 1;
|
||||
cpp_opts->warn_traditional = warn_traditional = (flags >> 2) & 1;
|
||||
cpp_opts->cpp_warn_traditional = warn_traditional = (flags >> 2) & 1;
|
||||
flag_iso = (flags >> 3) & 1;
|
||||
cpp_opts->warn_long_long = warn_long_long = (flags >> 4) & 1;
|
||||
cpp_opts->cpp_warn_long_long = warn_long_long = (flags >> 4) & 1;
|
||||
warn_cxx_compat = (flags >> 5) & 1;
|
||||
}
|
||||
|
||||
|
@ -962,7 +962,7 @@ create_log_links (void)
|
||||
/* Do not make the log link for frame pointer. */
|
||||
if ((regno == FRAME_POINTER_REGNUM
|
||||
&& (! reload_completed || frame_pointer_needed))
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
|| (regno == HARD_FRAME_POINTER_REGNUM
|
||||
&& (! reload_completed || frame_pointer_needed))
|
||||
#endif
|
||||
@ -2049,7 +2049,7 @@ combinable_i3pat (rtx i3, rtx *loc, rtx i2dest, rtx i1dest, rtx i0dest,
|
||||
&& REG_P (subdest)
|
||||
&& reg_referenced_p (subdest, PATTERN (i3))
|
||||
&& REGNO (subdest) != FRAME_POINTER_REGNUM
|
||||
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
&& REGNO (subdest) != HARD_FRAME_POINTER_REGNUM
|
||||
#endif
|
||||
#if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM
|
||||
@ -12802,7 +12802,7 @@ mark_used_regs_combine (rtx x)
|
||||
{
|
||||
/* None of this applies to the stack, frame or arg pointers. */
|
||||
if (regno == STACK_POINTER_REGNUM
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
|| regno == HARD_FRAME_POINTER_REGNUM
|
||||
#endif
|
||||
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|
||||
|
@ -647,7 +647,7 @@ Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
|
||||
-fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
|
||||
|
||||
fcompare-debug-second
|
||||
Common Driver RejectNegative Var(flag_compare_debug)
|
||||
Common Driver RejectNegative
|
||||
Run only the second compilation of -fcompare-debug
|
||||
|
||||
fconserve-stack
|
||||
|
@ -144,8 +144,6 @@ enum alpha_fp_trap_mode
|
||||
ALPHA_FPTM_SUI /* Software completion, w/underflow & inexact traps */
|
||||
};
|
||||
|
||||
extern int target_flags;
|
||||
|
||||
extern enum alpha_trap_precision alpha_tp;
|
||||
extern enum alpha_fp_rounding_mode alpha_fprm;
|
||||
extern enum alpha_fp_trap_mode alpha_fptm;
|
||||
|
@ -989,6 +989,9 @@ extern int arm_structure_size_boundary;
|
||||
? ARM_HARD_FRAME_POINTER_REGNUM \
|
||||
: THUMB_HARD_FRAME_POINTER_REGNUM)
|
||||
|
||||
#define HARD_FRAME_POINTER_IS_FRAME_POINTER 0
|
||||
#define HARD_FRAME_POINTER_IS_ARG_POINTER 0
|
||||
|
||||
#define FP_REGNUM HARD_FRAME_POINTER_REGNUM
|
||||
|
||||
/* Register to use for pushing function arguments. */
|
||||
|
@ -72,10 +72,6 @@ extern unsigned int bfin_workarounds;
|
||||
/* Print subsidiary information on the compiler version in use. */
|
||||
#define TARGET_VERSION fprintf (stderr, " (BlackFin bfin)")
|
||||
|
||||
/* Run-time compilation parameters selecting different hardware subsets. */
|
||||
|
||||
extern int target_flags;
|
||||
|
||||
/* Predefinition in the preprocessor for this target machine */
|
||||
#ifndef TARGET_CPU_CPP_BUILTINS
|
||||
#define TARGET_CPU_CPP_BUILTINS() \
|
||||
|
@ -280,9 +280,6 @@ extern int cris_cpu_version;
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* This needs to be at least 32 bits. */
|
||||
extern int target_flags;
|
||||
|
||||
/* Previously controlled by target_flags. */
|
||||
#define TARGET_ELF 1
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Subroutines used for macro/preprocessor support on the ia-32.
|
||||
Copyright (C) 2008, 2009
|
||||
Copyright (C) 2008, 2009, 2010
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
@ -297,8 +297,8 @@ ix86_pragma_target_parse (tree args, tree pop_target)
|
||||
/* Figure out the previous/current isa, arch, tune and the differences. */
|
||||
prev_opt = TREE_TARGET_OPTION (prev_tree);
|
||||
cur_opt = TREE_TARGET_OPTION (cur_tree);
|
||||
prev_isa = prev_opt->ix86_isa_flags;
|
||||
cur_isa = cur_opt->ix86_isa_flags;
|
||||
prev_isa = prev_opt->x_ix86_isa_flags;
|
||||
cur_isa = cur_opt->x_ix86_isa_flags;
|
||||
diff_isa = (prev_isa ^ cur_isa);
|
||||
prev_arch = (enum processor_type) prev_opt->arch;
|
||||
prev_tune = (enum processor_type) prev_opt->tune;
|
||||
|
@ -1898,7 +1898,6 @@ int x86_prefetch_sse;
|
||||
static int ix86_regparm;
|
||||
|
||||
/* -mstackrealign option */
|
||||
extern int ix86_force_align_arg_pointer;
|
||||
static const char ix86_force_align_arg_pointer_string[]
|
||||
= "force_align_arg_pointer";
|
||||
|
||||
@ -3860,7 +3859,7 @@ ix86_function_specific_print (FILE *file, int indent,
|
||||
struct cl_target_option *ptr)
|
||||
{
|
||||
char *target_string
|
||||
= ix86_target_string (ptr->ix86_isa_flags, ptr->target_flags,
|
||||
= ix86_target_string (ptr->x_ix86_isa_flags, ptr->x_target_flags,
|
||||
NULL, NULL, NULL, false);
|
||||
|
||||
fprintf (file, "%*sarch = %d (%s)\n",
|
||||
@ -4117,8 +4116,8 @@ ix86_valid_target_attribute_tree (tree args)
|
||||
ix86_option_override_internal, and then save the options away.
|
||||
The string options are are attribute options, and will be undone
|
||||
when we copy the save structure. */
|
||||
if (ix86_isa_flags != def->ix86_isa_flags
|
||||
|| target_flags != def->target_flags
|
||||
if (ix86_isa_flags != def->x_ix86_isa_flags
|
||||
|| target_flags != def->x_target_flags
|
||||
|| option_strings[IX86_FUNCTION_SPECIFIC_ARCH]
|
||||
|| option_strings[IX86_FUNCTION_SPECIFIC_TUNE]
|
||||
|| option_strings[IX86_FUNCTION_SPECIFIC_FPMATH])
|
||||
@ -4235,12 +4234,12 @@ ix86_can_inline_p (tree caller, tree callee)
|
||||
/* Callee's isa options should a subset of the caller's, i.e. a SSE4 function
|
||||
can inline a SSE2 function but a SSE2 function can't inline a SSE4
|
||||
function. */
|
||||
if ((caller_opts->ix86_isa_flags & callee_opts->ix86_isa_flags)
|
||||
!= callee_opts->ix86_isa_flags)
|
||||
if ((caller_opts->x_ix86_isa_flags & callee_opts->x_ix86_isa_flags)
|
||||
!= callee_opts->x_ix86_isa_flags)
|
||||
ret = false;
|
||||
|
||||
/* See if we have the same non-isa options. */
|
||||
else if (caller_opts->target_flags != callee_opts->target_flags)
|
||||
else if (caller_opts->x_target_flags != callee_opts->x_target_flags)
|
||||
ret = false;
|
||||
|
||||
/* See if arch, tune, etc. are the same. */
|
||||
|
@ -447,8 +447,6 @@ extern int x86_prefetch_sse;
|
||||
#define TARGET_ANY_GNU_TLS (TARGET_GNU_TLS || TARGET_GNU2_TLS)
|
||||
#define TARGET_SUN_TLS 0
|
||||
|
||||
extern int ix86_isa_flags;
|
||||
|
||||
#ifndef TARGET_64BIT_DEFAULT
|
||||
#define TARGET_64BIT_DEFAULT 0
|
||||
#endif
|
||||
|
@ -68,8 +68,6 @@
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC "%{!T*:-T sim.ld}"
|
||||
|
||||
extern int target_flags;
|
||||
|
||||
/* Add -G xx support. */
|
||||
|
||||
#undef SWITCH_TAKES_ARG
|
||||
|
@ -134,7 +134,6 @@ extern char * mcore_current_function_name;
|
||||
#define STACK_BOUNDARY (TARGET_8ALIGN ? 64 : 32)
|
||||
|
||||
/* Largest increment in UNITS we allow the stack to grow in a single operation. */
|
||||
extern int mcore_stack_increment;
|
||||
#define STACK_UNITS_MAXSTEP 4096
|
||||
|
||||
/* Allocation boundary (in *bits*) for the code of a function. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
;; Machine description the Motorola MCore
|
||||
;; Copyright (C) 1993, 1999, 2000, 2004, 2005, 2007
|
||||
;; Copyright (C) 1993, 1999, 2000, 2004, 2005, 2007, 2009, 2010
|
||||
;; Free Software Foundation, Inc.
|
||||
;; Contributed by Motorola.
|
||||
|
||||
@ -697,8 +697,6 @@
|
||||
""
|
||||
"
|
||||
{
|
||||
extern int flag_omit_frame_pointer;
|
||||
|
||||
/* If this is an add to the frame pointer, then accept it as is so
|
||||
that we can later fold in the fp/sp offset from frame pointer
|
||||
elimination. */
|
||||
|
@ -108,8 +108,6 @@ crtbegin.o%s"
|
||||
} \
|
||||
while (0)
|
||||
|
||||
extern int target_flags;
|
||||
|
||||
/* Controlled by MeP-Integrator. */
|
||||
#define TARGET_H1 0
|
||||
|
||||
|
@ -1736,6 +1736,9 @@ enum mips_code_readable_setting {
|
||||
#define HARD_FRAME_POINTER_REGNUM \
|
||||
(TARGET_MIPS16 ? GP_REG_FIRST + 17 : GP_REG_FIRST + 30)
|
||||
|
||||
#define HARD_FRAME_POINTER_IS_FRAME_POINTER 0
|
||||
#define HARD_FRAME_POINTER_IS_ARG_POINTER 0
|
||||
|
||||
/* Register in which static-chain is passed to a function. */
|
||||
#define STATIC_CHAIN_REGNUM (GP_REG_FIRST + 15)
|
||||
|
||||
|
@ -140,8 +140,6 @@ struct GTY(()) machine_function
|
||||
} \
|
||||
while (0)
|
||||
|
||||
extern int target_flags;
|
||||
|
||||
#define TARGET_DEFAULT \
|
||||
(MASK_BRANCH_PREDICT | MASK_BASE_ADDRESSES | MASK_USE_RETURN_INSN)
|
||||
|
||||
|
@ -471,7 +471,6 @@ extern int rs6000_float_gprs;
|
||||
extern int rs6000_alignment_flags;
|
||||
extern const char *rs6000_sched_insert_nops_str;
|
||||
extern enum rs6000_nop_insertion rs6000_sched_insert_nops;
|
||||
extern int rs6000_xilinx_fpu;
|
||||
|
||||
/* Describe which vector unit to use for a given machine mode. */
|
||||
enum rs6000_vector {
|
||||
@ -2417,9 +2416,7 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */
|
||||
/* #define MACHINE_no_sched_speculative_load */
|
||||
|
||||
/* General flags. */
|
||||
extern int flag_pic;
|
||||
extern int optimize;
|
||||
extern int flag_expensive_optimizations;
|
||||
extern int frame_pointer_needed;
|
||||
|
||||
/* Classification of the builtin functions to properly set the declaration tree
|
||||
|
@ -869,8 +869,6 @@ do { \
|
||||
|
||||
/* Position independent code. */
|
||||
|
||||
extern int flag_pic;
|
||||
|
||||
#define PIC_OFFSET_TABLE_REGNUM (flag_pic ? 12 : INVALID_REGNUM)
|
||||
|
||||
#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* score-conv.h for Sunplus S+CORE processor
|
||||
Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@ -20,8 +20,6 @@
|
||||
#ifndef GCC_SCORE_CONV_H
|
||||
#define GCC_SCORE_CONV_H
|
||||
|
||||
extern int target_flags;
|
||||
|
||||
#define GP_REG_FIRST 0U
|
||||
#define GP_REG_LAST 31U
|
||||
#define GP_REG_NUM (GP_REG_LAST - GP_REG_FIRST + 1U)
|
||||
|
@ -503,8 +503,6 @@ extern enum sh_divide_strategy_e sh_div_strategy;
|
||||
|
||||
#define SUBTARGET_OVERRIDE_OPTIONS (void) 0
|
||||
|
||||
extern const char *sh_fixed_range_str;
|
||||
|
||||
|
||||
/* Target machine storage layout. */
|
||||
|
||||
|
@ -24,9 +24,6 @@
|
||||
|
||||
#define INIT_EXPANDERS spu_init_expanders()
|
||||
|
||||
extern int target_flags;
|
||||
extern const char *spu_fixed_range_string;
|
||||
|
||||
/* Which processor to generate code or schedule for. */
|
||||
enum processor_type
|
||||
{
|
||||
|
@ -3015,7 +3015,7 @@ dbxout_symbol_location (tree decl, tree type, const char *suffix, rtx home)
|
||||
|| (REG_P (XEXP (home, 0))
|
||||
&& REGNO (XEXP (home, 0)) != HARD_FRAME_POINTER_REGNUM
|
||||
&& REGNO (XEXP (home, 0)) != STACK_POINTER_REGNUM
|
||||
#if ARG_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
&& REGNO (XEXP (home, 0)) != ARG_POINTER_REGNUM
|
||||
#endif
|
||||
)))
|
||||
@ -3429,7 +3429,7 @@ dbxout_parms (tree parms)
|
||||
&& REG_P (XEXP (DECL_RTL (parms), 0))
|
||||
&& REGNO (XEXP (DECL_RTL (parms), 0)) != HARD_FRAME_POINTER_REGNUM
|
||||
&& REGNO (XEXP (DECL_RTL (parms), 0)) != STACK_POINTER_REGNUM
|
||||
#if ARG_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
&& REGNO (XEXP (DECL_RTL (parms), 0)) != ARG_POINTER_REGNUM
|
||||
#endif
|
||||
)
|
||||
|
@ -3406,7 +3406,7 @@ df_insn_refs_collect (struct df_collection_rec* collection_rec,
|
||||
regno_reg_rtx[FRAME_POINTER_REGNUM],
|
||||
NULL, bb, insn_info,
|
||||
DF_REF_REG_USE, 0);
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
df_ref_record (DF_REF_BASE, collection_rec,
|
||||
regno_reg_rtx[HARD_FRAME_POINTER_REGNUM],
|
||||
NULL, bb, insn_info,
|
||||
@ -3604,7 +3604,7 @@ df_get_regular_block_artificial_uses (bitmap regular_block_artificial_uses)
|
||||
reference of the frame pointer. */
|
||||
bitmap_set_bit (regular_block_artificial_uses, FRAME_POINTER_REGNUM);
|
||||
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
bitmap_set_bit (regular_block_artificial_uses, HARD_FRAME_POINTER_REGNUM);
|
||||
#endif
|
||||
|
||||
@ -3656,7 +3656,7 @@ df_get_eh_block_artificial_uses (bitmap eh_block_artificial_uses)
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
bitmap_set_bit (eh_block_artificial_uses, FRAME_POINTER_REGNUM);
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
bitmap_set_bit (eh_block_artificial_uses, HARD_FRAME_POINTER_REGNUM);
|
||||
#endif
|
||||
}
|
||||
@ -3744,7 +3744,7 @@ df_get_entry_block_def_set (bitmap entry_block_defs)
|
||||
/* Any reference to any pseudo before reload is a potential
|
||||
reference of the frame pointer. */
|
||||
bitmap_set_bit (entry_block_defs, FRAME_POINTER_REGNUM);
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
/* If they are different, also mark the hard frame pointer as live. */
|
||||
if (!LOCAL_REGNO (HARD_FRAME_POINTER_REGNUM))
|
||||
bitmap_set_bit (entry_block_defs, HARD_FRAME_POINTER_REGNUM);
|
||||
@ -3877,7 +3877,7 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
|
||||
if ((!reload_completed) || frame_pointer_needed)
|
||||
{
|
||||
bitmap_set_bit (exit_block_uses, FRAME_POINTER_REGNUM);
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
/* If they are different, also mark the hard frame pointer as live. */
|
||||
if (!LOCAL_REGNO (HARD_FRAME_POINTER_REGNUM))
|
||||
bitmap_set_bit (exit_block_uses, HARD_FRAME_POINTER_REGNUM);
|
||||
|
@ -107,8 +107,8 @@ diagnostic_initialize (diagnostic_context *context, int n_opts)
|
||||
context->permissive = false;
|
||||
context->opt_permissive = 0;
|
||||
context->fatal_errors = false;
|
||||
context->inhibit_warnings = false;
|
||||
context->warn_system_headers = false;
|
||||
context->dc_inhibit_warnings = false;
|
||||
context->dc_warn_system_headers = false;
|
||||
context->internal_error = NULL;
|
||||
diagnostic_starter (context) = default_diagnostic_starter;
|
||||
diagnostic_finalizer (context) = default_diagnostic_finalizer;
|
||||
|
@ -124,10 +124,10 @@ struct diagnostic_context
|
||||
bool fatal_errors;
|
||||
|
||||
/* True if all warnings should be disabled. */
|
||||
bool inhibit_warnings;
|
||||
bool dc_inhibit_warnings;
|
||||
|
||||
/* True if warnings should be given in system headers. */
|
||||
bool warn_system_headers;
|
||||
bool dc_warn_system_headers;
|
||||
|
||||
/* This function is called before any message is printed out. It is
|
||||
responsible for preparing message prefix and such. For example, it
|
||||
@ -230,8 +230,8 @@ extern diagnostic_context *global_dc;
|
||||
|
||||
/* Returns nonzero if warnings should be emitted. */
|
||||
#define diagnostic_report_warnings_p(DC, LOC) \
|
||||
(!(DC)->inhibit_warnings \
|
||||
&& !(in_system_header_at (LOC) && !(DC)->warn_system_headers))
|
||||
(!(DC)->dc_inhibit_warnings \
|
||||
&& !(in_system_header_at (LOC) && !(DC)->dc_warn_system_headers))
|
||||
|
||||
#define report_diagnostic(D) diagnostic_report_diagnostic (global_dc, D)
|
||||
|
||||
|
@ -3643,6 +3643,22 @@ pointer register, then you must mark it as a fixed register according to
|
||||
(@pxref{Elimination}).
|
||||
@end defmac
|
||||
|
||||
@defmac HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
Define this to a preprocessor constant that is nonzero if
|
||||
@code{hard_frame_pointer_rtx} and @code{frame_pointer_rtx} should be
|
||||
the same. The default definition is @samp{(HARD_FRAME_POINTER_REGNUM
|
||||
== FRAME_POINTER_REGNUM)}; you only need to define this macro if that
|
||||
definition is not suitable for use in preprocessor conditionals.
|
||||
@end defmac
|
||||
|
||||
@defmac HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
Define this to a preprocessor constant that is nonzero if
|
||||
@code{hard_frame_pointer_rtx} and @code{arg_pointer_rtx} should be the
|
||||
same. The default definition is @samp{(HARD_FRAME_POINTER_REGNUM ==
|
||||
ARG_POINTER_REGNUM)}; you only need to define this macro if that
|
||||
definition is not suitable for use in preprocessor conditionals.
|
||||
@end defmac
|
||||
|
||||
@defmac RETURN_ADDRESS_POINTER_REGNUM
|
||||
The register number of the return address pointer register, which is used to
|
||||
access the current function's return address from the stack. On some
|
||||
|
@ -3643,6 +3643,22 @@ pointer register, then you must mark it as a fixed register according to
|
||||
(@pxref{Elimination}).
|
||||
@end defmac
|
||||
|
||||
@defmac HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
Define this to a preprocessor constant that is nonzero if
|
||||
@code{hard_frame_pointer_rtx} and @code{frame_pointer_rtx} should be
|
||||
the same. The default definition is @samp{(HARD_FRAME_POINTER_REGNUM
|
||||
== FRAME_POINTER_REGNUM)}; you only need to define this macro if that
|
||||
definition is not suitable for use in preprocessor conditionals.
|
||||
@end defmac
|
||||
|
||||
@defmac HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
Define this to a preprocessor constant that is nonzero if
|
||||
@code{hard_frame_pointer_rtx} and @code{arg_pointer_rtx} should be the
|
||||
same. The default definition is @samp{(HARD_FRAME_POINTER_REGNUM ==
|
||||
ARG_POINTER_REGNUM)}; you only need to define this macro if that
|
||||
definition is not suitable for use in preprocessor conditionals.
|
||||
@end defmac
|
||||
|
||||
@defmac RETURN_ADDRESS_POINTER_REGNUM
|
||||
The register number of the return address pointer register, which is used to
|
||||
access the current function's return address from the stack. On some
|
||||
|
@ -16567,7 +16567,7 @@ rtl_for_decl_location (tree decl)
|
||||
&& (!REG_P (XEXP (rtl, 0))
|
||||
|| REGNO (XEXP (rtl, 0)) == HARD_FRAME_POINTER_REGNUM
|
||||
|| REGNO (XEXP (rtl, 0)) == STACK_POINTER_REGNUM
|
||||
#if ARG_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
|| REGNO (XEXP (rtl, 0)) == ARG_POINTER_REGNUM
|
||||
#endif
|
||||
)
|
||||
|
@ -589,12 +589,12 @@ gen_rtx_REG (enum machine_mode mode, unsigned int regno)
|
||||
if (regno == FRAME_POINTER_REGNUM
|
||||
&& (!reload_completed || frame_pointer_needed))
|
||||
return frame_pointer_rtx;
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
if (regno == HARD_FRAME_POINTER_REGNUM
|
||||
&& (!reload_completed || frame_pointer_needed))
|
||||
return hard_frame_pointer_rtx;
|
||||
#endif
|
||||
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && HARD_FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|
||||
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && !HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
if (regno == ARG_POINTER_REGNUM)
|
||||
return arg_pointer_rtx;
|
||||
#endif
|
||||
|
@ -77,6 +77,11 @@ extern void set_struct_debug_option (const char *value);
|
||||
debugging information. */
|
||||
extern bool use_gnu_debug_info_extensions;
|
||||
|
||||
/* Run the second compilation of -fcompare-debug. Not defined using
|
||||
Var in common.opt because this is used in Ada code and so must be
|
||||
an actual variable not a macro. */
|
||||
extern int flag_compare_debug;
|
||||
|
||||
/* Enumerate visibility settings. This is deliberately ordered from most
|
||||
to least visibility. */
|
||||
#ifndef SYMBOL_VISIBILITY_DEFINED
|
||||
|
@ -1,3 +1,25 @@
|
||||
2010-09-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* cpp.c (cpp_define_builtins): Update names of gfc_option_t
|
||||
members.
|
||||
(gfc_cpp_post_options): Update names of cpp_options members.
|
||||
(cb_cpp_error): Update names of diagnostic_context members.
|
||||
* f95-lang.c (gfc_init_builtin_functions): Update names of
|
||||
gfc_option_t members.
|
||||
* gfortran.h (gfc_option_t): Rename warn_conversion and
|
||||
flag_openmp.
|
||||
* intrinsic.c (gfc_convert_type_warn): Update names of
|
||||
gfc_option_t members.
|
||||
* options.c (gfc_init_options, gfc_post_options, set_Wall,
|
||||
gfc_handle_option): Update names of gfc_option_t members.
|
||||
* parse.c (next_free, next_fixed): Update names of gfc_option_t
|
||||
members.
|
||||
* scanner.c (pedantic): Remove extern declaration.
|
||||
(skip_free_comments, skip_fixed_comments, include_line): Update
|
||||
names of gfc_option_t members.
|
||||
* trans-decl.c (gfc_generate_function_code): Update names of
|
||||
gfc_option_t members.
|
||||
|
||||
2010-09-28 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/40569
|
||||
|
@ -176,7 +176,7 @@ cpp_define_builtins (cpp_reader *pfile)
|
||||
cpp_define (pfile, "__GFORTRAN__=1");
|
||||
cpp_define (pfile, "_LANGUAGE_FORTRAN=1");
|
||||
|
||||
if (gfc_option.flag_openmp)
|
||||
if (gfc_option.gfc_flag_openmp)
|
||||
cpp_define (pfile, "_OPENMP=200805");
|
||||
|
||||
|
||||
@ -526,7 +526,7 @@ gfc_cpp_post_options (void)
|
||||
cpp_option->traditional = 1;
|
||||
cpp_option->cplusplus_comments = 0;
|
||||
|
||||
cpp_option->pedantic = pedantic;
|
||||
cpp_option->cpp_pedantic = pedantic;
|
||||
|
||||
cpp_option->dollars_in_ident = gfc_option.flag_dollar_ok;
|
||||
cpp_option->discard_comments = gfc_cpp_option.discard_comments;
|
||||
@ -1075,13 +1075,13 @@ cb_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
|
||||
{
|
||||
diagnostic_info diagnostic;
|
||||
diagnostic_t dlevel;
|
||||
bool save_warn_system_headers = global_dc->warn_system_headers;
|
||||
bool save_warn_system_headers = global_dc->dc_warn_system_headers;
|
||||
bool ret;
|
||||
|
||||
switch (level)
|
||||
{
|
||||
case CPP_DL_WARNING_SYSHDR:
|
||||
global_dc->warn_system_headers = 1;
|
||||
global_dc->dc_warn_system_headers = 1;
|
||||
/* Fall through. */
|
||||
case CPP_DL_WARNING:
|
||||
dlevel = DK_WARNING;
|
||||
@ -1112,7 +1112,7 @@ cb_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
|
||||
diagnostic_override_option_index (&diagnostic, OPT_Wcpp);
|
||||
ret = report_diagnostic (&diagnostic);
|
||||
if (level == CPP_DL_WARNING_SYSHDR)
|
||||
global_dc->warn_system_headers = save_warn_system_headers;
|
||||
global_dc->dc_warn_system_headers = save_warn_system_headers;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1089,7 +1089,7 @@ gfc_init_builtin_functions (void)
|
||||
#include "../sync-builtins.def"
|
||||
#undef DEF_SYNC_BUILTIN
|
||||
|
||||
if (gfc_option.flag_openmp || flag_tree_parallelize_loops)
|
||||
if (gfc_option.gfc_flag_openmp || flag_tree_parallelize_loops)
|
||||
{
|
||||
#undef DEF_GOMP_BUILTIN
|
||||
#define DEF_GOMP_BUILTIN(code, name, type, attr) \
|
||||
|
@ -2190,7 +2190,7 @@ typedef struct
|
||||
|
||||
int warn_aliasing;
|
||||
int warn_ampersand;
|
||||
int warn_conversion;
|
||||
int gfc_warn_conversion;
|
||||
int warn_conversion_extra;
|
||||
int warn_implicit_interface;
|
||||
int warn_implicit_procedure;
|
||||
@ -2230,7 +2230,7 @@ typedef struct
|
||||
int blas_matmul_limit;
|
||||
int flag_cray_pointer;
|
||||
int flag_d_lines;
|
||||
int flag_openmp;
|
||||
int gfc_flag_openmp;
|
||||
int flag_sign_zero;
|
||||
int flag_module_private;
|
||||
int flag_recursive;
|
||||
|
@ -4320,7 +4320,7 @@ gfc_convert_type_warn (gfc_expr *expr, gfc_typespec *ts, int eflag, int wflag)
|
||||
gfc_warning_now ("Conversion from %s to %s at %L",
|
||||
gfc_typename (&from_ts), gfc_typename (ts),
|
||||
&expr->where);
|
||||
else if (gfc_option.warn_conversion
|
||||
else if (gfc_option.gfc_warn_conversion
|
||||
&& from_ts.kind > ts->kind)
|
||||
gfc_warning_now ("Possible change of value in conversion "
|
||||
"from %s to %s at %L", gfc_typename (&from_ts),
|
||||
@ -4333,7 +4333,7 @@ gfc_convert_type_warn (gfc_expr *expr, gfc_typespec *ts, int eflag, int wflag)
|
||||
/* Conversion from REAL/COMPLEX to INTEGER or COMPLEX to REAL
|
||||
usually comes with a loss of information, regardless of kinds. */
|
||||
if (gfc_option.warn_conversion_extra
|
||||
|| gfc_option.warn_conversion)
|
||||
|| gfc_option.gfc_warn_conversion)
|
||||
gfc_warning_now ("Possible change of value in conversion "
|
||||
"from %s to %s at %L", gfc_typename (&from_ts),
|
||||
gfc_typename (ts), &expr->where);
|
||||
@ -4342,7 +4342,7 @@ gfc_convert_type_warn (gfc_expr *expr, gfc_typespec *ts, int eflag, int wflag)
|
||||
{
|
||||
/* If HOLLERITH is involved, all bets are off. */
|
||||
if (gfc_option.warn_conversion_extra
|
||||
|| gfc_option.warn_conversion)
|
||||
|| gfc_option.gfc_warn_conversion)
|
||||
gfc_warning_now ("Conversion from %s to %s at %L",
|
||||
gfc_typename (&from_ts), gfc_typename (ts),
|
||||
&expr->where);
|
||||
|
@ -88,7 +88,7 @@ gfc_init_options (unsigned int decoded_options_count,
|
||||
gfc_option.warn_ampersand = 0;
|
||||
gfc_option.warn_character_truncation = 0;
|
||||
gfc_option.warn_array_temp = 0;
|
||||
gfc_option.warn_conversion = 0;
|
||||
gfc_option.gfc_warn_conversion = 0;
|
||||
gfc_option.warn_conversion_extra = 0;
|
||||
gfc_option.warn_implicit_interface = 0;
|
||||
gfc_option.warn_line_truncation = 0;
|
||||
@ -129,7 +129,7 @@ gfc_init_options (unsigned int decoded_options_count,
|
||||
gfc_option.blas_matmul_limit = 30;
|
||||
gfc_option.flag_cray_pointer = 0;
|
||||
gfc_option.flag_d_lines = -1;
|
||||
gfc_option.flag_openmp = 0;
|
||||
gfc_option.gfc_flag_openmp = 0;
|
||||
gfc_option.flag_sign_zero = 1;
|
||||
gfc_option.flag_recursive = 0;
|
||||
gfc_option.flag_init_integer = GFC_INIT_INTEGER_OFF;
|
||||
@ -357,7 +357,7 @@ gfc_post_options (const char **pfilename)
|
||||
gfc_option.flag_max_stack_var_size);
|
||||
else if (!gfc_option.flag_automatic && gfc_option.flag_recursive)
|
||||
gfc_warning_now ("Flag -fno-automatic overwrites -frecursive");
|
||||
else if (!gfc_option.flag_automatic && gfc_option.flag_openmp)
|
||||
else if (!gfc_option.flag_automatic && gfc_option.gfc_flag_openmp)
|
||||
gfc_warning_now ("Flag -fno-automatic overwrites -frecursive implied by "
|
||||
"-fopenmp");
|
||||
else if (gfc_option.flag_max_stack_var_size != -2
|
||||
@ -365,7 +365,7 @@ gfc_post_options (const char **pfilename)
|
||||
gfc_warning_now ("Flag -frecursive overwrites -fmax-stack-var-size=%d",
|
||||
gfc_option.flag_max_stack_var_size);
|
||||
else if (gfc_option.flag_max_stack_var_size != -2
|
||||
&& gfc_option.flag_openmp)
|
||||
&& gfc_option.gfc_flag_openmp)
|
||||
gfc_warning_now ("Flag -fmax-stack-var-size=%d overwrites -frecursive "
|
||||
"implied by -fopenmp",
|
||||
gfc_option.flag_max_stack_var_size);
|
||||
@ -375,7 +375,7 @@ gfc_post_options (const char **pfilename)
|
||||
gfc_option.flag_max_stack_var_size = -1;
|
||||
|
||||
/* Implied -frecursive; implemented as -fmax-stack-var-size=-1. */
|
||||
if (gfc_option.flag_max_stack_var_size == -2 && gfc_option.flag_openmp
|
||||
if (gfc_option.flag_max_stack_var_size == -2 && gfc_option.gfc_flag_openmp
|
||||
&& gfc_option.flag_automatic)
|
||||
{
|
||||
gfc_option.flag_recursive = 1;
|
||||
@ -419,7 +419,7 @@ set_Wall (int setting)
|
||||
{
|
||||
gfc_option.warn_aliasing = setting;
|
||||
gfc_option.warn_ampersand = setting;
|
||||
gfc_option.warn_conversion = setting;
|
||||
gfc_option.gfc_warn_conversion = setting;
|
||||
gfc_option.warn_line_truncation = setting;
|
||||
gfc_option.warn_surprising = setting;
|
||||
gfc_option.warn_tabs = !setting;
|
||||
@ -581,7 +581,7 @@ gfc_handle_option (size_t scode, const char *arg, int value,
|
||||
break;
|
||||
|
||||
case OPT_Wconversion:
|
||||
gfc_option.warn_conversion = value;
|
||||
gfc_option.gfc_warn_conversion = value;
|
||||
break;
|
||||
|
||||
case OPT_Wconversion_extra:
|
||||
@ -707,7 +707,7 @@ gfc_handle_option (size_t scode, const char *arg, int value,
|
||||
break;
|
||||
|
||||
case OPT_fopenmp:
|
||||
gfc_option.flag_openmp = value;
|
||||
gfc_option.gfc_flag_openmp = value;
|
||||
break;
|
||||
|
||||
case OPT_ffree_line_length_none:
|
||||
|
@ -693,7 +693,7 @@ next_free (void)
|
||||
return decode_gcc_attribute ();
|
||||
|
||||
}
|
||||
else if (c == '$' && gfc_option.flag_openmp)
|
||||
else if (c == '$' && gfc_option.gfc_flag_openmp)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -780,7 +780,7 @@ next_fixed (void)
|
||||
|
||||
return decode_gcc_attribute ();
|
||||
}
|
||||
else if (c == '$' && gfc_option.flag_openmp)
|
||||
else if (c == '$' && gfc_option.gfc_flag_openmp)
|
||||
{
|
||||
for (i = 0; i < 4; i++, c = gfc_next_char_literal (0))
|
||||
gcc_assert ((char) gfc_wide_tolower (c) == "$omp"[i]);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Character scanner.
|
||||
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010 Free Software Foundation, Inc.
|
||||
Contributed by Andy Vaught
|
||||
|
||||
This file is part of GCC.
|
||||
@ -76,8 +76,6 @@ const char *gfc_source_file;
|
||||
static FILE *gfc_src_file;
|
||||
static gfc_char_t *gfc_src_preprocessor_lines[2];
|
||||
|
||||
extern int pedantic;
|
||||
|
||||
static struct gfc_file_change
|
||||
{
|
||||
const char *filename;
|
||||
@ -747,7 +745,7 @@ skip_free_comments (void)
|
||||
2) handle OpenMP conditional compilation, where
|
||||
!$ should be treated as 2 spaces (for initial lines
|
||||
only if followed by space). */
|
||||
if (gfc_option.flag_openmp && at_bol)
|
||||
if (gfc_option.gfc_flag_openmp && at_bol)
|
||||
{
|
||||
locus old_loc = gfc_current_locus;
|
||||
if (next_char () == '$')
|
||||
@ -873,7 +871,7 @@ skip_fixed_comments (void)
|
||||
&& continue_line < gfc_linebuf_linenum (gfc_current_locus.lb))
|
||||
continue_line = gfc_linebuf_linenum (gfc_current_locus.lb);
|
||||
|
||||
if (gfc_option.flag_openmp)
|
||||
if (gfc_option.gfc_flag_openmp)
|
||||
{
|
||||
if (next_char () == '$')
|
||||
{
|
||||
@ -1814,7 +1812,7 @@ include_line (gfc_char_t *line)
|
||||
|
||||
c = line;
|
||||
|
||||
if (gfc_option.flag_openmp)
|
||||
if (gfc_option.gfc_flag_openmp)
|
||||
{
|
||||
if (gfc_current_form == FORM_FREE)
|
||||
{
|
||||
|
@ -4682,7 +4682,7 @@ gfc_generate_function_code (gfc_namespace * ns)
|
||||
/* Reset recursion-check variable. */
|
||||
if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION)
|
||||
&& !is_recursive
|
||||
&& !gfc_option.flag_openmp
|
||||
&& !gfc_option.gfc_flag_openmp
|
||||
&& recurcheckvar != NULL_TREE)
|
||||
{
|
||||
gfc_add_modify (&cleanup, recurcheckvar, boolean_false_node);
|
||||
|
@ -1389,7 +1389,7 @@ ira_setup_eliminable_regset (void)
|
||||
else
|
||||
df_set_regs_ever_live (eliminables[i].from, true);
|
||||
}
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
if (!TEST_HARD_REG_BIT (crtl->asm_clobbers, HARD_FRAME_POINTER_REGNUM))
|
||||
{
|
||||
SET_HARD_REG_BIT (eliminable_regset, HARD_FRAME_POINTER_REGNUM);
|
||||
|
@ -1,3 +1,16 @@
|
||||
2010-09-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* java-tree.h (flag_filelist_file, flag_assert, flag_jni,
|
||||
flag_force_classes_archive_check, flag_redundant, flag_newer,
|
||||
flag_use_divide_subroutine, flag_use_atomic_builtins,
|
||||
flag_use_boehm_gc, flag_hash_synchronization,
|
||||
flag_check_references, flag_optimize_sci, flag_indirect_classes,
|
||||
flag_indirect_dispatch, flag_store_check,
|
||||
flag_reduced_reflection): Remove.
|
||||
* jcf-dump.c (flag_newer): Remove.
|
||||
* jcf.h (quiet_flag): Remove.
|
||||
* parse.h (quiet_flag): Remove.
|
||||
|
||||
2010-09-28 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* lang.c: Include "target.h".
|
||||
|
@ -112,64 +112,11 @@ struct JCF;
|
||||
/* The virtual offset symbol table. Used by the runtime to fill out
|
||||
the otable. */
|
||||
|
||||
extern int flag_filelist_file;
|
||||
|
||||
/* When nonzero, permit the use of the assert keyword. */
|
||||
|
||||
extern int flag_assert;
|
||||
|
||||
/* When nonzero, assume all native functions are implemented with
|
||||
JNI, not CNI. */
|
||||
|
||||
extern int flag_jni;
|
||||
|
||||
/* When nonzero, always check for a non gcj generated classes archive. */
|
||||
|
||||
extern int flag_force_classes_archive_check;
|
||||
|
||||
/* Resource name. */
|
||||
extern const char *resource_name;
|
||||
|
||||
/* Turned to 1 if -Wall was encountered. See lang.c for their meanings. */
|
||||
extern int flag_wall;
|
||||
extern int flag_redundant;
|
||||
|
||||
/* When nonzero, warn when source file is newer than matching class
|
||||
file. */
|
||||
extern int flag_newer;
|
||||
|
||||
/* When nonzero, call a library routine to do integer divisions. */
|
||||
extern int flag_use_divide_subroutine;
|
||||
|
||||
/* When nonzero, use atomic builtins. */
|
||||
extern int flag_use_atomic_builtins;
|
||||
|
||||
/* When nonzero, generate code for the Boehm GC. */
|
||||
extern int flag_use_boehm_gc;
|
||||
|
||||
/* When nonzero, assume the runtime uses a hash table to map an
|
||||
object to its synchronization structure. */
|
||||
extern int flag_hash_synchronization;
|
||||
|
||||
/* When nonzero, generate checks for references to NULL. */
|
||||
extern int flag_check_references;
|
||||
|
||||
/* Used through STATIC_CLASS_INIT_OPT_P to check whether static
|
||||
initialization optimization should be performed. */
|
||||
extern int flag_optimize_sci;
|
||||
|
||||
/* Generate instances of Class at runtime. */
|
||||
extern int flag_indirect_classes;
|
||||
|
||||
/* When nonzero, use offset tables for virtual method calls
|
||||
in order to improve binary compatibility. */
|
||||
extern int flag_indirect_dispatch;
|
||||
|
||||
/* When zero, don't generate runtime array store checks. */
|
||||
extern int flag_store_check;
|
||||
|
||||
/* When nonzero, generate only a limited set of class meta-data. */
|
||||
extern int flag_reduced_reflection;
|
||||
|
||||
/* The Java .class file that provides main_class; the main input file. */
|
||||
extern GTY(()) struct JCF * current_jcf;
|
||||
|
@ -76,10 +76,6 @@ int flag_print_fields = 1;
|
||||
int flag_print_methods = 1;
|
||||
int flag_print_attributes = 1;
|
||||
|
||||
/* When nonzero, warn when source file is newer than matching class
|
||||
file. */
|
||||
int flag_newer = 1;
|
||||
|
||||
/* Print names of classes that have a "main" method. */
|
||||
int flag_print_main = 0;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Utility macros to read Java(TM) .class files and byte codes.
|
||||
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@ -274,7 +274,6 @@ extern const char *jcf_write_base_directory;
|
||||
|
||||
/* Debug macros, for the front end */
|
||||
|
||||
extern int quiet_flag;
|
||||
#ifdef VERBOSE_SKELETON
|
||||
#undef SOURCE_FRONTEND_DEBUG
|
||||
#define SOURCE_FRONTEND_DEBUG(X) \
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Language parser definitions for the GNU compiler for the Java(TM) language.
|
||||
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
2005, 2006, 2007, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
|
||||
|
||||
This file is part of GCC.
|
||||
@ -28,7 +28,6 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
|
||||
|
||||
/* Extern global variable declarations */
|
||||
extern struct obstack temporary_obstack;
|
||||
extern int quiet_flag;
|
||||
|
||||
#ifdef VERBOSE_SKELETON
|
||||
#undef SOURCE_FRONTEND_DEBUG
|
||||
|
110
gcc/optc-gen.awk
110
gcc/optc-gen.awk
@ -85,8 +85,19 @@ print "#endif /* GCC_DRIVER */"
|
||||
print ""
|
||||
|
||||
have_save = 0;
|
||||
print "struct gcc_options global_options =\n{"
|
||||
for (i = 0; i < n_extra_vars; i++) {
|
||||
print extra_vars[i] ";"
|
||||
var = extra_vars[i]
|
||||
init = extra_vars[i]
|
||||
if (var ~ "=" ) {
|
||||
sub(".*= *", "", init)
|
||||
sub(" *=.*", "", var)
|
||||
sub("^.*[ *]", "", var)
|
||||
} else {
|
||||
init = "0"
|
||||
}
|
||||
var_seen[var] = 1
|
||||
print " " init ", /* " var " */"
|
||||
}
|
||||
for (i = 0; i < n_opts; i++) {
|
||||
if (flag_set_p("Save", flags[i]))
|
||||
@ -96,24 +107,31 @@ for (i = 0; i < n_opts; i++) {
|
||||
if (name == "")
|
||||
continue;
|
||||
|
||||
if (flag_set_p("VarExists", flags[i])) {
|
||||
init = opt_args("Init", flags[i])
|
||||
if (init != "") {
|
||||
if (name in var_init && var_init[name] != init)
|
||||
print "#error multiple initializers for " name
|
||||
var_init[name] = init
|
||||
}
|
||||
}
|
||||
for (i = 0; i < n_opts; i++) {
|
||||
name = var_name(flags[i]);
|
||||
if (name == "")
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
init = opt_args("Init", flags[i])
|
||||
if (init != "")
|
||||
init = " = " init;
|
||||
else if (name in var_seen)
|
||||
continue;
|
||||
}
|
||||
|
||||
print "/* Set by -" opts[i] "."
|
||||
print " " help[i] " */"
|
||||
print var_type(flags[i]) name init ";"
|
||||
print ""
|
||||
if (name in var_seen)
|
||||
continue;
|
||||
|
||||
if (name in var_init)
|
||||
init = var_init[name]
|
||||
else
|
||||
init = "0"
|
||||
|
||||
print " " init ", /* " name " */"
|
||||
|
||||
var_seen[name] = 1;
|
||||
}
|
||||
print "};"
|
||||
|
||||
print ""
|
||||
print "/* Local state variables. */"
|
||||
@ -332,19 +350,19 @@ for (i = 0; i < n_opt_char; i++) {
|
||||
|
||||
print "";
|
||||
for (i = 0; i < n_opt_other; i++) {
|
||||
print " ptr->" var_opt_other[i] " = " var_opt_other[i] ";";
|
||||
print " ptr->x_" var_opt_other[i] " = " var_opt_other[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_int; i++) {
|
||||
print " ptr->" var_opt_int[i] " = " var_opt_int[i] ";";
|
||||
print " ptr->x_" var_opt_int[i] " = " var_opt_int[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_short; i++) {
|
||||
print " ptr->" var_opt_short[i] " = " var_opt_short[i] ";";
|
||||
print " ptr->x_" var_opt_short[i] " = " var_opt_short[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_char; i++) {
|
||||
print " ptr->" var_opt_char[i] " = " var_opt_char[i] ";";
|
||||
print " ptr->x_" var_opt_char[i] " = " var_opt_char[i] ";";
|
||||
}
|
||||
|
||||
print "}";
|
||||
@ -356,19 +374,19 @@ print "cl_optimization_restore (struct cl_optimization *ptr)";
|
||||
print "{";
|
||||
|
||||
for (i = 0; i < n_opt_other; i++) {
|
||||
print " " var_opt_other[i] " = ptr->" var_opt_other[i] ";";
|
||||
print " " var_opt_other[i] " = ptr->x_" var_opt_other[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_int; i++) {
|
||||
print " " var_opt_int[i] " = ptr->" var_opt_int[i] ";";
|
||||
print " " var_opt_int[i] " = ptr->x_" var_opt_int[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_short; i++) {
|
||||
print " " var_opt_short[i] " = ptr->" var_opt_short[i] ";";
|
||||
print " " var_opt_short[i] " = ptr->x_" var_opt_short[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_char; i++) {
|
||||
print " " var_opt_char[i] " = ptr->" var_opt_char[i] ";";
|
||||
print " " var_opt_char[i] " = ptr->x_" var_opt_char[i] ";";
|
||||
}
|
||||
|
||||
print " targetm.override_options_after_change ();";
|
||||
@ -384,38 +402,38 @@ print "{";
|
||||
|
||||
print " fputs (\"\\n\", file);";
|
||||
for (i = 0; i < n_opt_other; i++) {
|
||||
print " if (ptr->" var_opt_other[i] ")";
|
||||
print " if (ptr->x_" var_opt_other[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#lx)\\n\",";
|
||||
print " indent_to, \"\",";
|
||||
print " \"" var_opt_other[i] "\",";
|
||||
print " (unsigned long)ptr->" var_opt_other[i] ");";
|
||||
print " (unsigned long)ptr->x_" var_opt_other[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_int; i++) {
|
||||
print " if (ptr->" var_opt_int[i] ")";
|
||||
print " if (ptr->x_" var_opt_int[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#x)\\n\",";
|
||||
print " indent_to, \"\",";
|
||||
print " \"" var_opt_int[i] "\",";
|
||||
print " ptr->" var_opt_int[i] ");";
|
||||
print " ptr->x_" var_opt_int[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_short; i++) {
|
||||
print " if (ptr->" var_opt_short[i] ")";
|
||||
print " if (ptr->x_" var_opt_short[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#x)\\n\",";
|
||||
print " indent_to, \"\",";
|
||||
print " \"" var_opt_short[i] "\",";
|
||||
print " ptr->" var_opt_short[i] ");";
|
||||
print " ptr->x_" var_opt_short[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opt_char; i++) {
|
||||
print " if (ptr->" var_opt_char[i] ")";
|
||||
print " if (ptr->x_" var_opt_char[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#x)\\n\",";
|
||||
print " indent_to, \"\",";
|
||||
print " \"" var_opt_char[i] "\",";
|
||||
print " ptr->" var_opt_char[i] ");";
|
||||
print " ptr->x_" var_opt_char[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
@ -482,19 +500,19 @@ print " targetm.target_option.save (ptr);";
|
||||
print "";
|
||||
|
||||
for (i = 0; i < n_target_other; i++) {
|
||||
print " ptr->" var_target_other[i] " = " var_target_other[i] ";";
|
||||
print " ptr->x_" var_target_other[i] " = " var_target_other[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_int; i++) {
|
||||
print " ptr->" var_target_int[i] " = " var_target_int[i] ";";
|
||||
print " ptr->x_" var_target_int[i] " = " var_target_int[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_short; i++) {
|
||||
print " ptr->" var_target_short[i] " = " var_target_short[i] ";";
|
||||
print " ptr->x_" var_target_short[i] " = " var_target_short[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_char; i++) {
|
||||
print " ptr->" var_target_char[i] " = " var_target_char[i] ";";
|
||||
print " ptr->x_" var_target_char[i] " = " var_target_char[i] ";";
|
||||
}
|
||||
|
||||
print "}";
|
||||
@ -506,19 +524,19 @@ print "cl_target_option_restore (struct cl_target_option *ptr)";
|
||||
print "{";
|
||||
|
||||
for (i = 0; i < n_target_other; i++) {
|
||||
print " " var_target_other[i] " = ptr->" var_target_other[i] ";";
|
||||
print " " var_target_other[i] " = ptr->x_" var_target_other[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_int; i++) {
|
||||
print " " var_target_int[i] " = ptr->" var_target_int[i] ";";
|
||||
print " " var_target_int[i] " = ptr->x_" var_target_int[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_short; i++) {
|
||||
print " " var_target_short[i] " = ptr->" var_target_short[i] ";";
|
||||
print " " var_target_short[i] " = ptr->x_" var_target_short[i] ";";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_char; i++) {
|
||||
print " " var_target_char[i] " = ptr->" var_target_char[i] ";";
|
||||
print " " var_target_char[i] " = ptr->x_" var_target_char[i] ";";
|
||||
}
|
||||
|
||||
# This must occur after the normal variables in case the code depends on those
|
||||
@ -539,38 +557,38 @@ print "{";
|
||||
|
||||
print " fputs (\"\\n\", file);";
|
||||
for (i = 0; i < n_target_other; i++) {
|
||||
print " if (ptr->" var_target_other[i] ")";
|
||||
print " if (ptr->x_" var_target_other[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#lx)\\n\",";
|
||||
print " indent, \"\",";
|
||||
print " \"" var_target_other[i] "\",";
|
||||
print " (unsigned long)ptr->" var_target_other[i] ");";
|
||||
print " (unsigned long)ptr->x_" var_target_other[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_int; i++) {
|
||||
print " if (ptr->" var_target_int[i] ")";
|
||||
print " if (ptr->x_" var_target_int[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#x)\\n\",";
|
||||
print " indent, \"\",";
|
||||
print " \"" var_target_int[i] "\",";
|
||||
print " ptr->" var_target_int[i] ");";
|
||||
print " ptr->x_" var_target_int[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_short; i++) {
|
||||
print " if (ptr->" var_target_short[i] ")";
|
||||
print " if (ptr->x_" var_target_short[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#x)\\n\",";
|
||||
print " indent, \"\",";
|
||||
print " \"" var_target_short[i] "\",";
|
||||
print " ptr->" var_target_short[i] ");";
|
||||
print " ptr->x_" var_target_short[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_char; i++) {
|
||||
print " if (ptr->" var_target_char[i] ")";
|
||||
print " if (ptr->x_" var_target_char[i] ")";
|
||||
print " fprintf (file, \"%*s%s (%#x)\\n\",";
|
||||
print " indent, \"\",";
|
||||
print " \"" var_target_char[i] "\",";
|
||||
print " ptr->" var_target_char[i] ");";
|
||||
print " ptr->x_" var_target_char[i] ");";
|
||||
print "";
|
||||
}
|
||||
|
||||
|
@ -75,10 +75,25 @@ print ""
|
||||
|
||||
have_save = 0;
|
||||
|
||||
print "#ifndef GENERATOR_FILE"
|
||||
print "struct gcc_options\n{"
|
||||
print "#endif"
|
||||
|
||||
for (i = 0; i < n_extra_vars; i++) {
|
||||
var = extra_vars[i]
|
||||
sub(" *=.*", "", var)
|
||||
print "extern " var ";"
|
||||
orig_var = var
|
||||
name = var
|
||||
type = var
|
||||
sub("^.*[ *]", "", name)
|
||||
sub(" *" name "$", "", type)
|
||||
var_seen[name] = 1
|
||||
print "#ifdef GENERATOR_FILE"
|
||||
print "extern " orig_var ";"
|
||||
print "#else"
|
||||
print " " type " x_" name ";"
|
||||
print "#define " name " global_options.x_" name
|
||||
print "#endif"
|
||||
}
|
||||
|
||||
for (i = 0; i < n_opts; i++) {
|
||||
@ -93,8 +108,17 @@ for (i = 0; i < n_opts; i++) {
|
||||
continue;
|
||||
|
||||
var_seen[name] = 1;
|
||||
print "#ifdef GENERATOR_FILE"
|
||||
print "extern " var_type(flags[i]) name ";"
|
||||
print "#else"
|
||||
print " " var_type(flags[i]) "x_" name ";"
|
||||
print "#define " name " global_options.x_" name
|
||||
print "#endif"
|
||||
}
|
||||
print "#ifndef GENERATOR_FILE"
|
||||
print "};"
|
||||
print "extern struct gcc_options global_options;"
|
||||
print "#endif"
|
||||
print ""
|
||||
|
||||
# All of the optimization switches gathered together so they can be saved and restored.
|
||||
@ -114,8 +138,8 @@ n_opt_char = 2;
|
||||
n_opt_short = 0;
|
||||
n_opt_int = 0;
|
||||
n_opt_other = 0;
|
||||
var_opt_char[0] = "unsigned char optimize";
|
||||
var_opt_char[1] = "unsigned char optimize_size";
|
||||
var_opt_char[0] = "unsigned char x_optimize";
|
||||
var_opt_char[1] = "unsigned char x_optimize_size";
|
||||
|
||||
for (i = 0; i < n_opts; i++) {
|
||||
if (flag_set_p("Optimization", flags[i])) {
|
||||
@ -129,16 +153,16 @@ for (i = 0; i < n_opts; i++) {
|
||||
var_opt_seen[name]++;
|
||||
otype = var_type_struct(flags[i]);
|
||||
if (otype ~ "^((un)?signed +)?int *$")
|
||||
var_opt_int[n_opt_int++] = otype name;
|
||||
var_opt_int[n_opt_int++] = otype "x_" name;
|
||||
|
||||
else if (otype ~ "^((un)?signed +)?short *$")
|
||||
var_opt_short[n_opt_short++] = otype name;
|
||||
var_opt_short[n_opt_short++] = otype "x_" name;
|
||||
|
||||
else if (otype ~ "^((un)?signed +)?char *$")
|
||||
var_opt_char[n_opt_char++] = otype name;
|
||||
var_opt_char[n_opt_char++] = otype "x_" name;
|
||||
|
||||
else
|
||||
var_opt_other[n_opt_other++] = otype name;
|
||||
var_opt_other[n_opt_other++] = otype "x_" name;
|
||||
}
|
||||
}
|
||||
|
||||
@ -198,20 +222,20 @@ if (have_save) {
|
||||
var_save_seen[name]++;
|
||||
otype = var_type_struct(flags[i])
|
||||
if (otype ~ "^((un)?signed +)?int *$")
|
||||
var_target_int[n_target_int++] = otype name;
|
||||
var_target_int[n_target_int++] = otype "x_" name;
|
||||
|
||||
else if (otype ~ "^((un)?signed +)?short *$")
|
||||
var_target_short[n_target_short++] = otype name;
|
||||
var_target_short[n_target_short++] = otype "x_" name;
|
||||
|
||||
else if (otype ~ "^((un)?signed +)?char *$")
|
||||
var_target_char[n_target_char++] = otype name;
|
||||
var_target_char[n_target_char++] = otype "x_" name;
|
||||
|
||||
else
|
||||
var_target_other[n_target_other++] = otype name;
|
||||
var_target_other[n_target_other++] = otype "x_" name;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var_target_int[n_target_int++] = "int target_flags";
|
||||
var_target_int[n_target_int++] = "int x_target_flags";
|
||||
}
|
||||
|
||||
for (i = 0; i < n_target_other; i++) {
|
||||
|
23
gcc/opts.c
23
gcc/opts.c
@ -123,6 +123,11 @@ static enum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS]
|
||||
static enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS]
|
||||
= { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY };
|
||||
|
||||
/* Run the second compilation of -fcompare-debug. Not defined using
|
||||
Var in common.opt because this is used in Ada code and so must be
|
||||
an actual variable not a macro. */
|
||||
int flag_compare_debug;
|
||||
|
||||
/* Parse the -femit-struct-debug-detailed option value
|
||||
and set the flag variables. */
|
||||
|
||||
@ -1635,7 +1640,7 @@ common_handle_option (const struct cl_decoded_option *decoded,
|
||||
break;
|
||||
|
||||
case OPT_Wsystem_headers:
|
||||
global_dc->warn_system_headers = value;
|
||||
global_dc->dc_warn_system_headers = value;
|
||||
break;
|
||||
|
||||
case OPT_Wunused:
|
||||
@ -1700,6 +1705,10 @@ common_handle_option (const struct cl_decoded_option *decoded,
|
||||
fix_register (arg, 0, 0);
|
||||
break;
|
||||
|
||||
case OPT_fcompare_debug_second:
|
||||
flag_compare_debug = value;
|
||||
break;
|
||||
|
||||
case OPT_fdbg_cnt_:
|
||||
dbg_cnt_process_opt (arg);
|
||||
break;
|
||||
@ -2083,7 +2092,7 @@ common_handle_option (const struct cl_decoded_option *decoded,
|
||||
break;
|
||||
|
||||
case OPT_w:
|
||||
global_dc->inhibit_warnings = true;
|
||||
global_dc->dc_inhibit_warnings = true;
|
||||
break;
|
||||
|
||||
case OPT_fuse_linker_plugin:
|
||||
@ -2186,11 +2195,11 @@ fast_math_flags_set_p (void)
|
||||
bool
|
||||
fast_math_flags_struct_set_p (struct cl_optimization *opt)
|
||||
{
|
||||
return (!opt->flag_trapping_math
|
||||
&& opt->flag_unsafe_math_optimizations
|
||||
&& opt->flag_finite_math_only
|
||||
&& !opt->flag_signed_zeros
|
||||
&& !opt->flag_errno_math);
|
||||
return (!opt->x_flag_trapping_math
|
||||
&& opt->x_flag_unsafe_math_optimizations
|
||||
&& opt->x_flag_finite_math_only
|
||||
&& !opt->x_flag_signed_zeros
|
||||
&& !opt->x_flag_errno_math);
|
||||
}
|
||||
|
||||
/* Handle a debug output -g switch. EXTENDED is true or false to support
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Compute different info about registers.
|
||||
Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996
|
||||
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
||||
2009 Free Software Foundation, Inc.
|
||||
2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@ -487,7 +487,7 @@ init_reg_sets_1 (void)
|
||||
}
|
||||
else if (i == FRAME_POINTER_REGNUM)
|
||||
;
|
||||
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
else if (i == HARD_FRAME_POINTER_REGNUM)
|
||||
;
|
||||
#endif
|
||||
|
@ -200,7 +200,7 @@ regrename_optimize (void)
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
add_to_hard_reg_set (&unavailable, Pmode, FRAME_POINTER_REGNUM);
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
add_to_hard_reg_set (&unavailable, Pmode, HARD_FRAME_POINTER_REGNUM);
|
||||
#endif
|
||||
}
|
||||
@ -233,7 +233,7 @@ regrename_optimize (void)
|
||||
#endif
|
||||
|
||||
if (fixed_regs[reg] || global_regs[reg]
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
|| (frame_pointer_needed && reg == HARD_FRAME_POINTER_REGNUM)
|
||||
#else
|
||||
|| (frame_pointer_needed && reg == FRAME_POINTER_REGNUM)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Search an insn for pseudo regs that must be in hard regs and are not.
|
||||
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
@ -5157,7 +5157,7 @@ find_reloads_address (enum machine_mode mode, rtx *memrefloc, rtx ad,
|
||||
if ((regno_ok_for_base_p (REGNO (operand), mode, inner_code,
|
||||
GET_CODE (addend))
|
||||
|| operand == frame_pointer_rtx
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
|| operand == hard_frame_pointer_rtx
|
||||
#endif
|
||||
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|
||||
|
@ -831,7 +831,7 @@ reload (rtx first, int global)
|
||||
spill_hard_reg (from, 1);
|
||||
}
|
||||
|
||||
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
if (frame_pointer_needed)
|
||||
spill_hard_reg (HARD_FRAME_POINTER_REGNUM, 1);
|
||||
#endif
|
||||
@ -3232,7 +3232,7 @@ eliminate_regs_in_insn (rtx insn, int replace)
|
||||
for (ep = reg_eliminate; ep < ®_eliminate[NUM_ELIMINABLE_REGS]; ep++)
|
||||
if (ep->from_rtx == SET_DEST (old_set) && ep->can_eliminate)
|
||||
{
|
||||
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
/* If this is setting the frame pointer register to the
|
||||
hardware frame pointer register and this is an elimination
|
||||
that will be done (tested above), this insn is really
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Definitions for computing resource usage of specific insns.
|
||||
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
||||
2009 Free Software Foundation, Inc.
|
||||
2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@ -335,7 +335,7 @@ mark_referenced_resources (rtx x, struct resources *res,
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
SET_HARD_REG_BIT (res->regs, FRAME_POINTER_REGNUM);
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
SET_HARD_REG_BIT (res->regs, HARD_FRAME_POINTER_REGNUM);
|
||||
#endif
|
||||
}
|
||||
@ -1148,7 +1148,7 @@ init_resource_info (rtx epilogue_insn)
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
SET_HARD_REG_BIT (end_of_function_needs.regs, FRAME_POINTER_REGNUM);
|
||||
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
SET_HARD_REG_BIT (end_of_function_needs.regs, HARD_FRAME_POINTER_REGNUM);
|
||||
#endif
|
||||
if (! EXIT_IGNORE_STACK
|
||||
|
14
gcc/rtl.h
14
gcc/rtl.h
@ -1980,6 +1980,16 @@ extern GTY(()) rtx const_tiny_rtx[3][(int) MAX_MACHINE_MODE];
|
||||
#define HARD_FRAME_POINTER_REGNUM FRAME_POINTER_REGNUM
|
||||
#endif
|
||||
|
||||
#ifndef HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
#define HARD_FRAME_POINTER_IS_FRAME_POINTER \
|
||||
(HARD_FRAME_POINTER_REGNUM == FRAME_POINTER_REGNUM)
|
||||
#endif
|
||||
|
||||
#ifndef HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
#define HARD_FRAME_POINTER_IS_ARG_POINTER \
|
||||
(HARD_FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM)
|
||||
#endif
|
||||
|
||||
/* Index labels for global_rtl. */
|
||||
enum global_rtl_index
|
||||
{
|
||||
@ -1993,13 +2003,13 @@ enum global_rtl_index
|
||||
#if FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM
|
||||
GR_ARG_POINTER = GR_FRAME_POINTER,
|
||||
#endif
|
||||
#if HARD_FRAME_POINTER_REGNUM == FRAME_POINTER_REGNUM
|
||||
#if HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
GR_HARD_FRAME_POINTER = GR_FRAME_POINTER,
|
||||
#else
|
||||
GR_HARD_FRAME_POINTER,
|
||||
#endif
|
||||
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|
||||
#if HARD_FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM
|
||||
#if HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
GR_ARG_POINTER = GR_HARD_FRAME_POINTER,
|
||||
#else
|
||||
GR_ARG_POINTER,
|
||||
|
@ -1236,7 +1236,7 @@ mark_unavailable_hard_regs (def_t def, struct reg_rename *reg_rename_p,
|
||||
frame pointer, or we could not discover its class. */
|
||||
if (fixed_regs[regno]
|
||||
|| global_regs[regno]
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
|| (frame_pointer_needed && regno == HARD_FRAME_POINTER_REGNUM)
|
||||
#else
|
||||
|| (frame_pointer_needed && regno == FRAME_POINTER_REGNUM)
|
||||
@ -1263,7 +1263,7 @@ mark_unavailable_hard_regs (def_t def, struct reg_rename *reg_rename_p,
|
||||
SET_HARD_REG_BIT (reg_rename_p->unavailable_hard_regs,
|
||||
FRAME_POINTER_REGNUM + i);
|
||||
|
||||
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|
||||
for (i = hard_regno_nregs[HARD_FRAME_POINTER_REGNUM][Pmode]; i--;)
|
||||
SET_HARD_REG_BIT (reg_rename_p->unavailable_hard_regs,
|
||||
HARD_FRAME_POINTER_REGNUM + i);
|
||||
|
@ -1834,7 +1834,7 @@ expand_nl_goto_receiver (void)
|
||||
decrementing fp by STARTING_FRAME_OFFSET. */
|
||||
emit_move_insn (virtual_stack_vars_rtx, hard_frame_pointer_rtx);
|
||||
|
||||
#if ARG_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|
||||
#if !HARD_FRAME_POINTER_IS_ARG_POINTER
|
||||
if (fixed_regs[ARG_POINTER_REGNUM])
|
||||
{
|
||||
#ifdef ELIMINABLE_REGS
|
||||
|
@ -1,3 +1,17 @@
|
||||
2010-09-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* include/cpplib.h (cpp_options): Rename warn_deprecated,
|
||||
warn_traditional, warn_long_long and pedantic.
|
||||
* directives.c (directive_diagnostics, _cpp_handle_directive):
|
||||
Update names of cpp_options members.
|
||||
* expr.c (cpp_classify_number, eval_token): Update names of
|
||||
cpp_options members.
|
||||
* init.c (cpp_create_reader, post_options): Update names of
|
||||
cpp_options members.
|
||||
* internal.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Update names of
|
||||
cpp_options members.
|
||||
* macro.c (parse_params): Update names of cpp_options members.
|
||||
|
||||
2010-09-15 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* init.c: Fix type name in comment.
|
||||
|
@ -354,7 +354,7 @@ directive_diagnostics (cpp_reader *pfile, const directive *dir, int indented)
|
||||
cpp_error (pfile, CPP_DL_PEDWARN, "#%s is a GCC extension", dir->name);
|
||||
else if (((dir->flags & DEPRECATED) != 0
|
||||
|| (dir == &dtable[T_IMPORT] && !CPP_OPTION (pfile, objc)))
|
||||
&& CPP_OPTION (pfile, warn_deprecated))
|
||||
&& CPP_OPTION (pfile, cpp_warn_deprecated))
|
||||
cpp_warning (pfile, CPP_W_DEPRECATED,
|
||||
"#%s is a deprecated GCC extension", dir->name);
|
||||
}
|
||||
@ -400,7 +400,7 @@ _cpp_handle_directive (cpp_reader *pfile, int indented)
|
||||
|
||||
if (was_parsing_args)
|
||||
{
|
||||
if (CPP_OPTION (pfile, pedantic))
|
||||
if (CPP_OPTION (pfile, cpp_pedantic))
|
||||
cpp_error (pfile, CPP_DL_PEDWARN,
|
||||
"embedding a directive within macro arguments is not portable");
|
||||
pfile->state.parsing_args = 0;
|
||||
|
@ -418,7 +418,7 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token)
|
||||
{
|
||||
int u_or_i = (result & (CPP_N_UNSIGNED|CPP_N_IMAGINARY));
|
||||
int large = (result & CPP_N_WIDTH) == CPP_N_LARGE
|
||||
&& CPP_OPTION (pfile, warn_long_long);
|
||||
&& CPP_OPTION (pfile, cpp_warn_long_long);
|
||||
|
||||
if (u_or_i || large)
|
||||
cpp_warning (pfile, large ? CPP_W_LONG_LONG : CPP_W_TRADITIONAL,
|
||||
@ -427,7 +427,7 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token)
|
||||
}
|
||||
|
||||
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
|
||||
&& CPP_OPTION (pfile, warn_long_long))
|
||||
&& CPP_OPTION (pfile, cpp_warn_long_long))
|
||||
{
|
||||
const char *message = CPP_OPTION (pfile, cplusplus)
|
||||
? N_("use of C++0x long long integer constant")
|
||||
@ -814,7 +814,7 @@ eval_token (cpp_reader *pfile, const cpp_token *token)
|
||||
if (CPP_PEDANTIC (pfile))
|
||||
cpp_error (pfile, CPP_DL_PEDWARN,
|
||||
"assertions are a GCC extension");
|
||||
else if (CPP_OPTION (pfile, warn_deprecated))
|
||||
else if (CPP_OPTION (pfile, cpp_warn_deprecated))
|
||||
cpp_warning (pfile, CPP_W_DEPRECATED,
|
||||
"assertions are a deprecated extension");
|
||||
}
|
||||
|
@ -319,7 +319,7 @@ struct cpp_options
|
||||
unsigned char print_include_names;
|
||||
|
||||
/* Nonzero means complain about deprecated features. */
|
||||
unsigned char warn_deprecated;
|
||||
unsigned char cpp_warn_deprecated;
|
||||
|
||||
/* Nonzero means warn if slash-star appears in a comment. */
|
||||
unsigned char warn_comments;
|
||||
@ -336,10 +336,10 @@ struct cpp_options
|
||||
|
||||
/* Nonzero means warn about various incompatibilities with
|
||||
traditional C. */
|
||||
unsigned char warn_traditional;
|
||||
unsigned char cpp_warn_traditional;
|
||||
|
||||
/* Nonzero means warn about long long numeric constants. */
|
||||
unsigned char warn_long_long;
|
||||
unsigned char cpp_warn_long_long;
|
||||
|
||||
/* Nonzero means warn about text after an #endif (or #else). */
|
||||
unsigned char warn_endif_labels;
|
||||
@ -383,7 +383,7 @@ struct cpp_options
|
||||
unsigned char std;
|
||||
|
||||
/* Nonzero means give all the error messages the ANSI standard requires. */
|
||||
unsigned char pedantic;
|
||||
unsigned char cpp_pedantic;
|
||||
|
||||
/* Nonzero means we're looking at already preprocessed code, so don't
|
||||
bother trying to do macro expansion and whatnot. */
|
||||
|
@ -160,8 +160,8 @@ cpp_create_reader (enum c_lang lang, hash_table *table,
|
||||
CPP_OPTION (pfile, operator_names) = 1;
|
||||
CPP_OPTION (pfile, warn_trigraphs) = 2;
|
||||
CPP_OPTION (pfile, warn_endif_labels) = 1;
|
||||
CPP_OPTION (pfile, warn_deprecated) = 1;
|
||||
CPP_OPTION (pfile, warn_long_long) = 0;
|
||||
CPP_OPTION (pfile, cpp_warn_deprecated) = 1;
|
||||
CPP_OPTION (pfile, cpp_warn_long_long) = 0;
|
||||
CPP_OPTION (pfile, dollars_in_ident) = 1;
|
||||
CPP_OPTION (pfile, warn_dollars) = 1;
|
||||
CPP_OPTION (pfile, warn_variadic_macros) = 1;
|
||||
@ -698,7 +698,7 @@ post_options (cpp_reader *pfile)
|
||||
{
|
||||
/* -Wtraditional is not useful in C++ mode. */
|
||||
if (CPP_OPTION (pfile, cplusplus))
|
||||
CPP_OPTION (pfile, warn_traditional) = 0;
|
||||
CPP_OPTION (pfile, cpp_warn_traditional) = 0;
|
||||
|
||||
/* Permanently disable macro expansion if we are rescanning
|
||||
preprocessed text. Read preprocesed source in ISO mode. */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Part of CPP library.
|
||||
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
|
||||
2008, 2009 Free Software Foundation, Inc.
|
||||
2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
@ -526,8 +526,8 @@ cpp_in_system_header (cpp_reader *pfile)
|
||||
{
|
||||
return pfile->buffer ? pfile->buffer->sysp : 0;
|
||||
}
|
||||
#define CPP_PEDANTIC(PF) CPP_OPTION (PF, pedantic)
|
||||
#define CPP_WTRADITIONAL(PF) CPP_OPTION (PF, warn_traditional)
|
||||
#define CPP_PEDANTIC(PF) CPP_OPTION (PF, cpp_pedantic)
|
||||
#define CPP_WTRADITIONAL(PF) CPP_OPTION (PF, cpp_warn_traditional)
|
||||
|
||||
static inline int cpp_in_primary_file (cpp_reader *);
|
||||
static inline int
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Part of CPP library. (Macro and #define handling.)
|
||||
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
Written by Per Bothner, 1994.
|
||||
Based on CCCP program by Paul Rubin, June 1986
|
||||
Adapted to ANSI C, Richard Stallman, Jan 1987
|
||||
@ -1589,13 +1589,13 @@ parse_params (cpp_reader *pfile, cpp_macro *macro)
|
||||
pfile->spec_nodes.n__VA_ARGS__);
|
||||
pfile->state.va_args_ok = 1;
|
||||
if (! CPP_OPTION (pfile, c99)
|
||||
&& CPP_OPTION (pfile, pedantic)
|
||||
&& CPP_OPTION (pfile, cpp_pedantic)
|
||||
&& CPP_OPTION (pfile, warn_variadic_macros))
|
||||
cpp_pedwarning
|
||||
(pfile, CPP_W_VARIADIC_MACROS,
|
||||
"anonymous variadic macros were introduced in C99");
|
||||
}
|
||||
else if (CPP_OPTION (pfile, pedantic)
|
||||
else if (CPP_OPTION (pfile, cpp_pedantic)
|
||||
&& CPP_OPTION (pfile, warn_variadic_macros))
|
||||
cpp_pedwarning (pfile, CPP_W_VARIADIC_MACROS,
|
||||
"ISO C does not permit named variadic macros");
|
||||
|
Loading…
Reference in New Issue
Block a user