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 --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 d607679beec..9626e358cb3 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 ();