[libcxx] r290785 - remove some inherited attributes on exceptions

Saleem Abdulrasool via cfe-commits cfe-commits at lists.llvm.org
Sat Dec 31 09:34:26 PST 2016


Author: compnerd
Date: Sat Dec 31 11:34:26 2016
New Revision: 290785

URL: http://llvm.org/viewvc/llvm-project?rev=290785&view=rev
Log:
remove some inherited attributes on exceptions

These exception types are marked with `_LIBCPP_EXCEPTION_ABI` which
expands to `__attribute__((__visibility__("default")))` or
`__declspec(dllexport)`.  When building for Windows, we would hit an
error:

    cannot apply 'dllexport' to a 'dllexport' class

Remove the duplicate annotations as they will be inherited from the
class.

Modified:
    libcxx/trunk/include/optional
    libcxx/trunk/include/variant

Modified: libcxx/trunk/include/optional
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/optional?rev=290785&r1=290784&r2=290785&view=diff
==============================================================================
--- libcxx/trunk/include/optional (original)
+++ libcxx/trunk/include/optional Sat Dec 31 11:34:26 2016
@@ -167,7 +167,6 @@ public:
     bad_optional_access() : logic_error("bad optional access") {}
 
     // Get the key function ~bad_optional_access() into the dylib
-    _LIBCPP_FUNC_VIS
     virtual ~bad_optional_access() _NOEXCEPT;
 };
 

Modified: libcxx/trunk/include/variant
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/variant?rev=290785&r1=290784&r2=290785&view=diff
==============================================================================
--- libcxx/trunk/include/variant (original)
+++ libcxx/trunk/include/variant Sat Dec 31 11:34:26 2016
@@ -216,7 +216,7 @@ namespace std { // explicitly not using
 
 class _LIBCPP_EXCEPTION_ABI bad_variant_access : public exception {
 public:
-  _LIBCPP_FUNC_VIS virtual const char* what() const _NOEXCEPT;
+  virtual const char* what() const _NOEXCEPT;
 };
 
 } // namespace std




More information about the cfe-commits mailing list