This is an archive of the discontinued LLVM Phabricator instance.

[libc++abi] Update new/delete definitions to match libc++
ClosedPublic

Authored by EricWF on Mar 1 2017, 4:22 PM.

Details

Summary

Currently both libc++ and libc++abi provide definitions for new/delete. However libc++abi's definitions haven't been updated to include aligned new/delete or sized deallocation.
I don't see any reason why libc++abi shouldn't provide these newer overloads.

This patch copies libc++'s implementation of new/delete into libc++abi so that it's now up to date.

After applying this patch I plan to fix a longstanding bug where both libc++ and libc++abi provide definitions for new/delete.

Diff Detail

Event Timeline

EricWF created this revision.Mar 1 2017, 4:22 PM
EricWF added a reviewer: rmaprath.
EricWF added a subscriber: cfe-commits.
mehdi_amini accepted this revision.Mar 1 2017, 8:15 PM

LGTM.

(It seems that having libc++ and libc++abi in the same repo would help sharing code like this)

This revision is now accepted and ready to land.Mar 1 2017, 8:15 PM
jroelofs edited edge metadata.Mar 2 2017, 8:36 AM

LGTM.

(It seems that having libc++ and libc++abi in the same repo would help sharing code like this)

I think it would be a step backwards in terms of opening things up for layering violations. We already have one unavoidable one that comes from they way typeinfo matching works in ARM EHABI... I'd be afraid of it getting worse.

LGTM.

(It seems that having libc++ and libc++abi in the same repo would help sharing code like this)

I think it would be a step backwards in terms of opening things up for layering violations. We already have one unavoidable one that comes from they way typeinfo matching works in ARM EHABI... I'd be afraid of it getting worse.

I don't see why: this is about discipline and bots. Enforcing layering using separate repository sounds awful to me.

EricWF closed this revision.Mar 2 2017, 11:37 AM