[PATCH] D114576: [PR52549][clang-cl] Predefine _MSVC_EXECUTION_CHARACTER_SET

2021-11-25 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter accepted this revision. CaseyCarter added a comment. LGTM - thanks for the quick response! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114576/new/ https://reviews.llvm.org/D114576 ___ cfe-commits mailing list

[PATCH] D42225: libcxx: Provide overloads for basic_filebuf::open() et al that take wchar_t* filenames on Windows.

2021-09-24 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In D42225#2963216 , @ldionne wrote: > In D42225#2963190 , @mstorsjo wrote: > >> In D42225#2962348 , @ldionne wrote: >> >>> @pcc @mstorsjo Are we

[PATCH] D103155: [clang-cl] Add driver support for /std:c++20 and bump /std:c++latest (PR50465)

2021-05-26 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter accepted this revision. CaseyCarter added a comment. Looks great - thanks Hans! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103155/new/ https://reviews.llvm.org/D103155 ___ cfe-commits

[PATCH] D87459: [libcxx][test] ostream{,buf}_iterator::difference_type changes in C++20

2020-09-11 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter accepted this revision. CaseyCarter added a comment. LGTM! Comment at: libcxx/include/iterator:1052 class _LIBCPP_TEMPLATE_VIS ostream_iterator : public iterator { `std::iterator` has been deprecated since C++17. Should this inheritance be

[PATCH] D87459: [libcxx][test] ostream{,buf}_iterator::difference_type changes in C++20

2020-09-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. > Ah, I see it. I'll add that bit to libc++ so we don't need special casing in > the tests. Feel free to steal this for your test changes. Shall I close this differential then? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D87459: [libcxx][test] ostream{,buf}_iterator::difference_type changes in C++20

2020-09-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In D87459#2265864 , @ldionne wrote: > What paper is this? I searched but failed to find a paper this falls off from. P0896R4 "The One Ranges Proposal" - Ranges demands that all iterators have useful difference types.

[PATCH] D87459: [libcxx][test] ostream{,buf}_iterator::difference_type changes in C++20

2020-09-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: ldionne, mclow.lists, EricWF. Herald added subscribers: libcxx-commits, dexonsmith. Herald added a project: libc++. Herald added a reviewer: libc++. CaseyCarter requested review of this revision. Although libc++ doesn't yet implement

[PATCH] D79343: [libc++][test] Adjust move_iterator tests to allow C++20

2020-05-07 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8615ce246d1c: [libc++][test] Adjust move_iterator tests to allow C++20 (authored by CaseyCarter). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79343/new/

[PATCH] D79343: [libc++][test] Adjust move_iterator tests to allow C++20

2020-05-07 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter marked an inline comment as done. CaseyCarter added a comment. In D79343#2025211 , @ldionne wrote: > Regarding the formatting changes, I personally think we should clang-format > all of libc++, libc++abi and libunwind in one go. Then we'd be

[PATCH] D79343: [libc++][test] Adjust move_iterator tests to allow C++20

2020-05-06 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter marked 2 inline comments as done. CaseyCarter added a comment. Format issues addressed. Comment at: libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp:33 struct DummyIt { - typedef std::forward_iterator_tag iterator_category;

[PATCH] D79343: [libc++][test] Adjust move_iterator tests to allow C++20

2020-05-06 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 262494. CaseyCarter added a comment. clang-format new/changed sections of code per policy. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79343/new/ https://reviews.llvm.org/D79343 Files:

[PATCH] D79343: [libc++][test] Adjust move_iterator tests to allow C++20

2020-05-06 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. I'm not going to reformat *only* my additions per the clang-format instructions - that would be silly - and I suspect that folks would clang-format all of the tests if they actually wanted them formatted, so I won't format the entire file, either. Repository:

[PATCH] D79343: [libc++][test] Adjust move_iterator tests to allow C++20

2020-05-04 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: ldionne, EricWF, mclow.lists. Herald added subscribers: libcxx-commits, broadwaylamb, dexonsmith. Herald added a project: libc++. Herald added a reviewer: libc++. These tests fail due to a couple of changes to `move_iterator` for

[PATCH] D78944: [libc++][test] Disable test for extension that's unsupportable in C++20

2020-04-27 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGb4437992ecce: [libc++][test] Disable test for extension thats unsupportable in C++20 (authored by CaseyCarter). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D78944: [libc++][test] Disable test for extension that's unsupportable in C++20

2020-04-27 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 260391. CaseyCarter added a comment. Review comments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78944/new/ https://reviews.llvm.org/D78944 Files: libcxx/test/std/containers/associative/map/map.cons/default_recursive.pass.cpp

[PATCH] D78944: [libc++][test] Disable test for extension that's unsupportable in C++20

2020-04-27 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: ldionne, EricWF, mclow.lists. Herald added subscribers: libcxx-commits, broadwaylamb, dexonsmith. Herald added a project: libc++. Herald added a reviewer: libc++. Defining the nested types `reference` and `iterator_concept` of

[PATCH] D70099: [libcxx][test] Only call valarray::min and ::max on empty containers when testing libc++

2020-01-29 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter abandoned this revision. CaseyCarter added a subscriber: STL_MSFT. CaseyCarter added a comment. @STL_MSFT seems to have already fixed this by removing the problem test cases in bf7dc572f199007cbe042d5ea41bcf873dcedd8f

[PATCH] D70099: [libcxx][test] Only call valarray::min and ::max on empty containers when testing libc++

2019-11-11 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF, ldionne. Herald added a subscriber: dexonsmith. `valarray:min` and `valarray::max` have preconditions that require the `valarray` to be non-empty, so these calls are inherently non-portable.

[PATCH] D68947: [libc++][test] Add license headers to test/support/archetypes.*

2019-10-14 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc86ba5818833: [libc++][test] Add license headers to test/support/archetypes.* (authored by CaseyCarter). Herald added subscribers: libcxx-commits, christof. Herald added a project: libc++. Changed prior

[PATCH] D68947: [libc++][test] Add license headers to test/support/archetypes.*

2019-10-14 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF, ldionne. Herald added a subscriber: dexonsmith. These two files (`archetypes.h` and `archetypes.ipp`) are missing license headers. https://reviews.llvm.org/D68947 Files: test/support/archetypes.h

[PATCH] D68756: [libc++][test] Change IsSmallObject's calculation for std::any's small object buffer

2019-10-10 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGffc83995de6d: [libc++][test] Change IsSmallObjects calculation for std::anys small object… (authored by CaseyCarter). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D68756: [libc++][test] Change IsSmallObject's calculation for std::any's small object buffer

2019-10-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter marked an inline comment as done. CaseyCarter added inline comments. Comment at: libcxx/test/support/any_helpers.h:24 : public std::integral_constant::value I have no idea why this line is highlighted: there are no changes on this line in the

[PATCH] D68756: [libc++][test] Change IsSmallObject's calculation for std::any's small object buffer

2019-10-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF, ldionne. CaseyCarter added a project: libc++. Herald added subscribers: libcxx-commits, dexonsmith, christof. `sizeof(std::any) - sizeof(void*)` is correct for both libc++ and the MSVC standard library.

[PATCH] D68681: [libc++][test] Miscellaneous MSVC cleanups

2019-10-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In D68681#1702194 , @ldionne wrote: > You have commit access, right? If so, go ahead. Otherwise, LMK and I can > commit this for you. Yes, I apparently still have commit access ;) Thanks! Repository: rG LLVM Github

[PATCH] D68681: [libc++][test] Miscellaneous MSVC cleanups

2019-10-09 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGb2e3c83b0d64: [libc++][test] Miscellaneous MSVC cleanups (authored by CaseyCarter). Herald added a subscriber: christof. Herald added a project: libc++. Changed prior to commit:

[PATCH] D68681: [libc++][test] Miscellaneous MSVC cleanups

2019-10-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 224092. CaseyCarter edited the summary of this revision. CaseyCarter added a comment. Avoid rather than suppress truncation warnings in `unordered_meow` deduction guide tests. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68681/new/

[PATCH] D68681: [libc++][test] Miscellaneous MSVC cleanups

2019-10-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpp:70 +#pragma warning(disable: 4244) // '%s': conversion from '%s' to '%s', possible loss of data +#endif // TEST_COMPILER_C1XX + Quuxplusone

[PATCH] D68681: [libc++][test] Miscellaneous MSVC cleanups

2019-10-08 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF, ldionne. Herald added a subscriber: dexonsmith. - Silence unused-local-typedef warnings: `map.cons/assign_initializer_list.pass.cpp` (and the `set.cons` variant) uses a local typedef only within

[PATCH] D61365: [libcxx] [test] Suppress float->int narrowing warning in vector range-construction test.

2019-10-08 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp:159 float array[3] = {0.0f, 1.0f, 2.0f}; +#pragma warning(suppress: 4244) // narrowing float to int std::vector v(array, array + 3);

[PATCH] D61365: [libcxx] [test] Suppress float->int narrowing warning in vector range-construction test.

2019-05-07 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp:159 float array[3] = {0.0f, 1.0f, 2.0f}; +#pragma warning(suppress: 4244) // narrowing float to int std::vector v(array, array + 3);

[PATCH] D61365: [libcxx] [test] Suppress float->int narrowing warning in vector range-construction test.

2019-05-03 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp:159 float array[3] = {0.0f, 1.0f, 2.0f}; +#pragma warning(suppress: 4244) // narrowing float to int std::vector v(array, array + 3);

[PATCH] D50860: [libc++][test] Remove non-portable assumption that thread's constructor allocates with ::new

2019-05-02 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rCXX359827: [libc++][test] Remove non-portable assumption that threads constructor… (authored by CaseyCarter, committed by ). Herald added subscribers: libcxx-commits, jfb, ldionne. Changed prior to

[PATCH] D50860: [libc++][test] Remove non-portable assumption that thread's constructor allocates with ::new

2019-04-21 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. Ping? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D50860/new/ https://reviews.llvm.org/D50860 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D60023: [libcxx] [test] Fix inability to rebind poca_alloc in string.cons/copy_alloc.pass.cpp.

2019-04-01 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter requested changes to this revision. CaseyCarter added inline comments. This revision now requires changes to proceed. Comment at: test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp:128 +// but the standard only requires the basic guarantee: +

[PATCH] D46140: [coroutines] Add std::experimental::task type

2019-03-27 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter requested changes to this revision. CaseyCarter added a subscriber: mclow.lists. CaseyCarter added inline comments. This revision now requires changes to proceed. Comment at: include/experimental/__memory:80 +{ +return (__s + __a - 1) & ~(__a - 1); +}

[PATCH] D53763: [libc++] [test] Fix logic error in tests; enable for MSVC previews

2019-01-14 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter closed this revision. CaseyCarter added a comment. I merged this as r351148. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D53763/new/ https://reviews.llvm.org/D53763 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D53763: [libc++] [test] Fix logic error in tests; enable for MSVC previews

2019-01-14 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In D53763#1356356 , @mclow.lists wrote: > I'm a bit concerned about the `TEST_HAS_NO_SPACESHIP_OPERATOR` and how it > tracks with `_LIBCPP_HAS_NO_SPACESHIP_OPERATOR`, but I'm not going to hold > this up for that. Same. I

[PATCH] D50860: [libc++][test] Remove non-portable assumption that thread's constructor allocates with ::new

2018-10-26 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 171344. CaseyCarter added a comment. Clarify use of `numAllocs`. https://reviews.llvm.org/D50860 Files: test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp Index:

[PATCH] D50860: [libc++][test] Remove non-portable assumption that thread's constructor allocates with ::new

2018-10-26 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. I'll put this explanation in the comments and push a change. Comment at: test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp:121 //allocations. +int numAllocs; + EricWF wrote: > Why? `main`

[PATCH] D53763: [libc++] [test] Fix logic error in tests; enable for MSVC previews

2018-10-26 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: EricWF, mclow.lists. Fairly straightforward: these tests were written without an implementation of `<=>`, and they're incorrectly testing that `0 <=> foo` has the behavior that is required for `foo <=> 0`.

[PATCH] D50860: [libc++][test] Remove non-portable assumption that thread's constructor allocates with ::new

2018-08-16 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF. Drive-by: - Fix potential race between check and update of `throw_one` in operator new - Fix latent bug in operator delete, which shouldn't decrement `outstanding_new` when passed a null pointer - Specifically

[PATCH] D49120: [libc++] P0898R3 2 of 12: Implement header

2018-07-11 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: include/concepts:175 +template +_LIBCPP_CONCEPT_DECL Same = __same_impl<_Tp, _Up> && __same_impl<_Up, _Tp>; + Quuxplusone wrote: > CaseyCarter wrote: > > Quuxplusone wrote: > > > Peanut gallery asks: From lines

[PATCH] D49118: [libc++] P0898R3 1 of 12: changes to common_type; implement common_reference

2018-07-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In https://reviews.llvm.org/D49118#1157438, @mclow.lists wrote: > > I've conservatively hidden everything behind _LIBCPP_STD_VER > 17, > > although it could be made available in C++11 mode with some edits. > > If we have a use for this in pre c++2a code, the

[PATCH] D49120: [libc++] P0898R3 2 of 12: Implement header

2018-07-10 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 154787. CaseyCarter added a comment. Qualify call to `__invoke_constexpr` in the definition of the `Invocable` concept. https://reviews.llvm.org/D49120 Files: CMakeLists.txt include/CMakeLists.txt include/__config include/concepts

[PATCH] D49120: [libc++] P0898R3 2 of 12: Implement header

2018-07-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: include/concepts:175 +template +_LIBCPP_CONCEPT_DECL Same = __same_impl<_Tp, _Up> && __same_impl<_Up, _Tp>; + Quuxplusone wrote: > Peanut gallery asks: From lines 166-171 it looks awfully like > `__same_impl<_Tp,

[PATCH] D49120: [libc++] P0898R3 2 of 12: Implement header

2018-07-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: include/concepts:193 +#endif +#if 0 // FIXME: File LWG issue +requires(_From (&_Fn)()) { static_cast<_To>(_Fn()); }; I suppose it would have been a good idea to fix this before submitting the patch for review -

[PATCH] D49122: [libc++] P0898R3 3 of 12: Tests for Same, DerivedFrom, ConvertibleTo, and CommonReference

2018-07-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF. Like the title says, the first batch of tests. I'll stop at three chunks for now - that should be enough to get some reviewer feedback and keep me busy making changes. https://reviews.llvm.org/D49122 Files:

[PATCH] D49120: [libc++] P0898R3 2 of 12: Implement header

2018-07-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF. Herald added subscribers: christof, modocache, mgorny. Piece number two contains the header, a bunch of "add a new header" changes, and LIT config to grok tests that need concepts (Thanks to @EricWF's similar

[PATCH] D49118: [libc++] P0898R3 1 of 12: changes to common_type; implement common_reference

2018-07-09 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF. I'm breaking this up into independent bite-sized ~500 line reviews instead of a single 5200 line monster in hopes that we can turnaround changes quickly. This first piece implements the new bullet for

[PATCH] D45121: [coroutines] Add noop_coroutine to

2018-04-04 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter accepted this revision. CaseyCarter added inline comments. Comment at: include/experimental/coroutine:288 + +coroutine_handle() { + this->__handle_ = __builtin_coro_noop(); EricWF wrote: > GorNishanov wrote: > > CaseyCarter wrote: > > >

[PATCH] D45121: [coroutines] Add noop_coroutine to

2018-04-04 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a subscriber: STL_MSFT. CaseyCarter added inline comments. Comment at: include/experimental/coroutine:268 +: public coroutine_handle<> { + using _Base = coroutine_handle<>; + using _Promise = noop_coroutine_promise; This file can't seem

[PATCH] D41748: [libcxx] [test] Fix Xxx_scan tests using nonstandard things and MSVC++ warnings

2018-01-05 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp:33 +template +constexpr auto operator()(T x) const noexcept { +return static_cast(x + 10);

[PATCH] D41748: [libcxx] [test] Fix Xxx_scan tests using nonstandard things and MSVC++ warnings

2018-01-04 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp:31 -template -struct identity : std::unary_function -{ -constexpr const T& operator()(const T& x) const { return x;}

[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=126564#toc Repository: rL LLVM

[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 ___

[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 +++

[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

[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 +++

[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

[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.

[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

[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++ ::

[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

[PATCH] D39221: [libcxx] [test] Alignment must be > __STDCPP_DEFAULT_NEW_ALIGNMENT__ to call aligned new

2017-11-15 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL318325: [test] Alignment must be > __STDCPP_DEFAULT_NEW_ALIGNMENT__ to call aligned new (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D39221?vs=119990=123062#toc

[PATCH] D39221: [libcxx] [test] Alignment must be > __STDCPP_DEFAULT_NEW_ALIGNMENT__ to call aligned new

2017-10-23 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. Update aligned `new` tests to use `__STDCPP_DEFAULT_NEW_ALIGNMENT__ * 2` for "over-aligned" instead of `alignof(std::max_align_t) * 2`. https://reviews.llvm.org/D39221 Files:

[PATCH] D37024: [libcxx] [test] Cleanup nullopt_t tests

2017-08-31 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL312256: [test] Cleanup nullopt_t tests (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D37024?vs=112224=113432#toc Repository: rL LLVM https://reviews.llvm.org/D37024

[PATCH] D37024: [libcxx] [test] Cleanup nullopt_t tests

2017-08-22 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 112224. CaseyCarter added a comment. Don't unnecessarily fully qualify `std::nullopt`. https://reviews.llvm.org/D37024 Files: test/std/utilities/optional/optional.nullopt/not_brace_initializable.fail.cpp

[PATCH] D37024: [libcxx] [test] Cleanup nullopt_t tests

2017-08-22 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. - Update specification text from N4387 - Delete `not_brace_initializable.fail.cpp`: it's redundant with `nullopt_t.fail.cpp` - `is_empty` implies `is_class` - `is_literal` is deprecated; directly verify that we can create a `nullopt_t` in a `constexpr`

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-07-09 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL307505: optional: Implement LWG 2900 and P0602 (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D32385?vs=101631=105784#toc Repository: rL LLVM

[PATCH] D33955: [libcxx] [test] Remove a Clang/C2 workaround.

2017-06-06 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter accepted this revision. CaseyCarter added a comment. This revision is now accepted and ready to land. As the party who originally put this workaround in place, I'll happily certify that it never affected any platforms that anyone but we Microsofters care about. I'll take

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-06-06 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 101631. CaseyCarter edited the summary of this revision. CaseyCarter added a comment. Incorporate the libcxx test tree `special_member_gen` test into the std test, making my per-SMF triviality tests unnecessary. https://reviews.llvm.org/D32385 Files:

[PATCH] D27850: [libcxx] add missing constexpr to optional::value_or

2017-06-06 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL304813: add missing constexpr to optional::value_or (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D27850?vs=82653=101597#toc Repository: rL LLVM

[PATCH] D32515: [libcxx] [test] Changes to accommodate LWG 2904 "Make variant move-assignment more exception safe"

2017-06-05 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter abandoned this revision. CaseyCarter added a comment. Abandoning: these changes have been merged into https://reviews.llvm.org/D32671. https://reviews.llvm.org/D32515 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D32671: [libcxx] [test] variant: test coverage for LWG2904 and P0602

2017-06-05 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 101497. CaseyCarter retitled this revision from "[libcxx] [test] variant: test coverage for P0602 extension" to "[libcxx] [test] variant: test coverage for LWG2904 and P0602". CaseyCarter edited the summary of this revision. CaseyCarter added a comment.

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-06-04 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 101366. CaseyCarter added a comment. Fix merge conflicts. https://reviews.llvm.org/D32385 Files: include/optional test/libcxx/utilities/optional/optional.object/special_member_gen.pass.cpp

[PATCH] D33741: [libc++] Undef min/max in test_macros.h

2017-05-31 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In https://reviews.llvm.org/D33741#769381, @EricWF wrote: > In https://reviews.llvm.org/D33741#769371, @STL_MSFT wrote: > > > I haven't seen min/max test failures, probably because our CRT/STL headers > > never drag in Windows.h. > > > Ah, that makes sense. Libc++

[PATCH] D33290: [libcxx] [test] Remove workaround for C1XX conversion-to-nullptr bug

2017-05-25 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. CaseyCarter marked an inline comment as done. Closed by commit rL303889: [test] Remove workaround for C1XX conversion-to-nullptr bug (authored by CaseyCarter). Changed prior to commit:

[PATCH] D33214: [libcxx] [test] Workaround C1XX bug in uses_allocator_types.hpp

2017-05-25 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL303888: [test] Workaround C1XX bug in uses_allocator_types.hpp (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D33214?vs=99086=100264#toc Repository: rL LLVM

[PATCH] D33290: [libcxx] [test] Remove workaround for C1XX conversion-to-nullptr bug

2017-05-17 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter marked an inline comment as done. CaseyCarter added inline comments. Comment at: test/support/test_workarounds.h:21 #if defined(TEST_COMPILER_C1XX) -# define TEST_WORKAROUND_C1XX_BROKEN_NULLPTR_CONVERSION_OPERATOR -# define

[PATCH] D33290: [libcxx] [test] Remove workaround for C1XX conversion-to-nullptr bug

2017-05-17 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 99336. CaseyCarter added a comment. Commit the change to the affected test code as well. https://reviews.llvm.org/D33290 Files: test/support/poisoned_hash_helper.hpp test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp

[PATCH] D33290: [libcxx] [test] Remove workaround for C1XX conversion-to-nullptr bug

2017-05-17 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. VSO#391542 "Types can't be convertible to nullptr_t," which will be fixed in the next release of Visual C++. Also put internal bug numbers on the workarounds in test_workarounds.h for ease of correlation. https://reviews.llvm.org/D33290 Files:

[PATCH] D33214: [libcxx] [test] Workaround C1XX bug in uses_allocator_types.hpp

2017-05-15 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 99086. CaseyCarter edited the summary of this revision. CaseyCarter added a comment. Silence warnings. https://reviews.llvm.org/D33214 Files: test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp

[PATCH] D33214: [libcxx] [test] Workaround C1XX bug in uses_allocator_types.hpp

2017-05-15 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. Needed by IIRC allocator.adaptor\allocator.adaptor.members\construct_pair.pass.cpp. https://reviews.llvm.org/D33214 Files: test/support/test.workarounds/c1xx_empty_parameter_pack_expansion.pass.cpp test/support/test_workarounds.h

[PATCH] D32778: [libcxx] [test] Conditionally workaround C1XX/EDG bugs

2017-05-10 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL302707: [test] support machinery changes for EDG & C1XX /Za (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D32778?vs=97530=98503#toc Repository: rL LLVM

[PATCH] D32510: [libcxx] Fix C1XX implementation of DoNotOptimize

2017-05-04 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL302162: [test] Name the local variable in the C1XX implementation of DoNotOptmize (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D32510?vs=96648=97837#toc Repository:

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-05-04 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added a comment. In https://reviews.llvm.org/D32385#745771, @EricWF wrote: > So Itanium ABI has this quirk where trivial types are passed using different > conventions than non-trivial types. This means changing the triviality of > `std::optional` for any instantiation is

[PATCH] D32671: [libcxx] [test] variant: test coverage for P0602 extension

2017-05-04 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97834. CaseyCarter added a comment. The constexpr variant tests were enabled separate commit (https://reviews.llvm.org/rL302158). This differential now contains only the fine-grained SMF triviality extension test. https://reviews.llvm.org/D32671

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-05-03 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97769. CaseyCarter added a comment. Polish: clarify `static_assert` messages, DeMorgan a clause so it more precisely reflects the `static_assert` message. https://reviews.llvm.org/D32385 Files: include/optional

[PATCH] D32671: [libcxx] [test] variant: test coverage for P0602 extension

2017-05-03 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97768. CaseyCarter added a comment. Fix typos in test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp. https://reviews.llvm.org/D32671 Files: test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp

[PATCH] D32778: [libcxx] [test] Conditionally workaround C1XX/EDG bugs

2017-05-02 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/support/archetypes.hpp:20 protected: +#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK NullBase() = default; STL_MSFT wrote: > I think that this comment doesn't match the ifndef check, but it's a style

[PATCH] D32778: [libcxx] [test] Conditionally workaround C1XX/EDG bugs

2017-05-02 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. Test support machinery changes needed to parse with EDG and compile with C1XX's /Za flag that disables MS extensions. I try to make changes to `` and the `optional`/`variant` tests simultaneously in the MS STL and in libc++, which realistically requires that

[PATCH] D32671: [libcxx] [test] variant: test coverage for P0602 extension

2017-05-01 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97367. CaseyCarter added a comment. Fix missing indent in msvc_stdlib_force_include.hpp https://reviews.llvm.org/D32671 Files: test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-05-01 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97366. CaseyCarter added a comment. Fix a missing indent in the `msvc_stdlib_force_include.hpp` change. https://reviews.llvm.org/D32385 Files: include/optional test/libcxx/utilities/optional/optional.object/special_member_gen.pass.cpp

[PATCH] D32309: [libcxx] [test] Resolve compiler warnings in LCM/GCD tests

2017-04-30 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter added inline comments. Comment at: test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp:144 +auto res1 = std::lcm(static_cast(1234), INT32_MIN); +(void)std::lcm(INT_MIN, 2UL); // this used to trigger UBSAN +

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-04-30 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97217. CaseyCarter added a comment. Update libc++-specific special member test for extended P0602 implementation. https://reviews.llvm.org/D32385 Files: include/optional test/libcxx/utilities/optional/optional.object/special_member_gen.pass.cpp

[PATCH] D32671: [libcxx] [test] variant: test coverage for P0602 extension

2017-04-29 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97204. CaseyCarter added a comment. Fix a weird corner case in variant's move assignment triviality test. https://reviews.llvm.org/D32671 Files: test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-04-29 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97203. CaseyCarter added a comment. Fix comment typo in optional.object.assign/move.pass.cpp https://reviews.llvm.org/D32385 Files: include/optional test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp

[PATCH] D32671: [libcxx] [test] variant: test coverage for P0602 extension

2017-04-29 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. NOTE: Unlike my typical `variant` test PRs, this one is actually safe to merge - crazy, I know - since it only adds coverage while testing the VC++ STL. - Define a new macro `_MSVC_STL_VER` to distinguish testing the VC++ standard library implementation in

[PATCH] D32385: [libcxx] optional: Implement LWG 2900 and P0602

2017-04-29 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter updated this revision to Diff 97188. CaseyCarter retitled this revision from "[libcxx] Implement LWG 2900 "The copy and move constructors of optional are not constexpr"" to "[libcxx] optional: Implement LWG 2900 and P0602". CaseyCarter edited the summary of this revision. CaseyCarter

  1   2   >