- User Since
- Oct 11 2016, 3:41 PM (346 w, 6 d)
Jan 17 2023
Jan 5 2022
There should probably be a note here that this test isn't testing
standard guarantee; it's testing that Howard's dining philosophers
rebooted algorithm is implemented.
Dec 8 2020
Dec 7 2020
Are they actually the same, with the same handling of corner cases like unions and tail padding?
There's more to this than just the name, and if they aren't the same, it seems better to have two names.
Dec 6 2020
May 14 2020
BTW ThreadPoolExecutor has undefined behavior since there's a detached thread touching the standard library when the program exits violating [basic.start.term]/6. Detached threads are almost never safe.
Feb 22 2020
Feb 18 2020
@ldionne I think you're correct, though the test there is more complex than it needs to be (because the ==Count cases are the only ever encountered here).
Jan 22 2020
This was https://reviews.llvm.org/D61366
@BillyONeal has proposed a more reasonable set of requirements
Jan 21 2020
It looks like someone already fixed this.
Jan 14 2020
Jan 8 2020
Oct 11 2019
Oct 10 2019
Sep 6 2019
I have not run either through tests yet...
That's worse; it replaced 2n assignments with n assignments, n constructions, and n destructions. Interestingly, assigning over __saved is an optimization I should put into MSVC.
Jul 26 2019
(In fact I observe many patterns in this review like:
@BillyONeal do you know if 19.11 has the aligned_storage issue on x86?
Jul 3 2019
Jul 1 2019
May 14 2019
May 10 2019
May 6 2019
May 1 2019
Also fixed vector<bool> test.
Apr 30 2019
Apr 18 2019
Apr 2 2019
Tim Song suggests that http://eel.is/c++draft/string.require#2 indicates that basic_string actually does need to provide the strong guarantee here. While I think that wording is a mess I think I'll fix our basic_string to do that instead of that part of this change.
Apr 1 2019
Fixed misspelled test macro.
Fix asserts for the strong EH guarantee.
Mar 30 2019
Mar 29 2019
Mar 22 2019
f you happen to have pointers to the APIs to use here… :)
I think this is a good change regardless:
'assumes' in what way? If concrt140.dll uses msvcp140.dll internally but no STL objects are passed from user code (built with libc++) to ppl functions to concrt140.dll, things should be fine for example.
This didn't work out, we'll just skip the tests for MSVC++ for now.
Mar 21 2019
We (MSVC++) could just fix pplwin.h to not have this assumption, since clang doesn't need the workaround that forces us to reinterperet_cast void*, but that fix probably wouldn't make it shipped until VS 2019 Update 1 at the earliest (I'd have to go through ship room) and Update 2 more likely.
Attempting to use ConcRT powered machinery (like the Concurrency:: primitives in this file) with a different STL like libc++ is likely to be non-functional, since that calls into concrt140.dll which assumes MSVC++'s STL. There's also an issue here that this code is using std::mutex with ConcRT powered machinery like Concurrency::parallel_for_each, which is not supported and is likely to result in deadlocks. ConcRT assumes that everything you give to it is non-blocking, so you can't use Concurrency::parallel_for_each with platform synchronization primitives. (This is the biggest reason we, MSVC++, are moving away from ConcRT as a technoligy and did not use it to power our parallel algorithms implementation)
Mar 20 2019
This broke all the build bots, so I reverted the SVN change. I thought the nodiscard-ness was tested elsewhere but I'm not sure about interaction between this and -faligned-allocation.
As an FYI, I committed this to subversion as r356632 since I haven't figured out the new git world order yet.....
Oct 19 2018
Thank you! :D
Actually this doesn't work -- because we /FI this thing, this file is included before the test gets to say _LIBCPP_ENABLE_DEPRECATION_WARNINGS.
Also fixed cstdlib tests.
Aug 13 2018
Remove changes to detach tests.
Aug 10 2018
Aug 9 2018
Aug 7 2018
Adding ldionne as suggested by Eric.
Adding ldionne as suggested by Eric.
Jul 25 2018
May 25 2018
Apr 26 2018
Why did tests for this this go into std? [reentrancy]/1 says this isn't required to work. Moreover, assignments in the dtor like this *can't* work in the general case because they would try to overwrite the SSO space. e.g. what do you expect this to do?