https://gcc.gnu.org/g:a242f69693d2fcac428cb82bf843882dee84fc81

commit r14-9359-ga242f69693d2fcac428cb82bf843882dee84fc81
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Mar 7 14:19:49 2024 +0100

    analyzer: Fix up some -Wformat* warnings
    
    I'm seeing warnings like
    ../../gcc/analyzer/access-diagram.cc: In member function ‘void 
ana::bit_size_expr::print(pretty_printer*) const’:
    ../../gcc/analyzer/access-diagram.cc:399:26: warning: unknown conversion 
type character ‘E’ in format [-Wformat=]
      399 |         pp_printf (pp, _("%qE bytes"), bytes_expr);
          |                          ^~~~~~~~~~~
    when building stage2/stage3 gcc.  While such warnings would be
    understandable when building stage1 because one could e.g. have some
    older host compiler which doesn't understand some of the format specifiers,
    the above seems to be because we have in pretty-print.h
     #ifdef GCC_DIAG_STYLE
     #define GCC_PPDIAG_STYLE GCC_DIAG_STYLE
     #else
     #define GCC_PPDIAG_STYLE __gcc_diag__
     #endif
    and use GCC_PPDIAG_STYLE e.g. for pp_printf, and while
    diagnostic-core.h has
     #ifndef GCC_DIAG_STYLE
     #define GCC_DIAG_STYLE __gcc_tdiag__
     #endif
    (and similarly various FE headers include their own GCC_DIAG_STYLE)
    when including pretty-print.h before diagnostic-core.h we end up
    with __gcc_diag__ style rather than __gcc_tdiag__ style, which I think
    is the right thing for the analyzer, because analyzer seems to use
    default_tree_printer everywhere:
    grep pp_format_decoder.*=.default_tree_printer analyzer/* | wc -l
    57
    
    The following patch fixes that by making sure diagnostic-core.h is included
    before pretty-print.h.
    
    2024-03-07  Jakub Jelinek  <ja...@redhat.com>
    
            * access-diagram.cc: Include diagnostic-core.h before including
            diagnostic.h or diagnostic-path.h.
            * sm-malloc.cc: Likewise.
            * diagnostic-manager.cc: Likewise.
            * call-summary.cc: Likewise.
            * record-layout.cc: Likewise.

Diff:
---
 gcc/analyzer/access-diagram.cc     | 1 +
 gcc/analyzer/call-summary.cc       | 1 +
 gcc/analyzer/diagnostic-manager.cc | 2 +-
 gcc/analyzer/record-layout.cc      | 1 +
 gcc/analyzer/sm-malloc.cc          | 1 +
 5 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/gcc/analyzer/access-diagram.cc b/gcc/analyzer/access-diagram.cc
index 24d203f9325..2836308c019 100644
--- a/gcc/analyzer/access-diagram.cc
+++ b/gcc/analyzer/access-diagram.cc
@@ -30,6 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "basic-block.h"
 #include "gimple.h"
+#include "diagnostic-core.h"
 #include "diagnostic.h"
 #include "intl.h"
 #include "make-unique.h"
diff --git a/gcc/analyzer/call-summary.cc b/gcc/analyzer/call-summary.cc
index 8b8567a1528..a569bb94cec 100644
--- a/gcc/analyzer/call-summary.cc
+++ b/gcc/analyzer/call-summary.cc
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tree.h"
 #include "tree-dfa.h"
+#include "diagnostic-core.h"
 #include "diagnostic.h"
 #include "tree-diagnostic.h"
 #include "analyzer/analyzer.h"
diff --git a/gcc/analyzer/diagnostic-manager.cc 
b/gcc/analyzer/diagnostic-manager.cc
index 246d052100f..08d92f9780e 100644
--- a/gcc/analyzer/diagnostic-manager.cc
+++ b/gcc/analyzer/diagnostic-manager.cc
@@ -24,11 +24,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tree.h"
 #include "input.h"
+#include "diagnostic-core.h"
 #include "pretty-print.h"
 #include "gcc-rich-location.h"
 #include "gimple-pretty-print.h"
 #include "function.h"
-#include "diagnostic-core.h"
 #include "diagnostic-event-id.h"
 #include "diagnostic-path.h"
 #include "bitmap.h"
diff --git a/gcc/analyzer/record-layout.cc b/gcc/analyzer/record-layout.cc
index 62951474bb7..567dfd9809a 100644
--- a/gcc/analyzer/record-layout.cc
+++ b/gcc/analyzer/record-layout.cc
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "basic-block.h"
 #include "gimple.h"
+#include "diagnostic-core.h"
 #include "diagnostic.h"
 #include "tree-diagnostic.h"
 #include "analyzer/analyzer.h"
diff --git a/gcc/analyzer/sm-malloc.cc b/gcc/analyzer/sm-malloc.cc
index 2e0cf8a6887..a518816b2b8 100644
--- a/gcc/analyzer/sm-malloc.cc
+++ b/gcc/analyzer/sm-malloc.cc
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple.h"
 #include "options.h"
 #include "bitmap.h"
+#include "diagnostic-core.h"
 #include "diagnostic-path.h"
 #include "analyzer/analyzer.h"
 #include "diagnostic-event-id.h"

Reply via email to