Avoid Clang error about throwing _LIBCPP_ASSERT in noexcept function.

This fixes a couple of tests which produced a warning that a 'throw'
occurred in a noexcept function (by way of _LIBCPP_ASSERT). It does
so by hiding the 'throw' across an opaque function boundary.

This fix isn't ideal, since we still have _LIBCPP_ASSERT's in functions
marked noexcept -- and this problem should be addressed in the future.
However, throwing _LIBCPP_ASSERT is really only meant to allow testing
of the assertions, and is not yet ready for general use.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@328265 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2018-03-22 23:01:08 +00:00
parent 111f042e6c
commit 73e00f8321
4 changed files with 25 additions and 25 deletions

View File

@@ -918,11 +918,6 @@ class Configuration(object):
self.cxx.addWarningFlagIfSupported('-Wno-user-defined-literals')
self.cxx.addWarningFlagIfSupported('-Wno-noexcept-type')
self.cxx.addWarningFlagIfSupported('-Wno-aligned-allocation-unavailable')
# FIXME: Remove this work-around. It is a temporary hack to get the
# throwing debug tests passing. For example:
# * test/libcxx/experimental/filesystem/class.path/path.itr/iterator_db.pass.cpp
# * test/libcxx/thread/futures/futures.promise/set_exception.pass.cpp
self.cxx.addWarningFlagIfSupported("-Wno-exceptions")
# These warnings should be enabled in order to support the MSVC
# team using the test suite; They enable the warnings below and
# expect the test suite to be clean.