This is an archive of the discontinued LLVM Phabricator instance.

[libc++abi] Disable libc++ extern templates project-wide
ClosedPublic

Authored by smeenai on Apr 20 2017, 5:01 PM.

Details

Summary

libc++abi can't depend on libc++, so disable extern templates in libc++
headers project-wide. This was previously done in cxa_demangle.cpp, but
I consider it more appropriate to do at the cmake level (since none of
libc++abi's source files can use libc++ extern templates).

I also think the _LIBCPP_NO_EXCEPTIONS in cxa_demangle.cpp is
suspicious, but I'm doing one thing at a time.

Diff Detail

Repository
rL LLVM

Event Timeline

smeenai created this revision.Apr 20 2017, 5:01 PM
EricWF edited edge metadata.May 7 2017, 11:02 PM

The reason I've been punting on this is that I want to set up ABI list checks for libc++abi just like we do for libc++.

@smeenai If you can verify that this change doesn't affect the libc++abi export lists on OS X and Linux then it LGTM, but I want that to be confirmed before committing.

Fair enough. I'll probably get to that tomorrow.

Also ABI list checks for libc++abi sound awesome.

Confirmed that there are no ABI changed on both Linux and macOS.

This revision was automatically updated to reflect the committed changes.