From fc1a001921c9c37b4d4dcaf180998aefb4037b8e Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Thu, 24 Oct 2024 11:47:30 -0400
Subject: [PATCH] Add comment about pp_format to
 diagnostic_context::report_diagnostic

No functional change intended.

gcc/ChangeLog:
	* diagnostic.cc (diagnostic_context::report_diagnostic): Add
	comment about interaction of this code with pretty-print
	formatting phaes.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
---
 gcc/diagnostic.cc | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index f1cfb3a16867..712300896573 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -1341,7 +1341,14 @@ diagnostic_context::report_diagnostic (diagnostic_info *diagnostic)
     m_output_format->on_begin_group ();
   m_diagnostic_groups.m_emission_count++;
 
+  /* Run phases 1 and 2 of formatting the message.
+     In particular, some format codes may have side-effects here which need to
+     happen before sending the diagnostic to the output format.
+
+     For example, Fortran's %C and %L formatting codes populate the
+     rich_location.  */
   pp_format (m_printer, &diagnostic->message);
+
   /* Call vfunc in the output format.  This is responsible for
      phase 3 of formatting, and for printing the result.  */
   m_output_format->on_report_diagnostic (*diagnostic, orig_diag_kind);
-- 
GitLab