[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-12 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL320500: workaround PR 28385 in __find_exactly_one_checked (authored by CaseyCarter, committed by ). Changed prior to commit: https://reviews.llvm.org/D41048?vs=126559&id=126564#toc Repository: rL LLV

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-12 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. This new-and-improved workaround - thanks to @lichray - is unintrusive enough that I can't imagine it being unnacceptable to anyone. I'm going to go ahead and check this in. https://reviews.llvm.org/D41048 ___ cfe-comm

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-12 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 126559. CaseyCarter added a comment. Better/simpler workaround from Zhihao. https://reviews.llvm.org/D41048 Files: include/tuple Index: include/tuple === --- include/tuple +++ include/t

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-11 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray accepted this revision. lichray added a comment. This revision is now accepted and ready to land. Reproduced with lit -sv --param=cxx_under_test="$HOME/bin/clang++" test/std/utilities/tuple/ lit: [...] note: Using available_features: ['libc++', 'verify-support', 'clang-6', 'modules-s

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-11 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter marked 2 inline comments as done. CaseyCarter added a comment. This unconditional workaround addresses Marshall's concerns about the naked version test. https://reviews.llvm.org/D41048 ___ cfe-commits mailing list cfe-commits@lists.llvm

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-11 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 126406. CaseyCarter added a comment. Make the workaround unconditional. https://reviews.llvm.org/D41048 Files: include/tuple Index: include/tuple === --- include/tuple +++ include/tuple

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: include/tuple:1015 struct __find_exactly_one_checked { - static constexpr bool __matches[] = {is_same<_T1, _Args>::value...}; +#if defined(__clang__) && __clang_major__ > 5 && __cplusplus > 201402L +// Workaround https://bugs.l

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 126297. CaseyCarter added a comment. Hide the ugly version test in `<__config>`, define a slightly-more-meaningful macro `_LIBCPP_WORKAROUND_CLANG_28385`. https://reviews.llvm.org/D41048 Files: include/__config include/tuple Index: include/tuple

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In https://reviews.llvm.org/D41048#950635, @mclow.lists wrote: > Ah - that was the factor I was missing. > The tests pass for me with `-std=c++2a`, but fail for `std=c++17` > > Casey's original post said they fail with `2a`, and I'm *still* not seeing > that. They

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. Ah - that was the factor I was missing. The tests pass for me with `-std=c++2a`, but fail for `std=c++17` Casey's original post said they fail with `2a`, and I'm *still* not seeing that. https://reviews.llvm.org/D41048

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment. In https://reviews.llvm.org/D41048#950606, @CaseyCarter wrote: > In https://reviews.llvm.org/D41048#950601, @mclow.lists wrote: > > > These tests don't fail for me. (using a clang I built two days ago) > > > What about the repro for #35578 >

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In https://reviews.llvm.org/D41048#950601, @mclow.lists wrote: > These tests don't fail for me. (using a clang I built two days ago) What about the repro for #35578 ? That repro and these four tests trigger the bug for m

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added inline comments. Comment at: include/tuple:1015 struct __find_exactly_one_checked { - static constexpr bool __matches[] = {is_same<_T1, _Args>::value...}; +#if defined(__clang__) && __clang_major__ > 5 && __cplusplus > 201402L +// Workaround https://bugs.l

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-10 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists added a comment. These tests don't fail for me. (using a clang I built two days ago) https://reviews.llvm.org/D41048 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In https://reviews.llvm.org/D41048#950424, @lebedev.ri wrote: > Test? Four of the existing variant tests fail without this change (Using the clang-6 dailies from apt.llvm.org and -std=c++2a): Failing Tests (4): libc++ :: std/utilities/variant/variant.get/get_

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-09 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment. Test? https://reviews.llvm.org/D41048 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked

2017-12-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. Fixes #35578. https://reviews.llvm.org/D41048 Files: include/tuple Index: include/tuple === --- include/tuple +++ include/tuple @@ -1012,10 +1012,21 @@ template struct __find_exactly_one_