compnerd created this revision. compnerd added reviewers: EricWF, mclow.lists, majnemer. compnerd added subscribers: smeenai, cfe-commits. compnerd set the repository for this revision to rL LLVM.
Because the class is marked as `dllexport` and instantiated in `algorithm.cpp` and is strongly defined in `system_error.cpp`, we end up with multiple definitions. By keeping the definition as an inline definition, the `dllexport` will instantiate it. Being inlined, they will be marked as COMDAT(SELECT_ANY) and will still be exported from the dll. Repository: rL LLVM https://reviews.llvm.org/D28210 Files: src/system_error.cpp Index: src/system_error.cpp =================================================================== --- src/system_error.cpp +++ src/system_error.cpp @@ -9,7 +9,9 @@ #include "__config" +#if !defined(_WIN32) #define _LIBCPP_BUILDING_SYSTEM_ERROR +#endif #include "system_error" #include "include/config_elast.h" @@ -29,9 +31,11 @@ // class error_category +#if !defined(_WIN32) error_category::error_category() _NOEXCEPT { } +#endif error_category::~error_category() _NOEXCEPT {
Index: src/system_error.cpp =================================================================== --- src/system_error.cpp +++ src/system_error.cpp @@ -9,7 +9,9 @@ #include "__config" +#if !defined(_WIN32) #define _LIBCPP_BUILDING_SYSTEM_ERROR +#endif #include "system_error" #include "include/config_elast.h" @@ -29,9 +31,11 @@ // class error_category +#if !defined(_WIN32) error_category::error_category() _NOEXCEPT { } +#endif error_category::~error_category() _NOEXCEPT {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits