aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CommandFlags.cpp
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2025-08-28 18:11:13 -0400
committerGitHub <noreply@github.com>2025-08-28 18:11:13 -0400
commit1213d4ece0e8f391dfca2bd4a184197004442e70 (patch)
treea1a953613c68a5a9ef1213cb247ed5f9f74c2fc0 /llvm/lib/CodeGen/CommandFlags.cpp
parent810f06ec3e87e924f9cf1a60f1440663f8f70d82 (diff)
downloadllvm-1213d4ece0e8f391dfca2bd4a184197004442e70.zip
llvm-1213d4ece0e8f391dfca2bd4a184197004442e70.tar.gz
llvm-1213d4ece0e8f391dfca2bd4a184197004442e70.tar.bz2
[libc++] Stabilize transitive includes for C++23 (#134143)
Our mechanism to retain transitive includes for backwards compatibility was previously not taking into account C++23: this means that users on C++23 would not get any protection against the removal of transitive includes. This was fine when C++23 was still not used widely and it allowed us to make build time improvements for such "bleeding edge" users. It also didn't take into account the larger topic of providing a backwards compatible set of declarations, which is the real goal of this mechanism. However, now that C++23 is used pretty widely, we should start providing transitive includes backwards compatibility for users of that language mode too. This patch documents that requirement and mentions backwards compatibility of the set of declarations as well, meaning we may also add internal headers in the `_LIBCPP_REMOVE_TRANSITIVE_INCLUDES` blocks going forward. There are no actual changes to the code since we haven't removed transitive includes since the last release. However, starting now, we should guard any removal of transitive includes behind #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 23 instead of #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
Diffstat (limited to 'llvm/lib/CodeGen/CommandFlags.cpp')
0 files changed, 0 insertions, 0 deletions