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:
Joseph Myers 2010-09-29 15:49:14 +01:00 committed by Joseph Myers
parent 66dfc61020
commit e3339d0f33
70 changed files with 419 additions and 281 deletions

View File

@ -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> 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
* config/picochip/picochip.c (picochip_output_internal_label): * config/picochip/picochip.c (picochip_output_internal_label):

View File

@ -2688,7 +2688,7 @@ init_alias_target (void)
= gen_rtx_ADDRESS (Pmode, arg_pointer_rtx); = gen_rtx_ADDRESS (Pmode, arg_pointer_rtx);
static_reg_base_value[FRAME_POINTER_REGNUM] static_reg_base_value[FRAME_POINTER_REGNUM]
= gen_rtx_ADDRESS (Pmode, frame_pointer_rtx); = 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] static_reg_base_value[HARD_FRAME_POINTER_REGNUM]
= gen_rtx_ADDRESS (Pmode, hard_frame_pointer_rtx); = gen_rtx_ADDRESS (Pmode, hard_frame_pointer_rtx);
#endif #endif

View File

@ -835,7 +835,7 @@ expand_builtin_setjmp_receiver (rtx receiver_label ATTRIBUTE_UNUSED)
emit_clobber (hard_frame_pointer_rtx); 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]) if (fixed_regs[ARG_POINTER_REGNUM])
{ {
#ifdef ELIMINABLE_REGS #ifdef ELIMINABLE_REGS

View File

@ -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> 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments. * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.

View File

@ -8311,7 +8311,7 @@ c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
{ {
diagnostic_info diagnostic; diagnostic_info diagnostic;
diagnostic_t dlevel; 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; bool ret;
switch (level) switch (level)
@ -8319,7 +8319,7 @@ c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
case CPP_DL_WARNING_SYSHDR: case CPP_DL_WARNING_SYSHDR:
if (flag_no_output) if (flag_no_output)
return false; return false;
global_dc->warn_system_headers = 1; global_dc->dc_warn_system_headers = 1;
/* Fall through. */ /* Fall through. */
case CPP_DL_WARNING: case CPP_DL_WARNING:
if (flag_no_output) 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)); c_option_controlling_cpp_error (reason));
ret = report_diagnostic (&diagnostic); ret = report_diagnostic (&diagnostic);
if (level == CPP_DL_WARNING_SYSHDR) 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; return ret;
} }

View File

@ -514,14 +514,14 @@ c_cpp_builtins_optimize_pragma (cpp_reader *pfile, tree prev_tree,
/* Other target-independent built-ins determined by command-line /* Other target-independent built-ins determined by command-line
options. */ options. */
if (!prev->optimize_size && cur->optimize_size) if (!prev->x_optimize_size && cur->x_optimize_size)
cpp_define (pfile, "__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__"); cpp_undef (pfile, "__OPTIMIZE_SIZE__");
if (!prev->optimize && cur->optimize) if (!prev->x_optimize && cur->x_optimize)
cpp_define (pfile, "__OPTIMIZE__"); cpp_define (pfile, "__OPTIMIZE__");
else if (prev->optimize && !cur->optimize) else if (prev->x_optimize && !cur->x_optimize)
cpp_undef (pfile, "__OPTIMIZE__"); cpp_undef (pfile, "__OPTIMIZE__");
prev_fast_math = fast_math_flags_struct_set_p (prev); 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) else if (prev_fast_math && !cur_fast_math)
cpp_undef (pfile, "__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__"); 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__"); 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_undef (pfile, "__FINITE_MATH_ONLY__");
cpp_define (pfile, "__FINITE_MATH_ONLY__=1"); 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_undef (pfile, "__FINITE_MATH_ONLY__");
cpp_define (pfile, "__FINITE_MATH_ONLY__=0"); cpp_define (pfile, "__FINITE_MATH_ONLY__=0");

View File

