On Wed, Feb 26, 2025 at 10:27 AM Jakub Jelinek <ja...@redhat.com> wrote: > > Hi! > > 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. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
OK > 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. > > --- gcc/simple-diagnostic-path.h.jj 2025-01-02 11:23:37.876218670 +0100 > +++ gcc/simple-diagnostic-path.h 2025-02-05 15:29:32.882855368 +0100 > @@ -100,9 +100,9 @@ class simple_diagnostic_path : public di > 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 > --- gcc/simple-diagnostic-path.cc.jj 2025-01-02 11:23:19.409476476 +0100 > +++ gcc/simple-diagnostic-path.cc 2025-02-05 15:29:59.185492553 +0100 > @@ -41,15 +41,6 @@ simple_diagnostic_path::simple_diagnosti > 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 i > 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 > { > > Jakub >