https://gcc.gnu.org/g:3b72464ba5e4597d2d559bcdbf150637adeb00b0
commit r15-7713-g3b72464ba5e4597d2d559bcdbf150637adeb00b0 Author: Jakub Jelinek <ja...@redhat.com> Date: Wed Feb 26 10:50:51 2025 +0100 simple-diagnostic-path: Inline two trivial methods [PR116143] Various plugin tests fail with --enable-checking=release, because the num_events and num_threads methods of simple_diagnostic_path are only used inside of #if CHECKING_P code inside of GCC proper and then tested inside of some plugin tests. So, with --enable-checking=yes they are compiled into cc1/cc1plus etc. binaries and plugins can call those, but with --enable-checking=release they are optimized away (at least for LTO builds). As they are trivial, the following patch just defines them inline, so that the plugin tests get their definitions directly and don't have to rely on cc1/cc1plus etc. exporting those. 2025-02-26 Jakub Jelinek <ja...@redhat.com> PR testsuite/116143 * simple-diagnostic-path.h (simple_diagnostic_path::num_events): Define inline. (simple_diagnostic_path::num_threads): Likewise. * simple-diagnostic-path.cc (simple_diagnostic_path::num_events): Remove out of line definition. (simple_diagnostic_path::num_threads): Likewise. Diff: --- gcc/simple-diagnostic-path.cc | 15 --------------- gcc/simple-diagnostic-path.h | 4 ++-- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/gcc/simple-diagnostic-path.cc b/gcc/simple-diagnostic-path.cc index b7fb74fd5605..5af69b60fcef 100644 --- a/gcc/simple-diagnostic-path.cc +++ b/gcc/simple-diagnostic-path.cc @@ -41,15 +41,6 @@ simple_diagnostic_path::simple_diagnostic_path (pretty_printer *event_pp) add_thread ("main"); } -/* Implementation of diagnostic_path::num_events vfunc for - simple_diagnostic_path: simply get the number of events in the vec. */ - -unsigned -simple_diagnostic_path::num_events () const -{ - return m_events.length (); -} - /* Implementation of diagnostic_path::get_event vfunc for simple_diagnostic_path: simply return the event in the vec. */ @@ -59,12 +50,6 @@ simple_diagnostic_path::get_event (int idx) const return *m_events[idx]; } -unsigned -simple_diagnostic_path::num_threads () const -{ - return m_threads.length (); -} - const diagnostic_thread & simple_diagnostic_path::get_thread (diagnostic_thread_id_t idx) const { diff --git a/gcc/simple-diagnostic-path.h b/gcc/simple-diagnostic-path.h index 9988b1c24eba..e9a97f2d3bb5 100644 --- a/gcc/simple-diagnostic-path.h +++ b/gcc/simple-diagnostic-path.h @@ -100,9 +100,9 @@ class simple_diagnostic_path : public diagnostic_path public: simple_diagnostic_path (pretty_printer *event_pp); - unsigned num_events () const final override; + unsigned num_events () const final override { return m_events.length (); } const diagnostic_event & get_event (int idx) const final override; - unsigned num_threads () const final override; + unsigned num_threads () const final override { return m_threads.length (); } const diagnostic_thread & get_thread (diagnostic_thread_id_t) const final override; bool