[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