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>
* 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>
PR ada/46574

View File

@ -221,8 +221,12 @@ gnat_init_options (unsigned int decoded_options_count,
of the global_options structure. */
#undef optimize
#undef optimize_size
#undef flag_compare_debug
#undef flag_stack_check
int optimize;
int optimize_size;
int flag_compare_debug;
enum stack_check_type flag_stack_check = NO_STACK_CHECK;
/* Post-switch processing. */
@ -252,6 +256,8 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED)
optimize = global_options.x_optimize;
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;
}

View File

@ -129,6 +129,10 @@ unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
Variable
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
; the generated assembly code (to make it more readable). This option
; 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-second
Common Driver RejectNegative
Common Driver RejectNegative Var(flag_compare_debug)
Run only the second compilation of -fcompare-debug
fconserve-stack

View File

@ -34,11 +34,6 @@ extern const char *const debug_type_names[];
extern void strip_off_ending (char *, int);
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
gimple generation and lowering passes that are normally run on the
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. */
extern int dump_for_graph;
extern enum stack_check_type flag_stack_check;
/* Returns TRUE if generated code should match ABI version N or
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 "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
and set the flag variables. */
@ -1447,10 +1442,6 @@ common_handle_option (struct gcc_options *opts,
/* Deferred. */
break;
case OPT_fcompare_debug_second:
flag_compare_debug = value;
break;
case OPT_fdbg_cnt_:
case OPT_fdbg_cnt_list:
/* Deferred. */
@ -1602,15 +1593,15 @@ common_handle_option (struct gcc_options *opts,
case OPT_fstack_check_:
if (!strcmp (arg, "no"))
flag_stack_check = NO_STACK_CHECK;
opts->x_flag_stack_check = NO_STACK_CHECK;
else if (!strcmp (arg, "generic"))
/* 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
: GENERIC_STACK_CHECK;
else if (!strcmp (arg, "specific"))
/* 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
: STACK_CHECK_STATIC_BUILTIN
? STATIC_BUILTIN_STACK_CHECK

View File

@ -170,9 +170,6 @@ int flag_permissive = 0;
the support provided depends on the backend. */
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'
attribute. */