[libcxx-commits] [PATCH] D103947: [libcxx] Fix using the vcruntime ABI with _HAS_EXCEPTIONS=0 defined
Martin Storsjö via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Jun 11 03:12:22 PDT 2021
mstorsjo updated this revision to Diff 351387.
mstorsjo added a comment.
Herald added subscribers: smeenai, arichardson.
Updated with CI testing hooked up. Unfortunately, things don't work quite cleanly:
- There's a case of spurious warnings about misleading indentation when built with MSVC, when some braces are ifdeffed out, I filed that as PR50676. As other warnings are added after LIBCXX_TEST_COMPILER_FLAGS, we can't just pass -Wno-misleading-indentation there, because it ends up overridden by e.g. -Wall which is added later. This is hackily worked around by unconditionally adding -Wno-misleading-indentation in the list of global warning flags.
- When built with vcruntime exceptions normally, but when used without vcruntime exceptions from some translation units, those translation units see a different declaration of e.g. std::runtime_error, and the DLL doesn't export e.g. runtime_error::what(). I dunno what's the cleanest fix for this (one probably would need to use different fully-inline declarations of those classes for those cases). This causes around 28 test failures at the moment.
I'm not sure if I'm interested in pouring more effort into this configuration right now, but this at least shows the current state of things and what has to be worked on for it to really work properly.
I.e., feel free to pick up and continue on this patch.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D103947/new/
https://reviews.llvm.org/D103947
Files:
libcxx/include/__config
libcxx/include/exception
libcxx/include/stdexcept
libcxx/include/typeinfo
libcxx/test/support/test_macros.h
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot
libcxx/utils/libcxx/test/features.py
libcxx/utils/libcxx/test/params.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103947.351387.patch
Type: text/x-patch
Size: 9866 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210611/240b48ad/attachment.bin>
More information about the libcxx-commits
mailing list