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: operator new returns nonzero


On Mon, Sep 9, 2013 at 4:19 AM, Marc Glisse <marc.glisse@inria.fr> wrote:
> On Mon, 9 Sep 2013, Richard Biener wrote:
>
>> On Sat, Sep 7, 2013 at 11:00 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
>>>
>>> On Sat, 7 Sep 2013, Mike Stump wrote:
>>>
>>>> On Sep 7, 2013, at 12:27 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
>>>>>
>>>>>
>>>>> Now flag_check_new should probably disable this optimization…
>>>>
>>>>
>>>>
>>>> Yes, this why my point.
>>>
>>>
>>>
>>> Ok, here it is (again, no proper testing until bootstrap is fixed)
>>
>>
>> I wonder what happens on targets where 0 is a valid address of an object
>> (stated by !flag_delete_null_pointer_checks)?
>
>
> I am not at all familiar with those targets (I thought you had to write
> asm to access 0 so the compiler doesn't mess with your code), but it
> makes sense to me to test (flag_delete_null_pointer_checks &&
> !flag_check_new) instead of just !flag_check_new. Consider the patch
> changed this way. (we have so many options, I wouldn't be surprised if
> there is yet another one to check…)

If we have such a target (do we?) where 0 is a valid address of an object,
I would not be surprised if it breaks in so many other ways, since the
language explicitly states that can never happen (programmers write
code depending on that).


>
> --
> Marc Glisse


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