aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-07-09 11:13:11 +0200
committerRichard Biener <rguenther@suse.de>2021-07-15 07:56:08 +0200
commit4f3b383cf8825197e714a4a21852eca071f8e67e (patch)
treeaf78d0553db46b6edaf966ed0dfc69b691de8633 /gcc/gcc.c
parentef3bb641e912acb59e689ffbfcb56c7bf0195fd6 (diff)
downloadgcc-4f3b383cf8825197e714a4a21852eca071f8e67e.zip
gcc-4f3b383cf8825197e714a4a21852eca071f8e67e.tar.gz
gcc-4f3b383cf8825197e714a4a21852eca071f8e67e.tar.bz2
driver/101383 - handle -gtoggle in driver
The driver amends assembler options with for example --gdwarf-5 when debugging is enabled but the check for that does not consider the effect of -gtoggle which is not handled in the common option machinery. The following alters debug_info_level according to -gtoggle mimicing what process_options later does in the compiler. This in particular avoids changing of the cc1-checksum with every bootstrap (debug) cycle as we compute that from stage2 where we use -g -gtoggle but with --gdwarf-5 and no debug info from the compiler the assembler will fill the line table with the temporary assembler file names. 2021-07-09 Richard Biener <rguenther@suse.de> PR driver/101383 * gcc.c (process_command): Process -gtoggle like process_options would after parsing options.
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r--gcc/gcc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 12b3440..3e98bc7 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -4927,6 +4927,16 @@ process_command (unsigned int decoded_options_count,
#endif
}
+ /* Handle -gtoggle as it would later in toplev.c:process_options to
+ make the debug-level-gt spec function work as expected. */
+ if (flag_gtoggle)
+ {
+ if (debug_info_level == DINFO_LEVEL_NONE)
+ debug_info_level = DINFO_LEVEL_NORMAL;
+ else
+ debug_info_level = DINFO_LEVEL_NONE;
+ }
+
if (output_file
&& strcmp (output_file, "-") != 0
&& strcmp (output_file, HOST_BIT_BUCKET) != 0)