llvm-project/libcxxabi
Howard Hinnant a8c5d770f9 Andrew Morrow: Mainline clang seems to have recently become more strict about the
consistent application of visibility attributes, which causes some new
breakage in libcxxabi:

In file included from src/libcxxabi/src/cxa_default_handlers.cpp:19:
src/libcxxabi/src/private_typeinfo.h:123:23: error: visibility does
not match previous declaration
class __attribute__ ((__visibility__(default))) __class_type_info
                     ^
src/libcxxabi/src/private_typeinfo.h:19:13: note: previous attribute is here
#pragma GCC visibility push(hidden)
           ^
1 error generated.

The forward declaration of __class_type_info is picking up hidden
visibility from the #pragma, which conflicts with the default
visibility applied when the class is later fully declared. I'm
assuming that the full declaration has it right (and that the
diagnostic is correct), so the attached patch applies the default
visibility attribute to the forward declaration.

llvm-svn: 160933
2012-07-29 20:41:19 +00:00
..
include I've moved __cxa_terminate_handler, __cxa_unexpected_handler and __cxa_new_handler from the public header cxxabi.h into the private header cxa_handlers.hpp. During this move I've also moved them from namespace __cxxabiapple into the global namespace. They are, and have always been extern C and so the namespace (or lack of it) does not affect their ABI. In general external clients should not reference these symbols. They are atomic variables and will be changing into C++11 atomic variables in the future. However for those few clients who really need access to them, their name, mangling, size, alignment and layout will remain stable. You just may need your own declaration of them. Include guards have been added to the private header cxa_exception.hpp. The private header cxa_default_handlers.hpp has been removed and the default handlers are now file-static. Include guards have been added to the private header cxa_handlers.hpp. 2012-03-19 16:20:34 +00:00
lib fix crash log magic 2012-03-14 01:16:14 +00:00
src Andrew Morrow: Mainline clang seems to have recently become more strict about the 2012-07-29 20:41:19 +00:00
test Add missing #include <stdlib.h> into test which uses ::exit. 2012-07-11 09:37:56 +00:00
www add a link to the libc++ website 2012-07-20 17:21:42 +00:00
CREDITS.TXT Andrew Morrow: Mainline clang seems to have recently become more strict about the 2012-07-29 20:41:19 +00:00
LICENSE.TXT initial import 2011-05-05 15:27:28 +00:00