From bc91b0e0869c090d093ade248feaae54ca45550d Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Wed, 14 May 2014 21:48:47 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/opts.c | 15 ++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 228f0e9..85a8cd4 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 269cd93..5f4b2e3 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 -- 2.7.4