@ -157,7 +157,7 @@ warning_as_error_callback (int option_index)
break; break;
case OPT_Wdeprecated: case OPT_Wdeprecated:
cpp_opts->warn_deprecated = 1; cpp_opts->cpp_warn_deprecated = 1;
break; break;
case OPT_Wcomment: case OPT_Wcomment:
@ -173,11 +173,11 @@ warning_as_error_callback (int option_index)
break; break;
case OPT_Wtraditional: case OPT_Wtraditional:
cpp_opts->warn_traditional = 1; cpp_opts->cpp_warn_traditional = 1;
break; break;
case OPT_Wlong_long: case OPT_Wlong_long:
cpp_opts->warn_long_long = 1; cpp_opts->cpp_warn_long_long = 1;
break; break;
case OPT_Wendif_labels: case OPT_Wendif_labels:
@ -508,7 +508,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
break; break;
case OPT_Wdeprecated: case OPT_Wdeprecated:
cpp_opts->warn_deprecated = value; cpp_opts->cpp_warn_deprecated = value;
break; break;
case OPT_Wendif_labels: case OPT_Wendif_labels:
@ -567,7 +567,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
break; break;
case OPT_Wtraditional: case OPT_Wtraditional:
cpp_opts->warn_traditional = value; cpp_opts->cpp_warn_traditional = value;
break; break;
case OPT_Wtrigraphs: case OPT_Wtrigraphs:
@ -788,7 +788,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
is not overridden. */ is not overridden. */
case OPT_pedantic_errors: case OPT_pedantic_errors:
case OPT_pedantic: case OPT_pedantic:
cpp_opts->pedantic = 1; cpp_opts->cpp_pedantic = 1;
cpp_opts->warn_endif_labels = 1; cpp_opts->warn_endif_labels = 1;
if (warn_pointer_sign == -1) if (warn_pointer_sign == -1)
warn_pointer_sign = 1; warn_pointer_sign = 1;
@ -1314,7 +1314,7 @@ sanitize_cpp_opts (void)
if (warn_long_long == -1) if (warn_long_long == -1)
warn_long_long = ((pedantic || warn_traditional) warn_long_long = ((pedantic || warn_traditional)
&& (c_dialect_cxx () ? cxx_dialect == cxx98 : !flag_isoc99)); && (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 /* Similarly with -Wno-variadic-macros. No check for c99 here, since
this also turns off warnings about GCCs extension. */ this also turns off warnings about GCCs extension. */
@ -1381,7 +1381,7 @@ finish_options (void)
conflict with the specified standard, and since a strictly conflict with the specified standard, and since a strictly
conforming program cannot contain a '$', we do not condition conforming program cannot contain a '$', we do not condition
their acceptance on the -std= setting. */ 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, cb_file_change (parse_in,
linemap_add (line_table, LC_RENAME, 0, linemap_add (line_table, LC_RENAME, 0,

View File

@ -884,11 +884,11 @@ disable_extension_diagnostics (void)
| (flag_iso << 3) | (flag_iso << 3)
| (warn_long_long << 4) | (warn_long_long << 4)
| (warn_cxx_compat << 5)); | (warn_cxx_compat << 5));
cpp_opts->pedantic = pedantic = 0; cpp_opts->cpp_pedantic = pedantic = 0;
warn_pointer_arith = 0; warn_pointer_arith = 0;
cpp_opts->warn_traditional = warn_traditional = 0; cpp_opts->cpp_warn_traditional = warn_traditional = 0;
flag_iso = 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; warn_cxx_compat = 0;
return ret; return ret;
} }
@ -899,11 +899,11 @@ disable_extension_diagnostics (void)
static inline void static inline void
restore_extension_diagnostics (int flags) restore_extension_diagnostics (int flags)
{ {
cpp_opts->pedantic = pedantic = flags & 1; cpp_opts->cpp_pedantic = pedantic = flags & 1;
warn_pointer_arith = (flags >> 1) & 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; 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; warn_cxx_compat = (flags >> 5) & 1;
} }

View File

@ -962,7 +962,7 @@ create_log_links (void)
/* Do not make the log link for frame pointer. */ /* Do not make the log link for frame pointer. */
if ((regno == FRAME_POINTER_REGNUM if ((regno == FRAME_POINTER_REGNUM
&& (! reload_completed || frame_pointer_needed)) && (! 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 || (regno == HARD_FRAME_POINTER_REGNUM
&& (! reload_completed || frame_pointer_needed)) && (! reload_completed || frame_pointer_needed))
#endif #endif
@ -2049,7 +2049,7 @@ combinable_i3pat (rtx i3, rtx *loc, rtx i2dest, rtx i1dest, rtx i0dest,
&& REG_P (subdest) && REG_P (subdest)
&& reg_referenced_p (subdest, PATTERN (i3)) && reg_referenced_p (subdest, PATTERN (i3))
&& REGNO (subdest) != FRAME_POINTER_REGNUM && 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 && REGNO (subdest) != HARD_FRAME_POINTER_REGNUM
#endif #endif
#if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM #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. */ /* None of this applies to the stack, frame or arg pointers. */
if (regno == STACK_POINTER_REGNUM 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 || regno == HARD_FRAME_POINTER_REGNUM
#endif #endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM

View File

@ -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[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
fcompare-debug-second fcompare-debug-second
Common Driver RejectNegative Var(flag_compare_debug) Common Driver RejectNegative
Run only the second compilation of -fcompare-debug Run only the second compilation of -fcompare-debug
fconserve-stack fconserve-stack

View File

@ -144,8 +144,6 @@ enum alpha_fp_trap_mode
ALPHA_FPTM_SUI /* Software completion, w/underflow & inexact traps */ ALPHA_FPTM_SUI /* Software completion, w/underflow & inexact traps */
}; };
extern int target_flags;
extern enum alpha_trap_precision alpha_tp; extern enum alpha_trap_precision alpha_tp;
extern enum alpha_fp_rounding_mode alpha_fprm; extern enum alpha_fp_rounding_mode alpha_fprm;
extern enum alpha_fp_trap_mode alpha_fptm; extern enum alpha_fp_trap_mode alpha_fptm;

View File

@ -989,6 +989,9 @@ extern int arm_structure_size_boundary;
? ARM_HARD_FRAME_POINTER_REGNUM \ ? ARM_HARD_FRAME_POINTER_REGNUM \
: THUMB_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 #define FP_REGNUM HARD_FRAME_POINTER_REGNUM
/* Register to use for pushing function arguments. */ /* Register to use for pushing function arguments. */

View File

@ -72,10 +72,6 @@ extern unsigned int bfin_workarounds;
/* Print subsidiary information on the compiler version in use. */ /* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION fprintf (stderr, " (BlackFin bfin)") #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 */ /* Predefinition in the preprocessor for this target machine */
#ifndef TARGET_CPU_CPP_BUILTINS #ifndef TARGET_CPU_CPP_BUILTINS
#define TARGET_CPU_CPP_BUILTINS() \ #define TARGET_CPU_CPP_BUILTINS() \

View File

@ -280,9 +280,6 @@ extern int cris_cpu_version;
} \ } \
while (0) while (0)
/* This needs to be at least 32 bits. */
extern int target_flags;
/* Previously controlled by target_flags. */ /* Previously controlled by target_flags. */
#define TARGET_ELF 1 #define TARGET_ELF 1

View File

@ -1,5 +1,5 @@
/* Subroutines used for macro/preprocessor support on the ia-32. /* Subroutines used for macro/preprocessor support on the ia-32.
Copyright (C) 2008, 2009 Copyright (C) 2008, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GCC. 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. */ /* Figure out the previous/current isa, arch, tune and the differences. */
prev_opt = TREE_TARGET_OPTION (prev_tree); prev_opt = TREE_TARGET_OPTION (prev_tree);
cur_opt = TREE_TARGET_OPTION (cur_tree); cur_opt = TREE_TARGET_OPTION (cur_tree);
prev_isa = prev_opt->ix86_isa_flags; prev_isa = prev_opt->x_ix86_isa_flags;
cur_isa = cur_opt->ix86_isa_flags; cur_isa = cur_opt->x_ix86_isa_flags;
diff_isa = (prev_isa ^ cur_isa); diff_isa = (prev_isa ^ cur_isa);
prev_arch = (enum processor_type) prev_opt->arch; prev_arch = (enum processor_type) prev_opt->arch;
prev_tune = (enum processor_type) prev_opt->tune; prev_tune = (enum processor_type) prev_opt->tune;

View File

@ -1898,7 +1898,6 @@ int x86_prefetch_sse;
static int ix86_regparm; static int ix86_regparm;
/* -mstackrealign option */ /* -mstackrealign option */
extern int ix86_force_align_arg_pointer;
static const char ix86_force_align_arg_pointer_string[] static const char ix86_force_align_arg_pointer_string[]
= "force_align_arg_pointer"; = "force_align_arg_pointer";
@ -3860,7 +3859,7 @@ ix86_function_specific_print (FILE *file, int indent,
struct cl_target_option *ptr) struct cl_target_option *ptr)
{ {
char *target_string 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); NULL, NULL, NULL, false);
fprintf (file, "%*sarch = %d (%s)\n", 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. ix86_option_override_internal, and then save the options away.
The string options are are attribute options, and will be undone The string options are are attribute options, and will be undone
when we copy the save structure. */ when we copy the save structure. */
if (ix86_isa_flags != def->ix86_isa_flags if (ix86_isa_flags != def->x_ix86_isa_flags
|| target_flags != def->target_flags || target_flags != def->x_target_flags
|| option_strings[IX86_FUNCTION_SPECIFIC_ARCH] || option_strings[IX86_FUNCTION_SPECIFIC_ARCH]
|| option_strings[IX86_FUNCTION_SPECIFIC_TUNE] || option_strings[IX86_FUNCTION_SPECIFIC_TUNE]
|| option_strings[IX86_FUNCTION_SPECIFIC_FPMATH]) || 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 /* 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 can inline a SSE2 function but a SSE2 function can't inline a SSE4
function. */ function. */
if ((caller_opts->ix86_isa_flags & callee_opts->ix86_isa_flags) if ((caller_opts->x_ix86_isa_flags & callee_opts->x_ix86_isa_flags)
!= callee_opts->ix86_isa_flags) != callee_opts->x_ix86_isa_flags)
ret = false; ret = false;
/* See if we have the same non-isa options. */ /* 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; ret = false;
/* See if arch, tune, etc. are the same. */ /* See if arch, tune, etc. are the same. */

View File

@ -447,8 +447,6 @@ extern int x86_prefetch_sse;
#define TARGET_ANY_GNU_TLS (TARGET_GNU_TLS || TARGET_GNU2_TLS) #define TARGET_ANY_GNU_TLS (TARGET_GNU_TLS || TARGET_GNU2_TLS)
#define TARGET_SUN_TLS 0 #define TARGET_SUN_TLS 0
extern int ix86_isa_flags;
#ifndef TARGET_64BIT_DEFAULT #ifndef TARGET_64BIT_DEFAULT
#define TARGET_64BIT_DEFAULT 0 #define TARGET_64BIT_DEFAULT 0
#endif #endif

View File

@ -68,8 +68,6 @@
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC "%{!T*:-T sim.ld}" #define LIB_SPEC "%{!T*:-T sim.ld}"
extern int target_flags;
/* Add -G xx support. */ /* Add -G xx support. */
#undef SWITCH_TAKES_ARG #undef SWITCH_TAKES_ARG

View File

@ -134,7 +134,6 @@ extern char * mcore_current_function_name;
#define STACK_BOUNDARY (TARGET_8ALIGN ? 64 : 32) #define STACK_BOUNDARY (TARGET_8ALIGN ? 64 : 32)
/* Largest increment in UNITS we allow the stack to grow in a single operation. */ /* Largest increment in UNITS we allow the stack to grow in a single operation. */
extern int mcore_stack_increment;
#define STACK_UNITS_MAXSTEP 4096 #define STACK_UNITS_MAXSTEP 4096
/* Allocation boundary (in *bits*) for the code of a function. */ /* Allocation boundary (in *bits*) for the code of a function. */

View File

@ -1,5 +1,5 @@
;; Machine description the Motorola MCore ;; 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. ;; Free Software Foundation, Inc.
;; Contributed by Motorola. ;; 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 /* 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 that we can later fold in the fp/sp offset from frame pointer
elimination. */ elimination. */

View File

@ -108,8 +108,6 @@ crtbegin.o%s"
} \ } \
while (0) while (0)
extern int target_flags;
/* Controlled by MeP-Integrator. */ /* Controlled by MeP-Integrator. */
#define TARGET_H1 0 #define TARGET_H1 0

View File

@ -1736,6 +1736,9 @@ enum mips_code_readable_setting {
#define HARD_FRAME_POINTER_REGNUM \ #define HARD_FRAME_POINTER_REGNUM \
(TARGET_MIPS16 ? GP_REG_FIRST + 17 : GP_REG_FIRST + 30) (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. */ /* Register in which static-chain is passed to a function. */
#define STATIC_CHAIN_REGNUM (GP_REG_FIRST + 15) #define STATIC_CHAIN_REGNUM (GP_REG_FIRST + 15)

View File

@ -140,8 +140,6 @@ struct GTY(()) machine_function
} \ } \
while (0) while (0)
extern int target_flags;
#define TARGET_DEFAULT \ #define TARGET_DEFAULT \
(MASK_BRANCH_PREDICT | MASK_BASE_ADDRESSES | MASK_USE_RETURN_INSN) (MASK_BRANCH_PREDICT | MASK_BASE_ADDRESSES | MASK_USE_RETURN_INSN)

View File

@ -471,7 +471,6 @@ extern int rs6000_float_gprs;
extern int rs6000_alignment_flags; extern int rs6000_alignment_flags;
extern const char *rs6000_sched_insert_nops_str; extern const char *rs6000_sched_insert_nops_str;
extern enum rs6000_nop_insertion rs6000_sched_insert_nops; 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. */ /* Describe which vector unit to use for a given machine mode. */
enum rs6000_vector { enum rs6000_vector {
@ -2417,9 +2416,7 @@ extern char rs6000_reg_names[][8]; /* register names (0 vs. %r0). */
/* #define MACHINE_no_sched_speculative_load */ /* #define MACHINE_no_sched_speculative_load */
/* General flags. */ /* General flags. */
extern int flag_pic;
extern int optimize; extern int optimize;
extern int flag_expensive_optimizations;
extern int frame_pointer_needed; extern int frame_pointer_needed;
/* Classification of the builtin functions to properly set the declaration tree /* Classification of the builtin functions to properly set the declaration tree

View File

@ -869,8 +869,6 @@ do { \
/* Position independent code. */ /* Position independent code. */
extern int flag_pic;
#define PIC_OFFSET_TABLE_REGNUM (flag_pic ? 12 : INVALID_REGNUM) #define PIC_OFFSET_TABLE_REGNUM (flag_pic ? 12 : INVALID_REGNUM)
#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X) #define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X)

View File

@ -1,5 +1,5 @@
/* score-conv.h for Sunplus S+CORE processor /* 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. This file is part of GCC.
@ -20,8 +20,6 @@
#ifndef GCC_SCORE_CONV_H #ifndef GCC_SCORE_CONV_H
#define GCC_SCORE_CONV_H #define GCC_SCORE_CONV_H
extern int target_flags;
#define GP_REG_FIRST 0U #define GP_REG_FIRST 0U
#define GP_REG_LAST 31U #define GP_REG_LAST 31U
#define GP_REG_NUM (GP_REG_LAST - GP_REG_FIRST + 1U) #define GP_REG_NUM (GP_REG_LAST - GP_REG_FIRST + 1U)

View File

@ -503,8 +503,6 @@ extern enum sh_divide_strategy_e sh_div_strategy;
#define SUBTARGET_OVERRIDE_OPTIONS (void) 0 #define SUBTARGET_OVERRIDE_OPTIONS (void) 0
extern const char *sh_fixed_range_str;
/* Target machine storage layout. */ /* Target machine storage layout. */

View File

@ -24,9 +24,6 @@
#define INIT_EXPANDERS spu_init_expanders() #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. */ /* Which processor to generate code or schedule for. */
enum processor_type enum processor_type
{ {

View File

@ -3015,7 +3015,7 @@ dbxout_symbol_location (tree decl, tree type, const char *suffix, rtx home)
|| (REG_P (XEXP (home, 0)) || (REG_P (XEXP (home, 0))
&& REGNO (XEXP (home, 0)) != HARD_FRAME_POINTER_REGNUM && REGNO (XEXP (home, 0)) != HARD_FRAME_POINTER_REGNUM
&& REGNO (XEXP (home, 0)) != STACK_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 && REGNO (XEXP (home, 0)) != ARG_POINTER_REGNUM
#endif #endif
))) )))
@ -3429,7 +3429,7 @@ dbxout_parms (tree parms)
&& REG_P (XEXP (DECL_RTL (parms), 0)) && REG_P (XEXP (DECL_RTL (parms), 0))
&& REGNO (XEXP (DECL_RTL (parms), 0)) != HARD_FRAME_POINTER_REGNUM && REGNO (XEXP (DECL_RTL (parms), 0)) != HARD_FRAME_POINTER_REGNUM
&& REGNO (XEXP (DECL_RTL (parms), 0)) != STACK_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 && REGNO (XEXP (DECL_RTL (parms), 0)) != ARG_POINTER_REGNUM
#endif #endif
) )

