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
>

Reply via email to