This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix unsafe function attributes for special functions (PR 71876)


On 07/22/16 14:49, Bernd Edlinger wrote:
>
> Hmm, cough...
>
> Boot-strap and reg-test was OK, but...
>
> I just noticed that the new built-ins do not quite work as expected.
>
> First with C++ there is no warning in this example although the
> parameters are different:
>
> cat test2.C
> extern "C"
> void savectx   () __attribute__((nothrow));
>
> int test () throw()
> {
>    savectx ();
>    return 0;
> }
>
>
> and what I do not understand at all in the moment, is:
> although both the builtin and the explict header say
> "nothrow" there is still eh code emitted that was not
> there before.
>

I have enterd this in bugzilla here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71973

Before that is solved, new built-in functions will not help
too much, that's clear now.

> So I would like to split that patch again, in the
> cleanup of special_function_p and drop the new built-ins
> in the moment, until I understand what went wrong there.
> The built-in were just meant to bring up warnings, and
> are therefore less important.
>
>
> Sorry for all the iterations this took already :(
>
> So here is the next version of the patch that I am gonna try.
>
>
> Is it OK for trunk?
>
>
> Thanks
> Bernd.


Richard, this was the latest version of the patch:
https://gcc.gnu.org/ml/gcc-patches/2016-07/msg01481.html


Are you OK with my clean-up of the presumably dead function names,
or would you like to keep the quirks in special_function_p for now
and just remove ECF_NORETURN and ECF_LEAF?


Note, that I still consider it incorrect, that special_function_p
cannot distinguish between C and C++ bindings though.


Thanks
Bernd.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]