diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index d0735708670..2caa83ff8cf 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 (!OPTION_SET_P (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/config/pa/som.h b/gcc/config/pa/som.h index 05cc315b9f9..36a1122b132 100644 --- a/gcc/config/pa/som.h +++ b/gcc/config/pa/som.h @@ -21,6 +21,10 @@ along with GCC; see the file COPYING3. If not see #undef TARGET_SOM #define TARGET_SOM 1 +/* With SOM we can only do STABS. */ +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + /* We do not use BINCL stabs in SOM. ??? If it does not hurt, we probably should to avoid useless divergence from other embedded stabs implementations. */ diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h index 9bc5e089f49..91a8ce70751 100644 --- a/gcc/config/pdp11/pdp11.h +++ b/gcc/config/pdp11/pdp11.h @@ -54,6 +54,9 @@ along with GCC; see the file COPYING3. If not see #define DBX_DEBUGGING_INFO +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + #define TARGET_40_PLUS (TARGET_40 || TARGET_45) #define TARGET_10 (! TARGET_40_PLUS) diff --git a/gcc/defaults.h b/gcc/defaults.h index 04d9bb12329..bb68d0d1a79 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -899,33 +899,14 @@ 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)) +/* Default to DWARF2_DEBUGGING_INFO. Legacy targets can choose different + by defining PREFERRED_DEBUGGING_TYPE. */ #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 +#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. */ -#define PREFERRED_DEBUGGING_TYPE NO_DEBUG +#error You must define PREFERRED_DEBUGGING_TYPE if DWARF is not supported +#endif #endif #ifndef FLOAT_LIB_COMPARE_RETURNS_BOOL diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp index fac212ecf60..131424861d5 100644 --- a/gcc/testsuite/lib/prune.exp +++ b/gcc/testsuite/lib/prune.exp @@ -93,6 +93,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\]*\[Ww\]arning: 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 4f574a5aad3..cb4f8c470f0 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1435,6 +1435,11 @@ process_options (bool no_backend) && ctf_debug_info_level == CTFINFO_LEVEL_NONE) write_symbols = NO_DEBUG; + /* Warn if STABS debug gets enabled and is not the default. */ + if (PREFERRED_DEBUGGING_TYPE != DBX_DEBUG && (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)