Fix _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY to always have default visibility.

This prevent the symbols from being both externally available and hidden, which
causes them to be linked incorrectly. This is only a problem when the address
of the function is explicitly taken since it will always be inlined otherwise.

This patch fixes the issues that caused r285456 to be reverted, and can
now be reapplied.

llvm-svn: 285531
This commit is contained in:
Eric Fiselier
2016-10-31 02:07:23 +00:00
parent ef915d3ef4
commit 7ca76565e7
3 changed files with 11 additions and 11 deletions

View File

@@ -27,6 +27,11 @@ struct some_alloc
~some_alloc() noexcept(false);
};
// Test that it's possible to take the address of basic_string's destructors
// by creating globals which will register their destructors with cxa_atexit.
std::string s;
std::wstring ws;
int main()
{
{