On Sun, Nov 17, 2024 at 4:28 AM Lewis Hyatt <lhy...@gmail.com> wrote: > > 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.
OK. > 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 ();