From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 8B50F3858C39 for ; Fri, 10 Sep 2021 12:12:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8B50F3858C39 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 4D5BE21C97 for ; Fri, 10 Sep 2021 12:12:09 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2BBC213D38 for ; Fri, 10 Sep 2021 12:12:09 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id SDkBCZlLO2H3RAAAMHmgww (envelope-from ) for ; Fri, 10 Sep 2021 12:12:09 +0000 Date: Fri, 10 Sep 2021 14:12:08 +0200 (CEST) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH] Always default to DWARF2_DEBUG if not specified, warn about deprecated STABS Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2021 12:12:13 -0000 This makes defaults.h choose DWARF2_DEBUG if PREFERRED_DEBUGGING_TYPE is not specified by the target and NO_DEBUG if DWARF is not supported. It also makes us warn when STABS is enabled and removes the corresponding diagnostic from the Ada frontend. The warnings are pruned from the testsuite output via prune_gcc_output but somehow this doesn't work for the tests in gfortran.dg/debug which are now failing with excess errors. That seems to be the case for other fortran .exp as well when appending -gstabs, something which works fine for gcc or g++ dgs. Bootstrapped / tested on x86_64-unknown-linux-gnu with the mentioned excess errors from all gfortran.dg/debug/ I need to still edit doc/invoke.texi somehow but I wonder if somebody has insights into the testsuite pruning issue. Richard. 2021-09-10 Richard Biener gcc/ * defaults.h (PREFERRED_DEBUGGING_TYPE): Choose DWARF2_DEBUG or NO_DEBUG. * toplev.c (process_options): Warn when STABS debugging is enabled. gcc/ada/ * gcc-interface/misc.c (gnat_post_options): Do not warn about DBX_DEBUG use here. gcc/testsuite/ * lib/prune.exp: Prune STABS obsoletion message. --- gcc/ada/gcc-interface/misc.c | 6 ------ gcc/defaults.h | 27 ++++----------------------- gcc/testsuite/lib/prune.exp | 3 +++ gcc/toplev.c | 5 +++++ 4 files changed, 12 insertions(+), 29 deletions(-) diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 96199bd4b63..87a4c8662cb 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -274,12 +274,6 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED) if (!global_options_set.x_flag_diagnostics_show_caret) global_dc->show_caret = false; - /* Warn only if STABS is not the default: we don't want to emit a warning if - the user did not use a -gstabs option. */ - if (PREFERRED_DEBUGGING_TYPE != DBX_DEBUG && write_symbols == DBX_DEBUG) - warning (0, "STABS debugging information for Ada is obsolete and not " - "supported anymore"); - /* Copy global settings to local versions. */ gnat_encodings = global_options.x_gnat_encodings; optimize = global_options.x_optimize; diff --git a/gcc/defaults.h b/gcc/defaults.h index ba79a8e48ed..773b93b1a2e 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -900,34 +900,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define DEFAULT_GDB_EXTENSIONS 1 #endif -/* If more than one debugging type is supported, you must define - PREFERRED_DEBUGGING_TYPE to choose the default. */ - -#if 1 < (defined (DBX_DEBUGGING_INFO) \ - + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO) \ - + defined (VMS_DEBUGGING_INFO)) #ifndef PREFERRED_DEBUGGING_TYPE -#error You must define PREFERRED_DEBUGGING_TYPE -#endif /* no PREFERRED_DEBUGGING_TYPE */ - -/* If only one debugging format is supported, define PREFERRED_DEBUGGING_TYPE - here so other code needn't care. */ -#elif defined DBX_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - -#elif defined DWARF2_DEBUGGING_INFO || defined DWARF2_LINENO_DEBUGGING_INFO +/* We default to DWARF2_DEBUGGING_INFO. */ +#if defined DWARF2_DEBUGGING_INFO || defined DWARF2_LINENO_DEBUGGING_INFO #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG - -#elif defined VMS_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG - -#elif defined XCOFF_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG - #else -/* No debugging format is supported by this target. */ +/* DWARF is not supported by this target. */ #define PREFERRED_DEBUGGING_TYPE NO_DEBUG #endif +#endif #ifndef FLOAT_LIB_COMPARE_RETURNS_BOOL #define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) false diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp index 91f165bec38..62fcd3731cc 100644 --- a/gcc/testsuite/lib/prune.exp +++ b/gcc/testsuite/lib/prune.exp @@ -90,6 +90,9 @@ proc prune_gcc_output { text } { # Ignore dsymutil warning (tool bug is actually linker) regsub -all "(^|\n)\[^\n\]*could not find object file symbol for symbol\[^\n\]*" $text "" text + # Ignore stabs obsoletion warnings + regsub -all "(^|\n)\[^\n\]*warning: STABS debugging information is obsolete and not supported anymore\[^\n\]*" $text "" text + # If dg-enable-nn-line-numbers was provided, then obscure source-margin # line numbers by converting them to "NN" form. set text [maybe-handle-nn-line-numbers $text] diff --git a/gcc/toplev.c b/gcc/toplev.c index 14d1335e79e..2b58fd373bf 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1452,6 +1452,11 @@ process_options (void) && ctf_debug_info_level == CTFINFO_LEVEL_NONE) write_symbols = NO_DEBUG; + /* Warn if STABS debug gets enabled. */ + if (write_symbols & DBX_DEBUG) + warning (0, "STABS debugging information is obsolete and not " + "supported anymore"); + if (write_symbols == NO_DEBUG) ; #if defined(DBX_DEBUGGING_INFO) -- 2.31.1