Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Also enables libc++'s hardening mode (https://libcxx.llvm.org/Hardening.html).
I've initially enabled the strongest mode (
_LIBCPP_HARDENING_MODE_DEBUG
) but what checks are actually enabled seems to depend on the actual ABI used to compile libc++, so I don't know if all checks are actually enabled.clang 19 warns about
aligned_storage_t
being deprecated, so this requires #1280.clang 19 also diagnoses member functions that can't be instantiated, even if they're unused.
deque_anchor
had a few unused functions that could not be instantiated, but according to the standard they're allowed to not be instantiated. clang 19 diagnoses these even when unused leading to compilaton failures. This PR removes the unused member functions. A similar issue is llvm/llvm-project#102177. llvm/llvm-project#102177 gives a bit more motivation for the change. Supposedly GCC 15 will make the same change, so sooner or later we would be bitten by this anyway, and it's nice to have this diagnosed.Fixes #1300.