View File

@ -3406,7 +3406,7 @@ df_insn_refs_collect (struct df_collection_rec* collection_rec,
regno_reg_rtx[FRAME_POINTER_REGNUM], regno_reg_rtx[FRAME_POINTER_REGNUM],
NULL, bb, insn_info, NULL, bb, insn_info,
DF_REF_REG_USE, 0); 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, df_ref_record (DF_REF_BASE, collection_rec,
regno_reg_rtx[HARD_FRAME_POINTER_REGNUM], regno_reg_rtx[HARD_FRAME_POINTER_REGNUM],
NULL, bb, insn_info, NULL, bb, insn_info,
@ -3604,7 +3604,7 @@ df_get_regular_block_artificial_uses (bitmap regular_block_artificial_uses)
reference of the frame pointer. */ reference of the frame pointer. */
bitmap_set_bit (regular_block_artificial_uses, FRAME_POINTER_REGNUM); 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); bitmap_set_bit (regular_block_artificial_uses, HARD_FRAME_POINTER_REGNUM);
#endif #endif
@ -3656,7 +3656,7 @@ df_get_eh_block_artificial_uses (bitmap eh_block_artificial_uses)
if (frame_pointer_needed) if (frame_pointer_needed)
{ {
bitmap_set_bit (eh_block_artificial_uses, FRAME_POINTER_REGNUM); 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); bitmap_set_bit (eh_block_artificial_uses, HARD_FRAME_POINTER_REGNUM);
#endif #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 /* Any reference to any pseudo before reload is a potential
reference of the frame pointer. */ reference of the frame pointer. */
bitmap_set_bit (entry_block_defs, FRAME_POINTER_REGNUM); 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 they are different, also mark the hard frame pointer as live. */
if (!LOCAL_REGNO (HARD_FRAME_POINTER_REGNUM)) if (!LOCAL_REGNO (HARD_FRAME_POINTER_REGNUM))
bitmap_set_bit (entry_block_defs, 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) if ((!reload_completed) || frame_pointer_needed)
{ {
bitmap_set_bit (exit_block_uses, FRAME_POINTER_REGNUM); 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 they are different, also mark the hard frame pointer as live. */
if (!LOCAL_REGNO (HARD_FRAME_POINTER_REGNUM)) if (!LOCAL_REGNO (HARD_FRAME_POINTER_REGNUM))
bitmap_set_bit (exit_block_uses, HARD_FRAME_POINTER_REGNUM); bitmap_set_bit (exit_block_uses, HARD_FRAME_POINTER_REGNUM);

View File

@ -107,8 +107,8 @@ diagnostic_initialize (diagnostic_context *context, int n_opts)
context->permissive = false; context->permissive = false;
context->opt_permissive = 0; context->opt_permissive = 0;
context->fatal_errors = false; context->fatal_errors = false;
context->inhibit_warnings = false; context->dc_inhibit_warnings = false;
context->warn_system_headers = false; context->dc_warn_system_headers = false;
context->internal_error = NULL; context->internal_error = NULL;
diagnostic_starter (context) = default_diagnostic_starter; diagnostic_starter (context) = default_diagnostic_starter;
diagnostic_finalizer (context) = default_diagnostic_finalizer; diagnostic_finalizer (context) = default_diagnostic_finalizer;

View File

@ -124,10 +124,10 @@ struct diagnostic_context
bool fatal_errors; bool fatal_errors;
/* True if all warnings should be disabled. */ /* True if all warnings should be disabled. */
bool inhibit_warnings; bool dc_inhibit_warnings;
/* True if warnings should be given in system headers. */ /* 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 /* This function is called before any message is printed out. It is
responsible for preparing message prefix and such. For example, it 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. */ /* Returns nonzero if warnings should be emitted. */
#define diagnostic_report_warnings_p(DC, LOC) \ #define diagnostic_report_warnings_p(DC, LOC) \
(!(DC)->inhibit_warnings \ (!(DC)->dc_inhibit_warnings \
&& !(in_system_header_at (LOC) && !(DC)->warn_system_headers)) && !(in_system_header_at (LOC) && !(DC)->dc_warn_system_headers))
#define report_diagnostic(D) diagnostic_report_diagnostic (global_dc, D) #define report_diagnostic(D) diagnostic_report_diagnostic (global_dc, D)

View File

@ -3643,6 +3643,22 @@ pointer register, then you must mark it as a fixed register according to
(@pxref{Elimination}). (@pxref{Elimination}).
@end defmac @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 @defmac RETURN_ADDRESS_POINTER_REGNUM
The register number of the return address pointer register, which is used to 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 access the current function's return address from the stack. On some

View File

@ -3643,6 +3643,22 @@ pointer register, then you must mark it as a fixed register according to
(@pxref{Elimination}). (@pxref{Elimination}).
@end defmac @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 @defmac RETURN_ADDRESS_POINTER_REGNUM
The register number of the return address pointer register, which is used to 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 access the current function's return address from the stack. On some

View File

@ -16567,7 +16567,7 @@ rtl_for_decl_location (tree decl)
&& (!REG_P (XEXP (rtl, 0)) && (!REG_P (XEXP (rtl, 0))
|| REGNO (XEXP (rtl, 0)) == HARD_FRAME_POINTER_REGNUM || REGNO (XEXP (rtl, 0)) == HARD_FRAME_POINTER_REGNUM
|| REGNO (XEXP (rtl, 0)) == STACK_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 || REGNO (XEXP (rtl, 0)) == ARG_POINTER_REGNUM
#endif #endif
) )

View File

@ -589,12 +589,12 @@ gen_rtx_REG (enum machine_mode mode, unsigned int regno)
if (regno == FRAME_POINTER_REGNUM if (regno == FRAME_POINTER_REGNUM
&& (!reload_completed || frame_pointer_needed)) && (!reload_completed || frame_pointer_needed))
return frame_pointer_rtx; 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 if (regno == HARD_FRAME_POINTER_REGNUM
&& (!reload_completed || frame_pointer_needed)) && (!reload_completed || frame_pointer_needed))
return hard_frame_pointer_rtx; return hard_frame_pointer_rtx;
#endif #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) if (regno == ARG_POINTER_REGNUM)
return arg_pointer_rtx; return arg_pointer_rtx;
#endif #endif

View File

@ -77,6 +77,11 @@ extern void set_struct_debug_option (const char *value);
debugging information. */ debugging information. */
extern bool use_gnu_debug_info_extensions; 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 /* Enumerate visibility settings. This is deliberately ordered from most
to least visibility. */ to least visibility. */
#ifndef SYMBOL_VISIBILITY_DEFINED #ifndef SYMBOL_VISIBILITY_DEFINED

View File

@ -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> 2010-09-28 Tobias Burnus <burnus@net-b.de>
PR fortran/40569 PR fortran/40569

View File

@ -176,7 +176,7 @@ cpp_define_builtins (cpp_reader *pfile)
cpp_define (pfile, "__GFORTRAN__=1"); cpp_define (pfile, "__GFORTRAN__=1");
cpp_define (pfile, "_LANGUAGE_FORTRAN=1"); cpp_define (pfile, "_LANGUAGE_FORTRAN=1");
if (gfc_option.flag_openmp) if (gfc_option.gfc_flag_openmp)
cpp_define (pfile, "_OPENMP=200805"); cpp_define (pfile, "_OPENMP=200805");
@ -526,7 +526,7 @@ gfc_cpp_post_options (void)
cpp_option->traditional = 1; cpp_option->traditional = 1;
cpp_option->cplusplus_comments = 0; 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->dollars_in_ident = gfc_option.flag_dollar_ok;
cpp_option->discard_comments = gfc_cpp_option.discard_comments; 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_info diagnostic;
diagnostic_t dlevel; 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; bool ret;
switch (level) switch (level)
{ {
case CPP_DL_WARNING_SYSHDR: case CPP_DL_WARNING_SYSHDR:
global_dc->warn_system_headers = 1; global_dc->dc_warn_system_headers = 1;
/* Fall through. */ /* Fall through. */
case CPP_DL_WARNING: case CPP_DL_WARNING:
dlevel = DK_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); diagnostic_override_option_index (&diagnostic, OPT_Wcpp);
ret = report_diagnostic (&diagnostic); ret = report_diagnostic (&diagnostic);
if (level == CPP_DL_WARNING_SYSHDR) 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; return ret;
} }

View File

@ -1089,7 +1089,7 @@ gfc_init_builtin_functions (void)
#include "../sync-builtins.def" #include "../sync-builtins.def"
#undef DEF_SYNC_BUILTIN #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 #undef DEF_GOMP_BUILTIN
#define DEF_GOMP_BUILTIN(code, name, type, attr) \ #define DEF_GOMP_BUILTIN(code, name, type, attr) \

View File

@ -2190,7 +2190,7 @@ typedef struct
int warn_aliasing; int warn_aliasing;
int warn_ampersand; int warn_ampersand;
int warn_conversion; int gfc_warn_conversion;
int warn_conversion_extra; int warn_conversion_extra;
int warn_implicit_interface; int warn_implicit_interface;
int warn_implicit_procedure; int warn_implicit_procedure;
@ -2230,7 +2230,7 @@ typedef struct
int blas_matmul_limit; int blas_matmul_limit;
int flag_cray_pointer; int flag_cray_pointer;
int flag_d_lines; int flag_d_lines;
int flag_openmp; int gfc_flag_openmp;
int flag_sign_zero; int flag_sign_zero;
int flag_module_private; int flag_module_private;
int flag_recursive; int flag_recursive;

View File

@ -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_warning_now ("Conversion from %s to %s at %L",
gfc_typename (&from_ts), gfc_typename (ts), gfc_typename (&from_ts), gfc_typename (ts),
&expr->where); &expr->where);
else if (gfc_option.warn_conversion else if (gfc_option.gfc_warn_conversion
&& from_ts.kind > ts->kind) && from_ts.kind > ts->kind)
gfc_warning_now ("Possible change of value in conversion " gfc_warning_now ("Possible change of value in conversion "
"from %s to %s at %L", gfc_typename (&from_ts), "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 /* Conversion from REAL/COMPLEX to INTEGER or COMPLEX to REAL
usually comes with a loss of information, regardless of kinds. */ usually comes with a loss of information, regardless of kinds. */
if (gfc_option.warn_conversion_extra if (gfc_option.warn_conversion_extra
|| gfc_option.warn_conversion) || gfc_option.gfc_warn_conversion)
gfc_warning_now ("Possible change of value in conversion " gfc_warning_now ("Possible change of value in conversion "
"from %s to %s at %L", gfc_typename (&from_ts), "from %s to %s at %L", gfc_typename (&from_ts),
gfc_typename (ts), &expr->where); 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 HOLLERITH is involved, all bets are off. */
if (gfc_option.warn_conversion_extra 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_warning_now ("Conversion from %s to %s at %L",
gfc_typename (&from_ts), gfc_typename (ts), gfc_typename (&from_ts), gfc_typename (ts),
&expr->where); &expr->where);

View File

@ -88,7 +88,7 @@ gfc_init_options (unsigned int decoded_options_count,
gfc_option.warn_ampersand = 0; gfc_option.warn_ampersand = 0;
gfc_option.warn_character_truncation = 0; gfc_option.warn_character_truncation = 0;
gfc_option.warn_array_temp = 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_conversion_extra = 0;
gfc_option.warn_implicit_interface = 0; gfc_option.warn_implicit_interface = 0;
gfc_option.warn_line_truncation = 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.blas_matmul_limit = 30;
gfc_option.flag_cray_pointer = 0; gfc_option.flag_cray_pointer = 0;
gfc_option.flag_d_lines = -1; 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_sign_zero = 1;
gfc_option.flag_recursive = 0; gfc_option.flag_recursive = 0;
gfc_option.flag_init_integer = GFC_INIT_INTEGER_OFF; 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); gfc_option.flag_max_stack_var_size);
else if (!gfc_option.flag_automatic && gfc_option.flag_recursive) else if (!gfc_option.flag_automatic && gfc_option.flag_recursive)
gfc_warning_now ("Flag -fno-automatic overwrites -frecursive"); 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 " gfc_warning_now ("Flag -fno-automatic overwrites -frecursive implied by "
"-fopenmp"); "-fopenmp");
else if (gfc_option.flag_max_stack_var_size != -2 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_warning_now ("Flag -frecursive overwrites -fmax-stack-var-size=%d",
gfc_option.flag_max_stack_var_size); gfc_option.flag_max_stack_var_size);
else if (gfc_option.flag_max_stack_var_size != -2 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 " gfc_warning_now ("Flag -fmax-stack-var-size=%d overwrites -frecursive "
"implied by -fopenmp", "implied by -fopenmp",
gfc_option.flag_max_stack_var_size); 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; gfc_option.flag_max_stack_var_size = -1;
/* Implied -frecursive; implemented as -fmax-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_automatic)
{ {
gfc_option.flag_recursive = 1; gfc_option.flag_recursive = 1;
@ -419,7 +419,7 @@ set_Wall (int setting)
{ {
gfc_option.warn_aliasing = setting; gfc_option.warn_aliasing = setting;
gfc_option.warn_ampersand = 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_line_truncation = setting;
gfc_option.warn_surprising = setting; gfc_option.warn_surprising = setting;
gfc_option.warn_tabs = !setting; gfc_option.warn_tabs = !setting;
@ -581,7 +581,7 @@ gfc_handle_option (size_t scode, const char *arg, int value,
break; break;
case OPT_Wconversion: case OPT_Wconversion:
gfc_option.warn_conversion = value; gfc_option.gfc_warn_conversion = value;
break; break;
case OPT_Wconversion_extra: case OPT_Wconversion_extra:
@ -707,7 +707,7 @@ gfc_handle_option (size_t scode, const char *arg, int value,
break; break;
case OPT_fopenmp: case OPT_fopenmp:
gfc_option.flag_openmp = value; gfc_option.gfc_flag_openmp = value;
break; break;
case OPT_ffree_line_length_none: case OPT_ffree_line_length_none:

View File

@ -693,7 +693,7 @@ next_free (void)
return decode_gcc_attribute (); return decode_gcc_attribute ();
} }
else if (c == '$' && gfc_option.flag_openmp) else if (c == '$' && gfc_option.gfc_flag_openmp)
{ {
int i; int i;
@ -780,7 +780,7 @@ next_fixed (void)
return decode_gcc_attribute (); 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)) for (i = 0; i < 4; i++, c = gfc_next_char_literal (0))
gcc_assert ((char) gfc_wide_tolower (c) == "$omp"[i]); gcc_assert ((char) gfc_wide_tolower (c) == "$omp"[i]);

View File

@ -1,6 +1,6 @@
/* Character scanner. /* Character scanner.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
Free Software Foundation, Inc. 2010 Free Software Foundation, Inc.
Contributed by Andy Vaught Contributed by Andy Vaught
This file is part of GCC. This file is part of GCC.
@ -76,8 +76,6 @@ const char *gfc_source_file;
static FILE *gfc_src_file; static FILE *gfc_src_file;
static gfc_char_t *gfc_src_preprocessor_lines[2]; static gfc_char_t *gfc_src_preprocessor_lines[2];
extern int pedantic;
static struct gfc_file_change static struct gfc_file_change
{ {
const char *filename; const char *filename;
@ -747,7 +745,7 @@ skip_free_comments (void)
2) handle OpenMP conditional compilation, where 2) handle OpenMP conditional compilation, where
!$ should be treated as 2 spaces (for initial lines !$ should be treated as 2 spaces (for initial lines
only if followed by space). */ 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; locus old_loc = gfc_current_locus;
if (next_char () == '$') 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))
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 () == '$') if (next_char () == '$')
{ {
@ -1814,7 +1812,7 @@ include_line (gfc_char_t *line)
c = line; c = line;
if (gfc_option.flag_openmp) if (gfc_option.gfc_flag_openmp)
{ {
if (gfc_current_form == FORM_FREE) if (gfc_current_form == FORM_FREE)
{ {

View File

@ -4682,7 +4682,7 @@ gfc_generate_function_code (gfc_namespace * ns)
/* Reset recursion-check variable. */ /* Reset recursion-check variable. */
if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION) if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION)
&& !is_recursive && !is_recursive
&& !gfc_option.flag_openmp && !gfc_option.gfc_flag_openmp
&& recurcheckvar != NULL_TREE) && recurcheckvar != NULL_TREE)
{ {
gfc_add_modify (&cleanup, recurcheckvar, boolean_false_node); gfc_add_modify (&cleanup, recurcheckvar, boolean_false_node);

View File

@ -1389,7 +1389,7 @@ ira_setup_eliminable_regset (void)
else else
df_set_regs_ever_live (eliminables[i].from, true); 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)) if (!TEST_HARD_REG_BIT (crtl->asm_clobbers, HARD_FRAME_POINTER_REGNUM))
{ {
SET_HARD_REG_BIT (eliminable_regset, HARD_FRAME_POINTER_REGNUM); SET_HARD_REG_BIT (eliminable_regset, HARD_FRAME_POINTER_REGNUM);

View File

@ -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> 2010-09-28 Richard Henderson <rth@redhat.com>
* lang.c: Include "target.h". * lang.c: Include "target.h".

View File

@ -112,64 +112,11 @@ struct JCF;
/* The virtual offset symbol table. Used by the runtime to fill out /* The virtual offset symbol table. Used by the runtime to fill out
the otable. */ 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. */ /* Resource name. */
extern const char *resource_name; extern const char *resource_name;
/* Turned to 1 if -Wall was encountered. See lang.c for their meanings. */ /* Turned to 1 if -Wall was encountered. See lang.c for their meanings. */
extern int flag_wall; 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. */ /* The Java .class file that provides main_class; the main input file. */
extern GTY(()) struct JCF * current_jcf; extern GTY(()) struct JCF * current_jcf;

View File

@ -76,10 +76,6 @@ int flag_print_fields = 1;
int flag_print_methods = 1; int flag_print_methods = 1;
int flag_print_attributes = 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. */ /* Print names of classes that have a "main" method. */
int flag_print_main = 0; int flag_print_main = 0;

View File

@ -1,6 +1,6 @@
/* Utility macros to read Java(TM) .class files and byte codes. /* Utility macros to read Java(TM) .class files and byte codes.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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. This file is part of GCC.
@ -274,7 +274,6 @@ extern const char *jcf_write_base_directory;
/* Debug macros, for the front end */ /* Debug macros, for the front end */
extern int quiet_flag;
#ifdef VERBOSE_SKELETON #ifdef VERBOSE_SKELETON
#undef SOURCE_FRONTEND_DEBUG #undef SOURCE_FRONTEND_DEBUG
#define SOURCE_FRONTEND_DEBUG(X) \ #define SOURCE_FRONTEND_DEBUG(X) \

View File

@ -1,6 +1,6 @@
/* Language parser definitions for the GNU compiler for the Java(TM) language. /* Language parser definitions for the GNU compiler for the Java(TM) language.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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) Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
This file is part of GCC. 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 global variable declarations */
extern struct obstack temporary_obstack; extern struct obstack temporary_obstack;
extern int quiet_flag;
#ifdef VERBOSE_SKELETON #ifdef VERBOSE_SKELETON
#undef SOURCE_FRONTEND_DEBUG #undef SOURCE_FRONTEND_DEBUG

View File

@ -85,8 +85,19 @@ print "#endif /* GCC_DRIVER */"
print "" print ""
have_save = 0; have_save = 0;
print "struct gcc_options global_options =\n{"
for (i = 0; i < n_extra_vars; i++) { 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++) { for (i = 0; i < n_opts; i++) {
if (flag_set_p("Save", flags[i])) if (flag_set_p("Save", flags[i]))
@ -96,24 +107,31 @@ for (i = 0; i < n_opts; i++) {
if (name == "") if (name == "")
continue; continue;
if (flag_set_p("VarExists", flags[i])) {
continue;
}
else {
init = opt_args("Init", flags[i]) init = opt_args("Init", flags[i])
if (init != "") if (init != "") {
init = " = " init; if (name in var_init && var_init[name] != init)
else if (name in var_seen) print "#error multiple initializers for " name
continue; var_init[name] = init
} }
}
for (i = 0; i < n_opts; i++) {
name = var_name(flags[i]);
if (name == "")
continue;
print "/* Set by -" opts[i] "." if (name in var_seen)
print " " help[i] " */" continue;
print var_type(flags[i]) name init ";"
print "" if (name in var_init)
init = var_init[name]
else
init = "0"
print " " init ", /* " name " */"
var_seen[name] = 1; var_seen[name] = 1;
} }
print "};"
print "" print ""
print "/* Local state variables. */" print "/* Local state variables. */"
@ -332,19 +350,19 @@ for (i = 0; i < n_opt_char; i++) {
print ""; print "";
for (i = 0; i < n_opt_other; i++) { 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++) { 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++) { 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++) { 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 "}"; print "}";
@ -356,19 +374,19 @@ print "cl_optimization_restore (struct cl_optimization *ptr)";
print "{"; print "{";
for (i = 0; i < n_opt_other; i++) { 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++) { 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++) { 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++) { 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 ();"; print " targetm.override_options_after_change ();";
@ -384,38 +402,38 @@ print "{";
print " fputs (\"\\n\", file);"; print " fputs (\"\\n\", file);";
for (i = 0; i < n_opt_other; i++) { 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 " fprintf (file, \"%*s%s (%#lx)\\n\",";
print " indent_to, \"\","; print " indent_to, \"\",";
print " \"" var_opt_other[i] "\","; print " \"" var_opt_other[i] "\",";
print " (unsigned long)ptr->" var_opt_other[i] ");"; print " (unsigned long)ptr->x_" var_opt_other[i] ");";
print ""; print "";
} }
for (i = 0; i < n_opt_int; i++) { 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 " fprintf (file, \"%*s%s (%#x)\\n\",";
print " indent_to, \"\","; print " indent_to, \"\",";
print " \"" var_opt_int[i] "\","; print " \"" var_opt_int[i] "\",";
print " ptr->" var_opt_int[i] ");"; print " ptr->x_" var_opt_int[i] ");";
print ""; print "";
} }
for (i = 0; i < n_opt_short; i++) { 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 " fprintf (file, \"%*s%s (%#x)\\n\",";
print " indent_to, \"\","; print " indent_to, \"\",";
print " \"" var_opt_short[i] "\","; print " \"" var_opt_short[i] "\",";
print " ptr->" var_opt_short[i] ");"; print " ptr->x_" var_opt_short[i] ");";
print ""; print "";
} }
for (i = 0; i < n_opt_char; i++) { 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 " fprintf (file, \"%*s%s (%#x)\\n\",";
print " indent_to, \"\","; print " indent_to, \"\",";
print " \"" var_opt_char[i] "\","; print " \"" var_opt_char[i] "\",";
print " ptr->" var_opt_char[i] ");"; print " ptr->x_" var_opt_char[i] ");";
print ""; print "";
} }
@ -482,19 +500,19 @@ print " targetm.target_option.save (ptr);";
print ""; print "";
for (i = 0; i < n_target_other; i++) { 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++) { 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++) { 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++) { 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 "}"; print "}";
@ -506,19 +524,19 @@ print "cl_target_option_restore (struct cl_target_option *ptr)";
print "{"; print "{";
for (i = 0; i < n_target_other; i++) { 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++) { 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++) { 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++) { 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 # This must occur after the normal variables in case the code depends on those
@ -539,38 +557,38 @@ print "{";
print " fputs (\"\\n\", file);"; print " fputs (\"\\n\", file);";
for (i = 0; i < n_target_other; i++) { 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 " fprintf (file, \"%*s%s (%#lx)\\n\",";
print " indent, \"\","; print " indent, \"\",";
print " \"" var_target_other[i] "\","; print " \"" var_target_other[i] "\",";
print " (unsigned long)ptr->" var_target_other[i] ");"; print " (unsigned long)ptr->x_" var_target_other[i] ");";
print ""; print "";
} }
for (i = 0; i < n_target_int; i++) { 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 " fprintf (file, \"%*s%s (%#x)\\n\",";
print " indent, \"\","; print " indent, \"\",";
print " \"" var_target_int[i] "\","; print " \"" var_target_int[i] "\",";
print " ptr->" var_target_int[i] ");"; print " ptr->x_" var_target_int[i] ");";
print ""; print "";
} }
for (i = 0; i < n_target_short; i++) { 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 " fprintf (file, \"%*s%s (%#x)\\n\",";
print " indent, \"\","; print " indent, \"\",";
print " \"" var_target_short[i] "\","; print " \"" var_target_short[i] "\",";
print " ptr->" var_target_short[i] ");"; print " ptr->x_" var_target_short[i] ");";
print ""; print "";
} }
for (i = 0; i < n_target_char; i++) { 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 " fprintf (file, \"%*s%s (%#x)\\n\",";
print " indent, \"\","; print " indent, \"\",";
print " \"" var_target_char[i] "\","; print " \"" var_target_char[i] "\",";
print " ptr->" var_target_char[i] ");"; print " ptr->x_" var_target_char[i] ");";
print ""; print "";
} }

View File

@ -75,10 +75,25 @@ print ""
have_save = 0; have_save = 0;
print "#ifndef GENERATOR_FILE"
print "struct gcc_options\n{"
print "#endif"
for (i = 0; i < n_extra_vars; i++) { for (i = 0; i < n_extra_vars; i++) {
var = extra_vars[i] var = extra_vars[i]
sub(" *=.*", "", var) 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++) { for (i = 0; i < n_opts; i++) {
@ -93,8 +108,17 @@ for (i = 0; i < n_opts; i++) {
continue; continue;
var_seen[name] = 1; var_seen[name] = 1;
print "#ifdef GENERATOR_FILE"
print "extern " var_type(flags[i]) name ";" 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 "" print ""
# All of the optimization switches gathered together so they can be saved and restored. # 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_short = 0;
n_opt_int = 0; n_opt_int = 0;
n_opt_other = 0; n_opt_other = 0;
var_opt_char[0] = "unsigned char optimize"; var_opt_char[0] = "unsigned char x_optimize";
var_opt_char[1] = "unsigned char optimize_size"; var_opt_char[1] = "unsigned char x_optimize_size";
for (i = 0; i < n_opts; i++) { for (i = 0; i < n_opts; i++) {
if (flag_set_p("Optimization", flags[i])) { if (flag_set_p("Optimization", flags[i])) {
@ -129,16 +153,16 @@ for (i = 0; i < n_opts; i++) {
var_opt_seen[name]++; var_opt_seen[name]++;
otype = var_type_struct(flags[i]); otype = var_type_struct(flags[i]);
if (otype ~ "^((un)?signed +)?int *$") 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 *$") 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 *$") else if (otype ~ "^((un)?signed +)?char *$")
var_opt_char[n_opt_char++] = otype name; var_opt_char[n_opt_char++] = otype "x_" name;
else 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]++; var_save_seen[name]++;
otype = var_type_struct(flags[i]) otype = var_type_struct(flags[i])
if (otype ~ "^((un)?signed +)?int *$") 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 *$") 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 *$") else if (otype ~ "^((un)?signed +)?char *$")
var_target_char[n_target_char++] = otype name; var_target_char[n_target_char++] = otype "x_" name;
else else
var_target_other[n_target_other++] = otype name; var_target_other[n_target_other++] = otype "x_" name;
} }
} }
} else { } 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++) { for (i = 0; i < n_target_other; i++) {

View File

@ -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] static enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS]
= { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }; = { 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 /* Parse the -femit-struct-debug-detailed option value
and set the flag variables. */ and set the flag variables. */
@ -1635,7 +1640,7 @@ common_handle_option (const struct cl_decoded_option *decoded,
break; break;
case OPT_Wsystem_headers: case OPT_Wsystem_headers:
global_dc->warn_system_headers = value; global_dc->dc_warn_system_headers = value;
break; break;
case OPT_Wunused: case OPT_Wunused:
@ -1700,6 +1705,10 @@ common_handle_option (const struct cl_decoded_option *decoded,
fix_register (arg, 0, 0); fix_register (arg, 0, 0);
break; break;
case OPT_fcompare_debug_second:
flag_compare_debug = value;
break;
case OPT_fdbg_cnt_: case OPT_fdbg_cnt_:
dbg_cnt_process_opt (arg); dbg_cnt_process_opt (arg);
break; break;
@ -2083,7 +2092,7 @@ common_handle_option (const struct cl_decoded_option *decoded,
break; break;
case OPT_w: case OPT_w:
global_dc->inhibit_warnings = true; global_dc->dc_inhibit_warnings = true;
break; break;
case OPT_fuse_linker_plugin: case OPT_fuse_linker_plugin:
@ -2186,11 +2195,11 @@ fast_math_flags_set_p (void)
bool bool
fast_math_flags_struct_set_p (struct cl_optimization *opt) fast_math_flags_struct_set_p (struct cl_optimization *opt)
{ {
return (!opt->flag_trapping_math return (!opt->x_flag_trapping_math
&& opt->flag_unsafe_math_optimizations && opt->x_flag_unsafe_math_optimizations
&& opt->flag_finite_math_only && opt->x_flag_finite_math_only
&& !opt->flag_signed_zeros && !opt->x_flag_signed_zeros
&& !opt->flag_errno_math); && !opt->x_flag_errno_math);
} }
/* Handle a debug output -g switch. EXTENDED is true or false to support /* Handle a debug output -g switch. EXTENDED is true or false to support

View File

@ -1,7 +1,7 @@
/* Compute different info about registers. /* Compute different info about registers.
Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996 Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 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. This file is part of GCC.
@ -487,7 +487,7 @@ init_reg_sets_1 (void)
} }
else if (i == FRAME_POINTER_REGNUM) 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) else if (i == HARD_FRAME_POINTER_REGNUM)
; ;
#endif #endif

View File

@ -200,7 +200,7 @@ regrename_optimize (void)
if (frame_pointer_needed) if (frame_pointer_needed)
{ {
add_to_hard_reg_set (&unavailable, Pmode, FRAME_POINTER_REGNUM); 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); add_to_hard_reg_set (&unavailable, Pmode, HARD_FRAME_POINTER_REGNUM);
#endif #endif
} }
@ -233,7 +233,7 @@ regrename_optimize (void)
#endif #endif
if (fixed_regs[reg] || global_regs[reg] 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) || (frame_pointer_needed && reg == HARD_FRAME_POINTER_REGNUM)
#else #else
|| (frame_pointer_needed && reg == FRAME_POINTER_REGNUM) || (frame_pointer_needed && reg == FRAME_POINTER_REGNUM)

View File

@ -1,6 +1,6 @@
/* Search an insn for pseudo regs that must be in hard regs and are not. /* 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, 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. Free Software Foundation, Inc.
This file is part of GCC. 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, if ((regno_ok_for_base_p (REGNO (operand), mode, inner_code,
GET_CODE (addend)) GET_CODE (addend))
|| operand == frame_pointer_rtx || operand == frame_pointer_rtx
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM #if !HARD_FRAME_POINTER_IS_FRAME_POINTER
|| operand == hard_frame_pointer_rtx || operand == hard_frame_pointer_rtx
#endif #endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM

View File

@ -831,7 +831,7 @@ reload (rtx first, int global)
spill_hard_reg (from, 1); spill_hard_reg (from, 1);
} }
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM #if !HARD_FRAME_POINTER_IS_FRAME_POINTER
if (frame_pointer_needed) if (frame_pointer_needed)
spill_hard_reg (HARD_FRAME_POINTER_REGNUM, 1); spill_hard_reg (HARD_FRAME_POINTER_REGNUM, 1);
#endif #endif
@ -3232,7 +3232,7 @@ eliminate_regs_in_insn (rtx insn, int replace)
for (ep = reg_eliminate; ep < &reg_eliminate[NUM_ELIMINABLE_REGS]; ep++) for (ep = reg_eliminate; ep < &reg_eliminate[NUM_ELIMINABLE_REGS]; ep++)
if (ep->from_rtx == SET_DEST (old_set) && ep->can_eliminate) 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 /* If this is setting the frame pointer register to the
hardware frame pointer register and this is an elimination hardware frame pointer register and this is an elimination
that will be done (tested above), this insn is really that will be done (tested above), this insn is really

View File

@ -1,6 +1,6 @@
/* Definitions for computing resource usage of specific insns. /* Definitions for computing resource usage of specific insns.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 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. This file is part of GCC.
@ -335,7 +335,7 @@ mark_referenced_resources (rtx x, struct resources *res,
if (frame_pointer_needed) if (frame_pointer_needed)
{ {
SET_HARD_REG_BIT (res->regs, FRAME_POINTER_REGNUM); 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); SET_HARD_REG_BIT (res->regs, HARD_FRAME_POINTER_REGNUM);
#endif #endif
} }
@ -1148,7 +1148,7 @@ init_resource_info (rtx epilogue_insn)
if (frame_pointer_needed) if (frame_pointer_needed)
{ {
SET_HARD_REG_BIT (end_of_function_needs.regs, FRAME_POINTER_REGNUM); 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); SET_HARD_REG_BIT (end_of_function_needs.regs, HARD_FRAME_POINTER_REGNUM);
#endif #endif
if (! EXIT_IGNORE_STACK if (! EXIT_IGNORE_STACK

View File

@ -1980,6 +1980,16 @@ extern GTY(()) rtx const_tiny_rtx[3][(int) MAX_MACHINE_MODE];
#define HARD_FRAME_POINTER_REGNUM FRAME_POINTER_REGNUM #define HARD_FRAME_POINTER_REGNUM FRAME_POINTER_REGNUM
#endif #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. */ /* Index labels for global_rtl. */
enum global_rtl_index enum global_rtl_index
{ {
@ -1993,13 +2003,13 @@ enum global_rtl_index
#if FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM #if FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM
GR_ARG_POINTER = GR_FRAME_POINTER, GR_ARG_POINTER = GR_FRAME_POINTER,
#endif #endif
#if HARD_FRAME_POINTER_REGNUM == FRAME_POINTER_REGNUM #if HARD_FRAME_POINTER_IS_FRAME_POINTER
GR_HARD_FRAME_POINTER = GR_FRAME_POINTER, GR_HARD_FRAME_POINTER = GR_FRAME_POINTER,
#else #else
GR_HARD_FRAME_POINTER, GR_HARD_FRAME_POINTER,
#endif #endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM #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, GR_ARG_POINTER = GR_HARD_FRAME_POINTER,
#else #else
GR_ARG_POINTER, GR_ARG_POINTER,

View File

@ -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. */ frame pointer, or we could not discover its class. */
if (fixed_regs[regno] if (fixed_regs[regno]
|| global_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) || (frame_pointer_needed && regno == HARD_FRAME_POINTER_REGNUM)
#else #else
|| (frame_pointer_needed && regno == FRAME_POINTER_REGNUM) || (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, SET_HARD_REG_BIT (reg_rename_p->unavailable_hard_regs,
FRAME_POINTER_REGNUM + i); 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--;) for (i = hard_regno_nregs[HARD_FRAME_POINTER_REGNUM][Pmode]; i--;)
SET_HARD_REG_BIT (reg_rename_p->unavailable_hard_regs, SET_HARD_REG_BIT (reg_rename_p->unavailable_hard_regs,
HARD_FRAME_POINTER_REGNUM + i); HARD_FRAME_POINTER_REGNUM + i);

View File

@ -1834,7 +1834,7 @@ expand_nl_goto_receiver (void)
decrementing fp by STARTING_FRAME_OFFSET. */ decrementing fp by STARTING_FRAME_OFFSET. */
emit_move_insn (virtual_stack_vars_rtx, hard_frame_pointer_rtx); 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]) if (fixed_regs[ARG_POINTER_REGNUM])
{ {
#ifdef ELIMINABLE_REGS #ifdef ELIMINABLE_REGS

View File

@ -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> 2010-09-15 Ian Lance Taylor <iant@google.com>
* init.c: Fix type name in comment. * init.c: Fix type name in comment.

View File

@ -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); cpp_error (pfile, CPP_DL_PEDWARN, "#%s is a GCC extension", dir->name);
else if (((dir->flags & DEPRECATED) != 0 else if (((dir->flags & DEPRECATED) != 0
|| (dir == &dtable[T_IMPORT] && !CPP_OPTION (pfile, objc))) || (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, cpp_warning (pfile, CPP_W_DEPRECATED,
"#%s is a deprecated GCC extension", dir->name); "#%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 (was_parsing_args)
{ {
if (CPP_OPTION (pfile, pedantic)) if (CPP_OPTION (pfile, cpp_pedantic))
cpp_error (pfile, CPP_DL_PEDWARN, cpp_error (pfile, CPP_DL_PEDWARN,
"embedding a directive within macro arguments is not portable"); "embedding a directive within macro arguments is not portable");
pfile->state.parsing_args = 0; pfile->state.parsing_args = 0;

View File

@ -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 u_or_i = (result & (CPP_N_UNSIGNED|CPP_N_IMAGINARY));
int large = (result & CPP_N_WIDTH) == CPP_N_LARGE 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) if (u_or_i || large)
cpp_warning (pfile, large ? CPP_W_LONG_LONG : CPP_W_TRADITIONAL, 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 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) const char *message = CPP_OPTION (pfile, cplusplus)
? N_("use of C++0x long long integer constant") ? 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)) if (CPP_PEDANTIC (pfile))
cpp_error (pfile, CPP_DL_PEDWARN, cpp_error (pfile, CPP_DL_PEDWARN,
"assertions are a GCC extension"); "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, cpp_warning (pfile, CPP_W_DEPRECATED,
"assertions are a deprecated extension"); "assertions are a deprecated extension");
} }

View File

@ -319,7 +319,7 @@ struct cpp_options
unsigned char print_include_names; unsigned char print_include_names;
/* Nonzero means complain about deprecated features. */ /* 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. */ /* Nonzero means warn if slash-star appears in a comment. */
unsigned char warn_comments; unsigned char warn_comments;
@ -336,10 +336,10 @@ struct cpp_options
/* Nonzero means warn about various incompatibilities with /* Nonzero means warn about various incompatibilities with
traditional C. */ traditional C. */
unsigned char warn_traditional; unsigned char cpp_warn_traditional;
/* Nonzero means warn about long long numeric constants. */ /* 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). */ /* Nonzero means warn about text after an #endif (or #else). */
unsigned char warn_endif_labels; unsigned char warn_endif_labels;
@ -383,7 +383,7 @@ struct cpp_options
unsigned char std; unsigned char std;
/* Nonzero means give all the error messages the ANSI standard requires. */ /* 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 /* Nonzero means we're looking at already preprocessed code, so don't
bother trying to do macro expansion and whatnot. */ bother trying to do macro expansion and whatnot. */

View File

@ -160,8 +160,8 @@ cpp_create_reader (enum c_lang lang, hash_table *table,
CPP_OPTION (pfile, operator_names) = 1; CPP_OPTION (pfile, operator_names) = 1;
CPP_OPTION (pfile, warn_trigraphs) = 2; CPP_OPTION (pfile, warn_trigraphs) = 2;
CPP_OPTION (pfile, warn_endif_labels) = 1; CPP_OPTION (pfile, warn_endif_labels) = 1;
CPP_OPTION (pfile, warn_deprecated) = 1; CPP_OPTION (pfile, cpp_warn_deprecated) = 1;
CPP_OPTION (pfile, warn_long_long) = 0; CPP_OPTION (pfile, cpp_warn_long_long) = 0;
CPP_OPTION (pfile, dollars_in_ident) = 1; CPP_OPTION (pfile, dollars_in_ident) = 1;
CPP_OPTION (pfile, warn_dollars) = 1; CPP_OPTION (pfile, warn_dollars) = 1;
CPP_OPTION (pfile, warn_variadic_macros) = 1; CPP_OPTION (pfile, warn_variadic_macros) = 1;
@ -698,7 +698,7 @@ post_options (cpp_reader *pfile)
{ {
/* -Wtraditional is not useful in C++ mode. */ /* -Wtraditional is not useful in C++ mode. */
if (CPP_OPTION (pfile, cplusplus)) 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 /* Permanently disable macro expansion if we are rescanning
preprocessed text. Read preprocesed source in ISO mode. */ preprocessed text. Read preprocesed source in ISO mode. */

View File

@ -1,6 +1,6 @@
/* Part of CPP library. /* Part of CPP library.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 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 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 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; return pfile->buffer ? pfile->buffer->sysp : 0;
} }
#define CPP_PEDANTIC(PF) CPP_OPTION (PF, pedantic) #define CPP_PEDANTIC(PF) CPP_OPTION (PF, cpp_pedantic)
#define CPP_WTRADITIONAL(PF) CPP_OPTION (PF, warn_traditional) #define CPP_WTRADITIONAL(PF) CPP_OPTION (PF, cpp_warn_traditional)
static inline int cpp_in_primary_file (cpp_reader *); static inline int cpp_in_primary_file (cpp_reader *);
static inline int static inline int

View File

@ -1,7 +1,7 @@
/* Part of CPP library. (Macro and #define handling.) /* Part of CPP library. (Macro and #define handling.)
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998, Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 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. Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986 Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987 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->spec_nodes.n__VA_ARGS__);
pfile->state.va_args_ok = 1; pfile->state.va_args_ok = 1;
if (! CPP_OPTION (pfile, c99) if (! CPP_OPTION (pfile, c99)
&& CPP_OPTION (pfile, pedantic) && CPP_OPTION (pfile, cpp_pedantic)
&& CPP_OPTION (pfile, warn_variadic_macros)) && CPP_OPTION (pfile, warn_variadic_macros))
cpp_pedwarning cpp_pedwarning
(pfile, CPP_W_VARIADIC_MACROS, (pfile, CPP_W_VARIADIC_MACROS,
"anonymous variadic macros were introduced in C99"); "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_OPTION (pfile, warn_variadic_macros))
cpp_pedwarning (pfile, CPP_W_VARIADIC_MACROS, cpp_pedwarning (pfile, CPP_W_VARIADIC_MACROS,
"ISO C does not permit named variadic macros"); "ISO C does not permit named variadic macros");