From: Cary Coutant Date: Wed, 14 May 2014 21:48:47 +0000 (+0000) Subject: Change -g so that it will override -g1 but not -g3. X-Git-Tag: releases/gcc-5.1.0~7577 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bc91b0e0869c090d093ade248feaae54ca45550d;p=thirdparty%2Fgcc.git Change -g so that it will override -g1 but not -g3. gcc/ PR debug/61013 * opts.c (common_handle_option): Don't special-case "-g". (set_debug_level): Default to at least level 2 with "-g". From-SVN: r210442 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 228f0e96ba7b..85a8cd4a379b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-05-14 Cary Coutant + + PR debug/61013 + * opts.c (common_handle_option): Don't special-case "-g". + (set_debug_level): Default to at least level 2 with "-g". + 2014-05-14 DJ Delorie * config/msp430/msp430.c (msp430_builtin): Add diff --git a/gcc/opts.c b/gcc/opts.c index 269cd93ea691..5f4b2e390dd8 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -1814,13 +1814,8 @@ common_handle_option (struct gcc_options *opts, break; case OPT_g: - /* -g by itself should force -g2. */ - if (*arg == '\0') - set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, "2", opts, opts_set, - loc); - else - set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, arg, opts, opts_set, - loc); + set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, arg, opts, opts_set, + loc); break; case OPT_gcoff: @@ -2070,10 +2065,12 @@ set_debug_level (enum debug_info_type type, int extended, const char *arg, opts_set->x_write_symbols = type; } - /* A debug flag without a level defaults to level 2. */ + /* A debug flag without a level defaults to level 2. + If off or at level 1, set it to level 2, but if already + at level 3, don't lower it. */ if (*arg == '\0') { - if (!opts->x_debug_info_level) + if (opts->x_debug_info_level < DINFO_LEVEL_NORMAL) opts->x_debug_info_level = DINFO_LEVEL_NORMAL; } else