llvm-capstone/libcxx
Eric Fiselier 194b337f33 Avoid eager template instantiation caused by the variant narrowing checks.
The standard disallows narrowing conversions when constructing a variant.
This is checked by attempting to perform braced initialization of the
destination type from the argument type. However, braced initialization
can force the compiler (mostly clang) to eagerly instantiate the
constructors of the destintation type -- which can lead to errors in
a non-immediate context.

However, as variant is currently specified, the narrowing checks only
observably apply when the destination type is arithmetic. Meaning we can
skip the check for class types. Hense avoiding the hard errors.

In order to cause fewer build breakages, this patch avoids the narrowing
check except when the destination type is arithmetic.

llvm-svn: 366022
2019-07-14 18:21:15 +00:00
..
benchmarks [libc++][CMake] Refactor how we link against system libraries 2019-04-30 15:44:19 +00:00
cmake Revert "[libc++] Take 2: Do not cleverly link against libc++abi just because it happens to be there" 2019-07-08 17:46:23 +00:00
docs docs: add documentation for LIBCXX_INCLUDE_TESTS 2019-07-04 19:08:16 +00:00
fuzzing
include Avoid eager template instantiation caused by the variant narrowing checks. 2019-07-14 18:21:15 +00:00
lib [libc++] Update ABI list for ABI v2 2019-06-17 19:37:26 +00:00
src build: use multiple install rather than building up a list 2019-07-09 21:43:01 +00:00
test Avoid eager template instantiation caused by the variant narrowing checks. 2019-07-14 18:21:15 +00:00
utils Tolerate import errors in "not.py" implementation 2019-07-12 01:13:05 +00:00
www Add tests for regex_match ambiguity (aka LWG2273). NFC. Reviewed as https://reviews.llvm.org/D63051 2019-07-03 20:32:35 +00:00
.arcconfig
.clang-format
.gitignore
appveyor-reqs-install.cmd Attempt to upgrade compiler used by appveyor builds 2019-04-03 20:40:01 +00:00
appveyor.yml disable appveyor config for MSVC 2015 2019-04-03 20:36:51 +00:00
CMakeLists.txt Add another buildbot username to the workaround list 2019-07-12 00:16:38 +00:00
CREDITS.TXT
LICENSE.TXT
NOTES.TXT
TODO.TXT