This is an archive of the discontinued LLVM Phabricator instance.

libc++abi: mark visibility
ClosedPublic

Authored by compnerd on Nov 18 2015, 2:29 PM.

Details

Summary

Mark functions and types with the appropriate visibility. This is particularly
useful for environments which explicitly indicate origin of functions (Windows).
This aids in ensuring libc++abi as a DSO which exposes only the public
interfaces.

Diff Detail

Event Timeline

compnerd updated this revision to Diff 40562.Nov 18 2015, 2:29 PM
compnerd retitled this revision from to libc++abi: mark visibility.
compnerd updated this object.
compnerd added reviewers: EricWF, mclow.lists.
compnerd added subscribers: jroelofs, llvm-commits.
jroelofs added inline comments.Nov 18 2015, 2:39 PM
include/__cxxabi_config.h
24

s/LIBCXXABI_DLL/_LIBCXXABI_DLL/

compnerd added inline comments.Nov 18 2015, 6:40 PM
include/__cxxabi_config.h
24

Sure, though the thing is that this would be different from libc++, which uses LIBCPP_DLL.

jroelofs added inline comments.Nov 19 2015, 7:21 AM
include/__cxxabi_config.h
24

Two wrongs don't make a right...

compnerd updated this revision to Diff 40655.Nov 19 2015, 8:32 AM

Address @jroelofs' comment.

compnerd marked an inline comment as done.Nov 19 2015, 8:33 AM
mclow.lists edited edge metadata.Nov 30 2015, 7:37 AM

This looks fine to me.

A note - the pervasive whitespace changes obscure the substantive changes.
In an ideal world, they would be two different changes.

include/__cxxabi_config.h
24

I'm wondering where you see use of LIBCPP_DLL in libc++.

The only place I see is in __config:182, which uses _LIBCPP_DLL, and has since (at least) 2011.

(Because @jroelofs is correct)

Sure, I can split it up into two changes, one for the formatting, and one for the material changes before committing.

compnerd accepted this revision.Dec 3 2015, 6:17 PM
compnerd added a reviewer: compnerd.
This revision is now accepted and ready to land.Dec 3 2015, 6:17 PM
compnerd closed this revision.Dec 3 2015, 6:18 PM

Applied the bulk of the whitespace changes in a separate commit (SVN r254690) and the annotation work in SVN r254691.