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

commit r15-5615-gcd86dd5f43f7b9ea688a404840ef9d5e0f5e4cf0
Author: Lewis Hyatt <lhy...@gmail.com>
Date:   Mon Oct 28 12:55:24 2024 -0400

    Support for 64-bit location_t: Analyzer parts
    
    The analyzer occasionally prints internal location_t values for debugging;
    adjust those parts so they will work if location_t is 64-bit. For
    simplicity, to avoid hassling with the printf format string, just convert to
    (unsigned long long) in either case.
    
    gcc/analyzer/ChangeLog:
    
            * checker-event.cc (checker_event::dump): Support printing either
            32- or 64-bit location_t values.
            * checker-path.cc (checker_path::inject_any_inlined_call_events):
            Likewise.

Diff:
---
 gcc/analyzer/checker-event.cc | 4 ++--
 gcc/analyzer/checker-path.cc  | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/gcc/analyzer/checker-event.cc b/gcc/analyzer/checker-event.cc
index a7098ae19a13..0ba2a2477382 100644
--- a/gcc/analyzer/checker-event.cc
+++ b/gcc/analyzer/checker-event.cc
@@ -187,8 +187,8 @@ checker_event::dump (pretty_printer *pp) const
       if (m_effective_fndecl != m_original_fndecl)
        pp_printf (pp, " corrected from %qE", m_original_fndecl);
     }
-  pp_printf (pp, ", m_loc=%x)",
-            get_location ());
+  pp_printf (pp, ", m_loc=%llx)",
+            (unsigned long long) get_location ());
 }
 
 /* Dump this event to stderr (for debugging/logging purposes).  */
diff --git a/gcc/analyzer/checker-path.cc b/gcc/analyzer/checker-path.cc
index fd3d6efae67e..649eb23ca17f 100644
--- a/gcc/analyzer/checker-path.cc
+++ b/gcc/analyzer/checker-path.cc
@@ -280,8 +280,9 @@ checker_path::inject_any_inlined_call_events (logger 
*logger)
              logger->log_partial ("  %qE", iter.get_block ());
              if (!flag_dump_noaddr)
                logger->log_partial (" (%p)", iter.get_block ());
-             logger->log_partial (", fndecl: %qE, callsite: 0x%x",
-                                  iter.get_fndecl (), iter.get_callsite ());
+             logger->log_partial (", fndecl: %qE, callsite: 0x%llx",
+                                  iter.get_fndecl (),
+                                  (unsigned long long) iter.get_callsite ());
              if (iter.get_callsite ())
                dump_location (logger->get_printer (), iter.get_callsite ());
              logger->end_log_line ();

Reply via email to