This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR64078
- From: Marek Polacek <polacek at redhat dot com>
- To: Bernd Edlinger <bernd dot edlinger at hotmail dot de>
- Cc: Jeff Law <law at redhat dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jakub Jelinek <jakub at redhat dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>
- Date: Thu, 17 Sep 2015 20:08:38 +0200
- Subject: Re: [PATCH] Fix PR64078
- Authentication-results: sourceware.org; auth=none
- References: <DUB118-W242786F48D078983D0B3DAE4550 at phx dot gbl> <20150907100700 dot GC30849 at redhat dot com> <DUB118-W39447996258C266A1D63AFE4540 at phx dot gbl> <55EF3690 dot 8030201 at redhat dot com> <DUB118-W441CDEC82B86B82325CA23E4520 at phx dot gbl> <55F050D5 dot 3020408 at redhat dot com> <DUB118-W29D540E8FAA34840CA988CE4520 at phx dot gbl> <20150917150026 dot GC27588 at redhat dot com> <55FAECA8 dot 3070909 at redhat dot com> <DUB118-W4175AF780B5B3FD98AA47E45A0 at phx dot gbl>
On Thu, Sep 17, 2015 at 08:06:48PM +0200, Bernd Edlinger wrote:
> Hi,
>
> On Thu, 17 Sep 2015 10:39:04, Jeff Law wrote:
> >
> > On 09/17/2015 09:00 AM, Marek Polacek wrote:
> >> On Wed, Sep 09, 2015 at 07:48:15PM +0200, Bernd Edlinger wrote:
> >>> Hi,
> >>>
> >>> On Wed, 9 Sep 2015 09:31:33, Jeff Law wrote:
> >>>> You could probably make the function static or change its visibility via
> >>>> a function attribute (there's a visibility attribute which can take the
> >>>> values default, hidden protected or internal). Default visibility
> >>>> essentially means the function can be overridden. I think changing it
> >>>> to "protected" might work. Note if we do that, we may need some kind of
> >>>> target selector on the test since not all targets support the various
> >>>> visibility attributes.
> >>>>
> >>>
> >>> Yes, it works both ways: static works, and __attribute__ ((visibility ("protected"))) works too:
> >>>
> >>> make check-gcc-c++ RUNTESTFLAGS="ubsan.exp=object-size-9.c --target_board='unix{-fpic,-mcmodel=medium,-fpic\ -mcmodel=medium,-mcmodel=large,-fpic\ -mcmodel=large}'"
> >>>
> >>> has all tests passed, but..
> >>>
> >>> make check-gcc-c++ RUNTESTFLAGS="ubsan.exp=object-size-9.c
> >>> --target_board='unix{-fno-inline}'"
> >>>
> >>> still fails in the same way for all workarounds: inline, static, and __attribute__ ((visibility ("protected"))).
> >>>
> >>> Maybe "static" would be preferable?
> >>
> >> Yeah, I'd go with static if that helps. I'd rather avoid playing games
> >> with visibility.
> > Static is certainly easier and doesn't rely on targets implementing all
> > the visibility capabilities. So static is probably the best approach.
> >
>
> That's fine for me too, so is the original patch OK for trunk with s/inline/static/ ?
Yes.
Marek