diff options
author | Eric Fiselier <eric@efcs.ca> | 2017-01-02 22:17:51 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2017-01-02 22:17:51 +0000 |
commit | 4b07f988161d67aae5d81b3c4cc98c4844192251 (patch) | |
tree | eca5497d9bc00a122181b948fcad094520d78792 /include/system_error | |
parent | ea38cde827cdb83134adb7eade860a9b77a486b6 (diff) | |
download | external_libcxx-4b07f988161d67aae5d81b3c4cc98c4844192251.tar.gz external_libcxx-4b07f988161d67aae5d81b3c4cc98c4844192251.tar.bz2 external_libcxx-4b07f988161d67aae5d81b3c4cc98c4844192251.zip |
Introduce _LIBCPP_DEPRECATED_ABI_EXTERNAL_ERROR_CATEGORY_CONSTRUCTOR ABI option.
Currently libc++ compiles a special version of error_category()
into the dylib. This definition is no longer needed, and doesn't
work on Windows due to dllimport/dllexport semantics.
For those reasons this patch introduces an option to
disable/enable this definition. By default the definition
is provided in ABI v1 except on windows. This patch
also addresses D28210.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290840 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/system_error')
-rw-r--r-- | include/system_error | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/system_error b/include/system_error index c7e73d4ab..58040639d 100644 --- a/include/system_error +++ b/include/system_error @@ -384,7 +384,8 @@ class _LIBCPP_TYPE_VIS error_category public: virtual ~error_category() _NOEXCEPT; -#ifdef _LIBCPP_BUILDING_SYSTEM_ERROR +#if defined(_LIBCPP_BUILDING_SYSTEM_ERROR) && \ + defined(_LIBCPP_DEPRECATED_ABI_EXTERNAL_ERROR_CATEGORY_CONSTRUCTOR) error_category() _NOEXCEPT; #else _LIBCPP_ALWAYS_INLINE |