aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorCaroline Tice <ctice@apple.com>2007-07-13 23:11:15 +0000
committerCaroline Tice <ctice@gcc.gnu.org>2007-07-13 16:11:15 -0700
commit62760ffd155d4ff29cf8f3092d756016a953b99e (patch)
treeb87516d5c9ea7c2c70b26f837f1dada3f4c4d0f0 /gcc/toplev.c
parentf861f54dd7ac84b6266d7bed21f5e79885cc5003 (diff)
downloadgcc-62760ffd155d4ff29cf8f3092d756016a953b99e.zip
gcc-62760ffd155d4ff29cf8f3092d756016a953b99e.tar.gz
gcc-62760ffd155d4ff29cf8f3092d756016a953b99e.tar.bz2
Add ability to track uninitialized variables, and mark uninitialized variables in the Dwarf debug info.
Add ability to track uninitialized variables, and mark uninitialized variables in the Dwarf debug info. Controlled by compile option -fvar-tracking-uninit From-SVN: r126630
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index ff0d8a3..de86b38 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1874,7 +1874,8 @@ process_options (void)
if (debug_info_level < DINFO_LEVEL_NORMAL
|| debug_hooks->var_location == do_nothing_debug_hooks.var_location)
{
- if (flag_var_tracking == 1)
+ if (flag_var_tracking == 1
+ || flag_var_tracking_uninit == 1)
{
if (debug_info_level < DINFO_LEVEL_NORMAL)
warning (0, "variable tracking requested, but useless unless "
@@ -1884,6 +1885,7 @@ process_options (void)
"by this debug format");
}
flag_var_tracking = 0;
+ flag_var_tracking_uninit = 0;
}
if (flag_rename_registers == AUTODETECT_VALUE)
@@ -1893,6 +1895,12 @@ process_options (void)
if (flag_var_tracking == AUTODETECT_VALUE)
flag_var_tracking = optimize >= 1;
+ /* 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)
+ flag_var_tracking = 1;
+
/* If auxiliary info generation is desired, open the output file.
This goes in the same directory as the source file--unlike
all the other output files. */