- User Since
- Sep 23 2022, 1:47 PM (52 w, 5 d)
Thu, Aug 31
Address more review comments: fix some assertions when extents are 0
Aug 28 2023
I believe this 3-level thing is in general a good idea, and in principle the words "hardened < safe < debug" fell ok-ish to me in terms of expectations how much gets checked.
However, in light of a 3-level mode I may want to rethink for example the asserts in mdspan, and tailor better what is enabled in hardened, vs safe mode. I think the current choices were good in a binary world, in this more nuanced approach I am not sure.
Aug 17 2023
Simply disable deduction guide warnings, adding them explicitly ended up either with unused template warning in files where they are not needed, or with a warning from GCC if one adds [[maybe_unused]], will try separately to make this warning go away.
Add missing test on const mapping for required_span_size
Fix more warning stuff
Aug 16 2023
Fix a formatting thing in tests.
Address review feedback, and implement missing ctors from layout_stride in layout_left/right
Aug 9 2023
This passed testing except the expected AIX failure since the runners are down.
Aug 8 2023
Fix older clang missing a typename in a test
To answer my own question: I was able to reproduce the bug when compiling for NVIDIA GPUs, I was not able to reproduce it for AMD GPUs yet, and I didn't try for Intel GPUs.
Question: does this bug potentially affect code generation for AMD/NVIDIA/Intel GPUs?
Update mdspan std::module file
Aug 6 2023
Fixup module map
More fixes for things not triggered in my various MacOS builds.
Fix ADL use warning.
More formatting fixes in the tests.
Fix up comments for some formatting check.
Aug 4 2023
Aug 3 2023
Jul 25 2023
The mdspan thing that breaks clang-tidy is now fixed,
This landed in https://github.com/llvm/llvm-project/commit/488c3db245ce0fe3b70357d6798ee91c5baa82a2, but was missing in D in the revision URL.
Will ignore the CI failure of the "Module build with local submodule visibility": known common issue with the module cache producing over 1000 errors in the mold of:
bk;t=1690294997920/home/libcxx-builder/.buildkite-agent/builds/google-libcxx-builder-49573bbe06a2-1/llvm-project/libcxx-ci/build/generic-modules-lsv/include/c++/v1/__concepts/regular.h:13:2: fatal error: module file '/home/libcxx-builder/.cache/clang/ModuleCache/1BZ5PZK31RHUI/std_private_concepts_semiregular-1920JD1R2UQK3.pcm' is out of date and needs to be rebuilt
Jul 24 2023
Uploaded the wrong patch file last time around, where I guarded the wrong two tests on MinGW :-(
Apply review comments: specifically don't check index bounds in layout_left/right since it's double checking when used in mdspan.
Filed issue here: https://github.com/llvm/llvm-project/issues/64077
Work around MinGW issue by disabling test, not removing no-unique-address.
I investigated the failure on MinGW and tracked it down to a reproducer on godbolt, which indicates this is a bug in the compiler when using --target=x86_64-w64-windows-gnu
Jul 23 2023
Attempt to fix mingw failure.
Jul 22 2023
Address last comments: make all assertions UNCATEGORIZED
Jul 21 2023
Trigger all mdspan assertions in hardened mode: all of them are related in one form or another to bounds checking. Either directly, or in order to not screw up the bounds during construction/assignment/conversion etc. which would violate the invariants of mdspan, and thus could lead to bounds checks not triggering when they should.
Fix 32bit builds and fix size assertion.
Jul 20 2023
Fix apple clang build ... TEST_CLANG_VER is not defined on apple clang ...
Fix warning on GCC
Fix formatting, add more triviality testing
Added release notes, rebased. Addressed Louis comments.
Another CI fix and add missing static assert verification.
Fix another warning from GCC
Jul 19 2023
This addresses Louis review comments. Most notably fixing a lot of constraints regarding const& vs non-const arguments and adding testing for that.
Addressed all the comments, uploading patch now.
Jul 17 2023
Split too long static_assert test, added some more non-constructibility checks
Jul 16 2023
Add a few more tests checking for explicitness of constructors, and size of mdspan.
Jul 14 2023
Rebase on main, and adding swap test.
Jul 13 2023
Address last of Louis' comments and rebase.
Add assertion tests
Jul 5 2023
Fix module file and GCC build.
Jul 4 2023
LGTM, but I haven't been here long enough to feel like I can accept this on behalf of libc++ team :-)
Jul 3 2023
Address some review comments, add conversion test.
Fix module map issue which crept in during rebase
This implements about 80% of the necessary tests, but its already a lot of code so we can collect review feedback while we do the rest.
Rebase on top of main
Rebase on top of main.
Jun 29 2023
Apply post-review changes from layout_right to layout_left
Jun 28 2023
Address review comments
Remove unused include in test
Missing include for modules build in test.
Fix another missing include
Fix module include complaint
Fix more formatting stuff.
Fix whitespace in comment in test
Jun 27 2023
Fix include order.
Fix missing include for module build
Fix some copy paste name issues in required_span_size test
Fix whitespace in comments in tests
Fix wrong comment and test name for required_span_size
Fix test which exceeds default consteval step limit, and fix formatting of fwd file.
With assertion enabled one of the tests we expanded in the last commit hit the default maximum step limit in consteval. I split the test now and run the large iteration case only in runtime mode, not in consteval.
Jun 26 2023
Address review comments.
Rebased on top of layout_right revision