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.
This commit is contained in:
Lewis Hyatt 2024-10-28 12:55:24 -04:00 committed by Lewis Hyatt
parent 9262b6e4e5
commit cd86dd5f43
No known key found for this signature in database
2 changed files with 5 additions and 4 deletions

View File

@ -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). */

View File

@ -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 ();