This repository was archived by the owner on Sep 15, 2025. It is now read-only.
Commit b9a2658
authored
[libc++][C++03] Use
This patch implements the forwarding to frozen C++03 headers as
discussed in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the
RFC, we initially proposed selecting the right headers from the Clang
driver, however consensus seemed to steer towards handling this in the
library itself. This patch implements that direction.
At a high level, the changes basically amount to making each public
header look like this:
```
// inside <vector>
#ifdef _LIBCPP_CXX03_LANG
# include <__cxx03/vector>
#else
// normal <vector> content
#endif
```
In most cases, public headers are simple umbrella headers so there isn't
much code in the #else branch. In other cases, the #else branch contains
the actual implementation of the header.__cxx03/ headers in C++03 mode (llvm#109002)1 parent c361fd5 commit b9a2658
File tree
247 files changed
+2889
-2506
lines changed- .github/workflows
- libcxx
- cmake/caches
- include
- __cxx03
- __configuration
- __locale_dir/locale_base_api
- __thread/support
- experimental
- ext
- test
- libcxx
- algorithms
- assertions
- modes
- atomics/atomics.syn
- containers
- associative
- unord.map
- unord.set
- unord
- depr/depr.c.headers
- input.output
- file.streams/fstreams
- filebuf
- iostream.format
- input.streams
- output.streams
- string.streams
- stringbuf
- iterators
- bounded_iter
- iterator.primitives/iterator.operations
- language.support/support.dynamic
- lint
- memory
- numerics
- complex.number
- selftest
- strings/c.strings
- type_traits
- utilities
- meta
- template.bitset
- utility
- std
- containers/sequences
- array
- array.fill
- array.swap
- array.tuple
- forwardlist
- list
- vector/vector.cons
- input.output
- file.streams/fstreams
- fstream.cons
- ifstream.cons
- ofstream.cons
- iostreams.base/ios/basic.ios.members
- string.streams
- istringstream/istringstream.cons
- ostringstream/ostringstream.cons
- stringbuf/stringbuf.cons
- stringstream/stringstream.cons
- language.support/support.runtime
- numerics/c.math
- re/re.iter/re.tokiter/re.tokiter.cnstr
- strings
- basic.string
- string.view
- utilities/template.bitset/bitset.members
- support
- tools/clang_tidy_checks
- utils
- ci
- libcxx/test
- vendor/llvm
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
247 files changed
+2889
-2506
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
0 commit comments