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.

Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r15-6115-g331226fd87c201.

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 <dmalc...@redhat.com>
---
 gcc/diagnostic-format-text.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/diagnostic-format-text.cc b/gcc/diagnostic-format-text.cc
index 3650da9a927e..e8074aa05dac 100644
--- a/gcc/diagnostic-format-text.cc
+++ b/gcc/diagnostic-format-text.cc
@@ -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);
-- 
2.26.3

Reply via email to