diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-12 22:59:37 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-12 22:59:37 +0000 |
commit | 3e1cce9389ffe074467f3364e1e5a032e3954127 (patch) | |
tree | d3ae766be91adbe5f135e31a725f3fee8fb91bb5 | |
parent | 4567b72a777e67838b7c5cff26761705d27dcf5c (diff) | |
download | gcc-3e1cce9389ffe074467f3364e1e5a032e3954127.tar.gz |
* common.opt (fvar-tracking-uninit): Document.
* toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
* config/darwin.c (darwin_override_options): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193456 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/common.opt | 4 | ||||
-rw-r--r-- | gcc/config/darwin.c | 4 | ||||
-rw-r--r-- | gcc/toplev.c | 5 |
4 files changed, 16 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dfea1b6c038..c1904afeeea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * common.opt (fvar-tracking-uninit): Document. + * toplev.c (process_options): Fix handling of flag_var_tracking_uninit. + * config/darwin.c (darwin_override_options): Likewise. + 2012-11-12 Steven Bosscher <steven@gcc.gnu.org> * sched-vis.c (print_pattern): Handle NULL patterns. diff --git a/gcc/common.opt b/gcc/common.opt index 6088d1a7fec..9ad7df98b51 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -2193,6 +2193,10 @@ fvar-tracking-assignments-toggle Common Report Var(flag_var_tracking_assignments_toggle) Optimization Toggle -fvar-tracking-assignments +; Positive if we should track uninitialized variables, negative if +; we should run the var-tracking pass only to discard debug +; annotations. When flag_var_tracking_uninit == AUTODETECT_VALUE it +; will be set according to flag_var_tracking. fvar-tracking-uninit Common Report Var(flag_var_tracking_uninit) Optimization Perform variable tracking and also tag variables that are uninitialized diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 5a9f50a9fdb..e56205b5113 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -3038,12 +3038,12 @@ darwin_override_options (void) darwin_emit_branch_islands = true; } - if (flag_var_tracking + if (flag_var_tracking_uninit == 0 && generating_for_darwin_version >= 9 && (flag_gtoggle ? (debug_info_level == DINFO_LEVEL_NONE) : (debug_info_level >= DINFO_LEVEL_NORMAL)) && write_symbols == DWARF2_DEBUG) - flag_var_tracking_uninit = 1; + flag_var_tracking_uninit = flag_var_tracking; if (MACHO_DYNAMIC_NO_PIC_P) { diff --git a/gcc/toplev.c b/gcc/toplev.c index 8911ca3e241..7c0cef58ae3 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1421,12 +1421,15 @@ process_options (void) /* If the user specifically requested variable tracking with tagging uninitialized variables, we need to turn on variable tracking. (We already determined above that variable tracking is feasible.) */ - if (flag_var_tracking_uninit) + if (flag_var_tracking_uninit == 1) flag_var_tracking = 1; if (flag_var_tracking == AUTODETECT_VALUE) flag_var_tracking = optimize >= 1; + if (flag_var_tracking_uninit == AUTODETECT_VALUE) + flag_var_tracking_uninit = flag_var_tracking; + if (flag_var_tracking_assignments == AUTODETECT_VALUE) flag_var_tracking_assignments = flag_var_tracking && !(flag_selective_scheduling || flag_selective_scheduling2); |