common.opt (flag_stack_check): New Variable entry.

* common.opt (flag_stack_check): New Variable entry.
	(fcompare-debug-second): Use Var.
	* flags.h (flag_compare_debug, flag_stack_check): Remove.
	* opts.c (flag_compare_debug): Remove.
	(common_handle_option): Don't handle OPT_fcompare_debug_second.
	Set opts->x_flag_stack_check for OPT_fstack_check_.
	* toplev.c (flag_stack_check): Remove.

ada:
	* gcc-interface/misc.c (flag_compare_debug, flag_stack_check):
	Undefine as macros then define as variables.
	(gnat_post_options): Set variables from global_options.

From-SVN: r167331
This commit is contained in:
Joseph Myers 2010-12-01 13:58:52 +00:00 committed by Joseph Myers
parent e1208a5799
commit 5e471ea65b
7 changed files with 30 additions and 23 deletions

View File

@ -1,3 +1,13 @@
2010-12-01 Joseph Myers <joseph@codesourcery.com>
* common.opt (flag_stack_check): New Variable entry.
(fcompare-debug-second): Use Var.
* flags.h (flag_compare_debug, flag_stack_check): Remove.
* opts.c (flag_compare_debug): Remove.
(common_handle_option): Don't handle OPT_fcompare_debug_second.
Set opts->x_flag_stack_check for OPT_fstack_check_.
* toplev.c (flag_stack_check): Remove.
2010-12-01 Joseph Myers <joseph@codesourcery.com> 2010-12-01 Joseph Myers <joseph@codesourcery.com>
* common.opt (main_input_filename, main_input_basename, * common.opt (main_input_filename, main_input_basename,

View File

@ -1,3 +1,9 @@
2010-12-01 Joseph Myers <joseph@codesourcery.com>
* gcc-interface/misc.c (flag_compare_debug, flag_stack_check):
Undefine as macros then define as variables.
(gnat_post_options): Set variables from global_options.
2010-11-27 Eric Botcazou <ebotcazou@adacore.com> 2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
PR ada/46574 PR ada/46574

View File

@ -221,8 +221,12 @@ gnat_init_options (unsigned int decoded_options_count,
of the global_options structure. */ of the global_options structure. */
#undef optimize #undef optimize
#undef optimize_size #undef optimize_size
#undef flag_compare_debug
#undef flag_stack_check
int optimize; int optimize;
int optimize_size; int optimize_size;
int flag_compare_debug;
enum stack_check_type flag_stack_check = NO_STACK_CHECK;
/* Post-switch processing. */ /* Post-switch processing. */
@ -252,6 +256,8 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED)
optimize = global_options.x_optimize; optimize = global_options.x_optimize;
optimize_size = global_options.x_optimize_size; optimize_size = global_options.x_optimize_size;
flag_compare_debug = global_options.x_flag_compare_debug;
flag_stack_check = global_options.x_flag_stack_check;
return false; return false;
} }

View File

@ -129,6 +129,10 @@ unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
Variable Variable
enum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL enum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL
; Type of stack check.
Variable
enum stack_check_type flag_stack_check = NO_STACK_CHECK
; -dA causes debug commentary information to be produced in ; -dA causes debug commentary information to be produced in
; the generated assembly code (to make it more readable). This option ; the generated assembly code (to make it more readable). This option
; is generally only of use to those who actually need to read the ; is generally only of use to those who actually need to read the
@ -831,7 +835,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 Common Driver RejectNegative Var(flag_compare_debug)
Run only the second compilation of -fcompare-debug Run only the second compilation of -fcompare-debug
fconserve-stack fconserve-stack

View File

@ -34,11 +34,6 @@ extern const char *const debug_type_names[];
extern void strip_off_ending (char *, int); extern void strip_off_ending (char *, int);
extern int base_of_path (const char *path, const char **base_out); extern int base_of_path (const char *path, const char **base_out);
/* 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;
/* True if this is the LTO front end (lto1). This is used to disable /* True if this is the LTO front end (lto1). This is used to disable
gimple generation and lowering passes that are normally run on the gimple generation and lowering passes that are normally run on the
output of a front end. These passes must be bypassed for lto since output of a front end. These passes must be bypassed for lto since
@ -120,8 +115,6 @@ extern struct target_flag_state *this_target_flag_state;
/* Nonzero if we dump in VCG format, not plain text. */ /* Nonzero if we dump in VCG format, not plain text. */
extern int dump_for_graph; extern int dump_for_graph;
extern enum stack_check_type flag_stack_check;
/* Returns TRUE if generated code should match ABI version N or /* Returns TRUE if generated code should match ABI version N or
greater is in use. */ greater is in use. */

View File

@ -35,11 +35,6 @@ along with GCC; see the file COPYING3. If not see
#include "insn-attr.h" /* For INSN_SCHEDULING and DELAY_SLOTS. */ #include "insn-attr.h" /* For INSN_SCHEDULING and DELAY_SLOTS. */
#include "target.h" #include "target.h"
/* 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. */
@ -1447,10 +1442,6 @@ common_handle_option (struct gcc_options *opts,
/* Deferred. */ /* Deferred. */
break; break;
case OPT_fcompare_debug_second:
flag_compare_debug = value;
break;
case OPT_fdbg_cnt_: case OPT_fdbg_cnt_:
case OPT_fdbg_cnt_list: case OPT_fdbg_cnt_list:
/* Deferred. */ /* Deferred. */
@ -1602,15 +1593,15 @@ common_handle_option (struct gcc_options *opts,
case OPT_fstack_check_: case OPT_fstack_check_:
if (!strcmp (arg, "no")) if (!strcmp (arg, "no"))
flag_stack_check = NO_STACK_CHECK; opts->x_flag_stack_check = NO_STACK_CHECK;
else if (!strcmp (arg, "generic")) else if (!strcmp (arg, "generic"))
/* This is the old stack checking method. */ /* This is the old stack checking method. */
flag_stack_check = STACK_CHECK_BUILTIN opts->x_flag_stack_check = STACK_CHECK_BUILTIN
? FULL_BUILTIN_STACK_CHECK ? FULL_BUILTIN_STACK_CHECK
: GENERIC_STACK_CHECK; : GENERIC_STACK_CHECK;
else if (!strcmp (arg, "specific")) else if (!strcmp (arg, "specific"))
/* This is the new stack checking method. */ /* This is the new stack checking method. */
flag_stack_check = STACK_CHECK_BUILTIN opts->x_flag_stack_check = STACK_CHECK_BUILTIN
? FULL_BUILTIN_STACK_CHECK ? FULL_BUILTIN_STACK_CHECK
: STACK_CHECK_STATIC_BUILTIN : STACK_CHECK_STATIC_BUILTIN
? STATIC_BUILTIN_STACK_CHECK ? STATIC_BUILTIN_STACK_CHECK

View File

@ -170,9 +170,6 @@ int flag_permissive = 0;
the support provided depends on the backend. */ the support provided depends on the backend. */
rtx stack_limit_rtx; rtx stack_limit_rtx;
/* Type of stack check. */
enum stack_check_type flag_stack_check = NO_STACK_CHECK;
/* True if the user has tagged the function with the 'section' /* True if the user has tagged the function with the 'section'
attribute. */ attribute. */