diff mbox series

[08/15] Support for 64-bit location_t: Analyzer parts

Message ID 20241103222220.933471-9-lhyatt@gmail.com
State New
Headers show
Series Support for 64-bit location_t | expand

Commit Message

Lewis Hyatt Nov. 3, 2024, 10:22 p.m. UTC
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.
---
 gcc/analyzer/checker-event.cc | 4 ++--
 gcc/analyzer/checker-path.cc  | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/gcc/analyzer/checker-event.cc b/gcc/analyzer/checker-event.cc
index 5a292377e93..bb26f71e4b4 100644
--- a/gcc/analyzer/checker-event.cc
+++ b/gcc/analyzer/checker-event.cc
@@ -188,8 +188,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 98b59884174..25d95fe0bfc 100644
--- a/gcc/analyzer/checker-path.cc
+++ b/gcc/analyzer/checker-path.cc
@@ -281,8 +281,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 ();