summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-07-29 20:41:19 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-07-29 20:41:19 +0000
commita8c5d770f9d5a4ccd93be98a2bd0ea5636128934 (patch)
treef54eb0204de53336f13a299c277e82d40d3cf411 /libcxxabi/src
parent95d917f8ee680ac60067c603b902743aedb6c29c (diff)
downloadbcm5719-llvm-a8c5d770f9d5a4ccd93be98a2bd0ea5636128934.tar.gz
bcm5719-llvm-a8c5d770f9d5a4ccd93be98a2bd0ea5636128934.zip
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
Diffstat (limited to 'libcxxabi/src')
-rw-r--r--libcxxabi/src/private_typeinfo.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxxabi/src/private_typeinfo.h b/libcxxabi/src/private_typeinfo.h
index 6e23d581db6..0219fa18222 100644
--- a/libcxxabi/src/private_typeinfo.h
+++ b/libcxxabi/src/private_typeinfo.h
@@ -70,7 +70,7 @@ enum
no
};
-class __class_type_info;
+class __attribute__ ((__visibility__("default"))) __class_type_info;
struct __dynamic_cast_info
{
OpenPOWER on IntegriCloud