[PATCH] D11948: Add some macros to abstract marking of parameters as "not null", and use them in <cstring>

Dan Albert via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 12 16:03:30 PDT 2015


My testing was varied. I could not get GCC or clang to optimize it away for
Linux, but both did for ARM Android.

Regardless, the fact that GCC is already doing this doesn't mean it's
desirable. We end up hunting and fixing bugs from this optimization this
every release, and our time could be better spent.

On Wed, Aug 12, 2015 at 3:42 PM, Marshall Clow via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

>
>
> On Tue, Aug 11, 2015 at 2:28 PM, Joerg Sonnenberger via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>> On Tue, Aug 11, 2015 at 02:06:58PM -0700, Marshall Clow via cfe-commits
>> wrote:
>> > On Tue, Aug 11, 2015 at 1:34 PM, Dan Albert <danalbert at google.com>
>> wrote:
>> >
>> > > Yeah, those sound like exactly what we want. Helping people find UB is
>> > > good, but optimizing assuming we've fixed all of the UB isn't
>> something we
>> > > can do.
>> > >
>> >
>> > Dan -- that's the situation you're in today.
>> > GCC has done that kind of optimization for *years*.
>>
>> Only on platforms that use this markup. Which is exactly the point I am
>> raising. The gain by this optimisation is questionable at best and it
>> has created (or exposed, however you want to call it) non-trivial bugs
>> in the real world. There is a reason why there is a lot of push back
>> outside glibc for this markers.
>>
>>
> I don't think that this is true.
>
> My tests (from a previous message - run on a Mac, which does not use
> glibc) show that gcc recognizes this and optimizes based on that.
>
> -- Marshall
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150812/eacf626b/attachment.html>


More information about the cfe-commits mailing list