summaryrefslogtreecommitdiffstats
path: root/libcxx/src
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2017-01-17 03:16:26 +0000
committerEric Fiselier <eric@efcs.ca>2017-01-17 03:16:26 +0000
commit11f60453792eee0fac2d14df54974e39bdab8017 (patch)
tree3e842d4504cccd38ac29782b386ff46ee4315b6c /libcxx/src
parentc018efd6804b7144367ca12697bc560d436b4dc5 (diff)
downloadbcm5719-llvm-11f60453792eee0fac2d14df54974e39bdab8017.tar.gz
bcm5719-llvm-11f60453792eee0fac2d14df54974e39bdab8017.zip
Add ABI option to remove recently inlined __shared_count functions from the library.
In order to allow inlining of previously out-of-line functions without an ABI break libc++ provides legacy definitions in the dylib that old programs can continue to use. Unfortunatly Windows link.exe detects this hack and diagnoses the duplicate definitions. This patch disable the duplicate definitions on Windows by adding an ABI option which disables all "legacy out-of-line symbols" llvm-svn: 292190
Diffstat (limited to 'libcxx/src')
-rw-r--r--libcxx/src/memory.cpp3
-rw-r--r--libcxx/src/system_error.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/libcxx/src/memory.cpp b/libcxx/src/memory.cpp
index 099f2d61c97..f6f6fe8da62 100644
--- a/libcxx/src/memory.cpp
+++ b/libcxx/src/memory.cpp
@@ -35,6 +35,7 @@ __shared_weak_count::~__shared_weak_count()
{
}
+#if defined(_LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS)
void
__shared_count::__add_shared() _NOEXCEPT
{
@@ -71,6 +72,8 @@ __shared_weak_count::__release_shared() _NOEXCEPT
__release_weak();
}
+#endif // _LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS
+
void
__shared_weak_count::__release_weak() _NOEXCEPT
{
diff --git a/libcxx/src/system_error.cpp b/libcxx/src/system_error.cpp
index c5471247682..94114992c13 100644
--- a/libcxx/src/system_error.cpp
+++ b/libcxx/src/system_error.cpp
@@ -29,7 +29,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
// class error_category
-#if defined(_LIBCPP_DEPRECATED_ABI_EXTERNAL_ERROR_CATEGORY_CONSTRUCTOR)
+#if defined(_LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS)
error_category::error_category() _NOEXCEPT
{
}
OpenPOWER on IntegriCloud