]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
diagnostics: tweak output for nested messages [PR116253]
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 11 Dec 2024 15:21:35 +0000 (10:21 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 11 Dec 2024 15:21:35 +0000 (10:21 -0500)
When printing nested messages with
-fdiagnostics-set-output=text:experimental-nesting=yes
avoid printing a line such as the "cc1plus:" in the following:
        • note: set ‘-fconcepts-diagnostics-depth=’ to at least 2 for more detail
          cc1plus:
for "special" locations such as UNKNOWN_LOCATION.

gcc/ChangeLog:
PR other/116253
* diagnostic-format-text.cc (on_report_diagnostic): When showing
locations for nested messages on new lines, don't print
UNKNOWN_LOCATION or BUILTINS_LOCATION.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/diagnostic-format-text.cc

index d85c880834859430bfd3eece68551c8f13b9a54d..2f26582fa2bebfc6de3ba71e1476986fa17187ee 100644 (file)
@@ -226,11 +226,12 @@ on_report_diagnostic (const diagnostic_info &diagnostic,
       const int nesting_level = get_context ().get_diagnostic_nesting_level ();
       if (nesting_level > 0)
        {
+         location_t loc = diagnostic_location (&diagnostic);
          pp_set_prefix (pp, nullptr);
          char *indent_prefix = build_indent_prefix (false);
          /* Only print changes of location.  */
-         if (diagnostic_location (&diagnostic)
-             != get_context ().m_last_location)
+         if (loc != get_context ().m_last_location
+             && loc > BUILTINS_LOCATION)
            {
              const expanded_location s
                = diagnostic_expand_location (&diagnostic);