>> set_debug_level should not use global state; this needs to check >> opts->x_debug_info_level (not the global debug_info_level) and set >> opts->x_generate_debug_line_table. > > Oops, missed that. Thanks!
I've uploaded the revised patch to http://codereview.appspot.com/4440072 -- should I also post it here? Here's the incremental diff... -cary diff --git a/gcc/opts.c b/gcc/opts.c index 72f4d51..ee8c2b0 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -1872,7 +1872,8 @@ set_debug_level (enum debug_info_type type, int extended, const char *arg, opts->x_debug_info_level = (enum debug_info_levels) argval; } - generate_debug_line_table = debug_info_level >= DINFO_LEVEL_NORMAL; + opts->x_generate_debug_line_table = (opts->x_debug_info_level + >= DINFO_LEVEL_NORMAL); } /* Arrange to dump core on error for diagnostic context DC. (The