summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthegeorg <[email protected]>2025-01-03 19:30:22 +0300
committerthegeorg <[email protected]>2025-01-03 19:50:38 +0300
commit331e295515aec415005802efd69cd9d1028a5e00 (patch)
treef3b8e4045a794a57c5d005e120c22d17b43eb1ac
parent8a6cb7356d2687d9ebbf14009e557105669ebd91 (diff)
Do not yield GLOBAL define regarding current C++ runtime
This codesearch query yields all the results (i. e. only `yexception_ut.cpp` depends on this define): HIDDEN_URL commit_hash:9cac855ba71451e3691fc514a5a423173c3a8aae
-rw-r--r--contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym12
-rw-r--r--contrib/libs/cxxsupp/libcxx/include/__config_site4
-rw-r--r--contrib/libs/cxxsupp/libcxx/ya.make12
-rw-r--r--util/generic/yexception_ut.cpp3
4 files changed, 14 insertions, 17 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym b/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym
index 88889b5e34b..a6e8f710455 100644
--- a/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym
+++ b/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym
@@ -157,10 +157,6 @@ ELSEIF (OS_WINDOWS)
src/support/win32/new_win32.cpp
src/support/win32/thread_win32.cpp
)
- CFLAGS(
- GLOBAL -D_LIBCPP_VASPRINTF_DEFINED
- GLOBAL -D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_
- )
IF (CLANG_CL)
PEERDIR(
contrib/libs/cxxsupp/builtins
@@ -218,7 +214,7 @@ IF (CXX_RT == "libcxxrt")
GLOBAL contrib/libs/cxxsupp/libcxxrt/include
)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBCXXRT
+ -DLIBCXX_BUILDING_LIBCXXRT
)
# These builtins are equivalent to clang -rtlib=compiler_rt and
# are needed by potentially any code generated by clang.
@@ -235,7 +231,7 @@ ELSEIF (CXX_RT == "glibcxx_static")
ENABLE(NEED_GLIBCXX_CXX17_SHIMS)
ENABLE(NEED_CXX_RT_ADDINCL)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBGCC
+ -DLIBCXX_BUILDING_LIBGCC
)
ELSEIF (CXX_RT == "glibcxx_dynamic")
LDFLAGS(
@@ -244,7 +240,7 @@ ELSEIF (CXX_RT == "glibcxx_dynamic")
)
CXXFLAGS(-D__GLIBCXX__=1)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBGCC
+ -DLIBCXX_BUILDING_LIBGCC
)
ENABLE(NEED_GLIBCXX_CXX17_SHIMS)
ENABLE(NEED_CXX_RT_ADDINCL)
@@ -257,7 +253,7 @@ ELSEIF (CXX_RT == "libcxxabi")
GLOBAL contrib/libs/cxxsupp/libcxxabi/include
)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBCXXABI
+ -DLIBCXX_BUILDING_LIBCXXABI
)
ELSEIF (CXX_RT == "default")
# Do nothing
diff --git a/contrib/libs/cxxsupp/libcxx/include/__config_site b/contrib/libs/cxxsupp/libcxx/include/__config_site
index ca5bff3d109..dc81d088fef 100644
--- a/contrib/libs/cxxsupp/libcxx/include/__config_site
+++ b/contrib/libs/cxxsupp/libcxx/include/__config_site
@@ -57,3 +57,7 @@
#else
# define _LIBCPP_HARDENING_MODE_DEFAULT _LIBCPP_HARDENING_MODE_FAST
#endif
+
+#if defined(_WIN32) && defined(_MSC_VER)
+# define _WCHAR_H_CPLUSPLUS_98_CONFORMANCE_ 1
+#endif
diff --git a/contrib/libs/cxxsupp/libcxx/ya.make b/contrib/libs/cxxsupp/libcxx/ya.make
index 3e4e5e6c702..099e67a8fa0 100644
--- a/contrib/libs/cxxsupp/libcxx/ya.make
+++ b/contrib/libs/cxxsupp/libcxx/ya.make
@@ -79,10 +79,6 @@ ELSEIF (OS_WINDOWS)
src/support/win32/new_win32.cpp
src/support/win32/thread_win32.cpp
)
- CFLAGS(
- GLOBAL -D_LIBCPP_VASPRINTF_DEFINED
- GLOBAL -D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_
- )
IF (CLANG_CL)
PEERDIR(
contrib/libs/cxxsupp/builtins
@@ -138,7 +134,7 @@ IF (CXX_RT == "libcxxrt")
GLOBAL contrib/libs/cxxsupp/libcxxrt/include
)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBCXXRT
+ -DLIBCXX_BUILDING_LIBCXXRT
)
# These builtins are equivalent to clang -rtlib=compiler_rt and
# are needed by potentially any code generated by clang.
@@ -155,7 +151,7 @@ ELSEIF (CXX_RT == "glibcxx_static")
ENABLE(NEED_GLIBCXX_CXX17_SHIMS)
ENABLE(NEED_CXX_RT_ADDINCL)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBGCC
+ -DLIBCXX_BUILDING_LIBGCC
)
ELSEIF (CXX_RT == "glibcxx_dynamic")
LDFLAGS(
@@ -164,7 +160,7 @@ ELSEIF (CXX_RT == "glibcxx_dynamic")
)
CXXFLAGS(-D__GLIBCXX__=1)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBGCC
+ -DLIBCXX_BUILDING_LIBGCC
)
ENABLE(NEED_GLIBCXX_CXX17_SHIMS)
ENABLE(NEED_CXX_RT_ADDINCL)
@@ -177,7 +173,7 @@ ELSEIF (CXX_RT == "libcxxabi")
GLOBAL contrib/libs/cxxsupp/libcxxabi/include
)
CFLAGS(
- GLOBAL -DLIBCXX_BUILDING_LIBCXXABI
+ -DLIBCXX_BUILDING_LIBCXXABI
)
ELSEIF (CXX_RT == "default")
# Do nothing
diff --git a/util/generic/yexception_ut.cpp b/util/generic/yexception_ut.cpp
index b2ca4b1fede..ad4b5578b0f 100644
--- a/util/generic/yexception_ut.cpp
+++ b/util/generic/yexception_ut.cpp
@@ -387,7 +387,8 @@ private:
try {
throw int(1);
} catch (...) {
-#if defined(LIBCXX_BUILDING_LIBCXXRT) || defined(LIBCXX_BUILDING_LIBGCC)
+#if defined(_linux_) || defined(_darwin_)
+ // On Linux and macOS we use libcxxrt which handles throw integers properly
UNIT_ASSERT_VALUES_EQUAL(CurrentExceptionTypeName(), "int");
#else
UNIT_ASSERT_VALUES_EQUAL(CurrentExceptionTypeName(), "unknown type");