Skip to content

Commit df5433e

Browse files
authored
Update libc++ to LLVM 14 (#17000)
No major conflicts or changes required.
1 parent 2b45f62 commit df5433e

File tree

587 files changed

+40012
-19595
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

587 files changed

+40012
-19595
lines changed

ChangeLog.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ See docs/process.md for more on how version tagging works.
2626
wide under `wasm64`. (#16938)
2727
- The `EM_BUILD_VERBOSE` environment variable only effects test code these days
2828
and therefore was renamed to `EMTEST_BUILD_VERBOSE`. (#16904)
29-
- compiler-rt code updated to LLVM 14. (#16991)
29+
- compiler-rt updated to LLVM 14. (#16991)
30+
- libc++ updated to LLVM 14. (#17000)
3031

3132
3.1.10 - 05/02/2022
3233
-------------------

system/lib/libcxx/CREDITS.TXT

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ N: Saleem Abdulrasool
1212
1313
D: Minor patches and Linux fixes.
1414

15+
N: Ulf Adams
16+
D: Invented the Ryu and Ryu Printf algorithms used in floating-point to_chars, and wrote the initial code.
17+
18+
N: Muiez Ahmed
19+
20+
D: z/OS port.
21+
1522
N: Dan Albert
1623
1724
D: Android support and test runner improvements.
@@ -24,9 +31,8 @@ N: Holger Arnold
2431
2532
D: Minor fix.
2633

27-
N: Ruben Van Boxem
28-
E: vanboxem dot ruben at gmail dot com
29-
D: Initial Windows patches.
34+
N: Jorg Brown
35+
D: Ported floating-point to_chars from MSVC to libc++.
3036

3137
N: David Chisnall
3238
E: theraven at theravensnest dot org
@@ -41,6 +47,10 @@ N: Jonathan B Coe
4147
4248
D: Implementation of propagate_const.
4349

50+
N: Matthew Dempsky
51+
52+
D: Minor patches and bug fixes.
53+
4454
N: Christopher Di Bella
4555
4656
@@ -58,10 +68,6 @@ N: Bill Fisher
5868
5969
D: Regex bug fixes.
6070

61-
N: Matthew Dempsky
62-
63-
D: Minor patches and bug fixes.
64-
6571
N: Google Inc.
6672
D: Copyright owner and contributor of the CityHash algorithm
6773

@@ -81,6 +87,14 @@ N: Argyrios Kyrtzidis
8187
8288
D: Bug fixes.
8389

90+
N: Stephan T. Lavavej
91+
92+
93+
D: Implemented floating-point to_chars.
94+
95+
N: Microsoft Corporation
96+
D: Contributed floating-point to_chars.
97+
8498
N: Bruce Mitchener, Jr.
8599
86100
D: Emscripten-related changes.
@@ -113,6 +127,10 @@ N: Jon Roelofs
113127
114128
D: Remote testing, Newlib port, baremetal/single-threaded support.
115129

130+
N: Kent Ross
131+
132+
D: Patches for operator<=> support
133+
116134
N: Jonathan Sauer
117135
D: Minor patches, mostly related to constexpr
118136

@@ -131,6 +149,10 @@ N: Stephan Tolksdorf
131149
132150
D: Minor <atomic> fix
133151

152+
N: Ruben Van Boxem
153+
E: vanboxem dot ruben at gmail dot com
154+
D: Initial Windows patches.
155+
134156
N: Michael van der Westhuizen
135157
E: r1mikey at gmail dot com
136158

@@ -141,6 +163,11 @@ N: Klaas de Vries
141163
E: klaas at klaasgaaf dot nl
142164
D: Minor bug fix.
143165

166+
N: Mark de Wever
167+
E: koraq at xs4all dot nl
168+
D: Format library support.
169+
D: Finalized the porting of MSVC's to_chars to libc++.
170+
144171
N: Zhang Xiongpang
145172
146173
D: Minor patches and bug fixes.
@@ -149,11 +176,11 @@ N: Xing Xue
149176
150177
D: AIX port
151178

152-
N: Zhihao Yuan
153-
154-
D: Standard compatibility fixes.
155-
156179
N: Jeffrey Yasskin
157180
158181
159182
D: Linux fixes.
183+
184+
N: Zhihao Yuan
185+
186+
D: Standard compatibility fixes.

system/lib/libcxx/include/__algorithm/adjacent_find.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,14 @@
1010
#ifndef _LIBCPP___ALGORITHM_ADJACENT_FIND_H
1111
#define _LIBCPP___ALGORITHM_ADJACENT_FIND_H
1212

13-
#include <__config>
1413
#include <__algorithm/comp.h>
14+
#include <__config>
1515
#include <__iterator/iterator_traits.h>
1616

1717
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
1818
#pragma GCC system_header
1919
#endif
2020

21-
_LIBCPP_PUSH_MACROS
22-
#include <__undef_macros>
23-
2421
_LIBCPP_BEGIN_NAMESPACE_STD
2522

2623
template <class _ForwardIterator, class _BinaryPredicate>
@@ -46,6 +43,4 @@ adjacent_find(_ForwardIterator __first, _ForwardIterator __last) {
4643

4744
_LIBCPP_END_NAMESPACE_STD
4845

49-
_LIBCPP_POP_MACROS
50-
5146
#endif // _LIBCPP___ALGORITHM_ADJACENT_FIND_H

system/lib/libcxx/include/__algorithm/all_of.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
#pragma GCC system_header
1717
#endif
1818

19-
_LIBCPP_PUSH_MACROS
20-
#include <__undef_macros>
21-
2219
_LIBCPP_BEGIN_NAMESPACE_STD
2320

2421
template <class _InputIterator, class _Predicate>
@@ -32,6 +29,4 @@ all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
3229

3330
_LIBCPP_END_NAMESPACE_STD
3431

35-
_LIBCPP_POP_MACROS
36-
3732
#endif // _LIBCPP___ALGORITHM_ALL_OF_H

system/lib/libcxx/include/__algorithm/any_of.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
#pragma GCC system_header
1717
#endif
1818

19-
_LIBCPP_PUSH_MACROS
20-
#include <__undef_macros>
21-
2219
_LIBCPP_BEGIN_NAMESPACE_STD
2320

2421
template <class _InputIterator, class _Predicate>
@@ -32,6 +29,4 @@ any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
3229

3330
_LIBCPP_END_NAMESPACE_STD
3431

35-
_LIBCPP_POP_MACROS
36-
3732
#endif // _LIBCPP___ALGORITHM_ANY_OF_H

system/lib/libcxx/include/__algorithm/binary_search.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,16 @@
99
#ifndef _LIBCPP___ALGORITHM_BINARY_SEARCH_H
1010
#define _LIBCPP___ALGORITHM_BINARY_SEARCH_H
1111

12-
#include <__config>
1312
#include <__algorithm/comp.h>
14-
#include <__algorithm/lower_bound.h>
1513
#include <__algorithm/comp_ref_type.h>
14+
#include <__algorithm/lower_bound.h>
15+
#include <__config>
1616
#include <__iterator/iterator_traits.h>
1717

1818
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
1919
#pragma GCC system_header
2020
#endif
2121

22-
_LIBCPP_PUSH_MACROS
23-
#include <__undef_macros>
24-
2522
_LIBCPP_BEGIN_NAMESPACE_STD
2623

2724
template <class _Compare, class _ForwardIterator, class _Tp>
@@ -53,9 +50,6 @@ binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
5350
__less<typename iterator_traits<_ForwardIterator>::value_type, _Tp>());
5451
}
5552

56-
5753
_LIBCPP_END_NAMESPACE_STD
5854

59-
_LIBCPP_POP_MACROS
60-
6155
#endif // _LIBCPP___ALGORITHM_BINARY_SEARCH_H

system/lib/libcxx/include/__algorithm/clamp.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,17 @@
99
#ifndef _LIBCPP___ALGORITHM_CLAMP_H
1010
#define _LIBCPP___ALGORITHM_CLAMP_H
1111

12+
#include <__algorithm/comp.h>
1213
#include <__config>
1314
#include <__debug>
14-
#include <__algorithm/comp.h>
1515

1616
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
1717
#pragma GCC system_header
1818
#endif
1919

20-
_LIBCPP_PUSH_MACROS
21-
#include <__undef_macros>
22-
2320
_LIBCPP_BEGIN_NAMESPACE_STD
2421

2522
#if _LIBCPP_STD_VER > 14
26-
// clamp
2723
template<class _Tp, class _Compare>
2824
_LIBCPP_NODISCARD_EXT inline
2925
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
@@ -47,6 +43,4 @@ clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
4743

4844
_LIBCPP_END_NAMESPACE_STD
4945

50-
_LIBCPP_POP_MACROS
51-
5246
#endif // _LIBCPP___ALGORITHM_CLAMP_H

system/lib/libcxx/include/__algorithm/comp.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
#pragma GCC system_header
1616
#endif
1717

18-
_LIBCPP_PUSH_MACROS
19-
#include <__undef_macros>
20-
2118
_LIBCPP_BEGIN_NAMESPACE_STD
2219

2320
// I'd like to replace these with _VSTD::equal_to<void>, but can't because:
@@ -92,6 +89,4 @@ struct __less<_T1, const _T1>
9289

9390
_LIBCPP_END_NAMESPACE_STD
9491

95-
_LIBCPP_POP_MACROS
96-
9792
#endif // _LIBCPP___ALGORITHM_COMP_H

system/lib/libcxx/include/__algorithm/comp_ref_type.h

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@
1010
#define _LIBCPP___ALGORITHM_COMP_REF_TYPE_H
1111

1212
#include <__config>
13-
#include <type_traits>
13+
14+
#ifdef _LIBCPP_DEBUG
15+
# include <__debug>
16+
# include <__utility/declval.h>
17+
#endif
1418

1519
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
1620
#pragma GCC system_header
1721
#endif
1822

19-
_LIBCPP_PUSH_MACROS
20-
#include <__undef_macros>
21-
2223
_LIBCPP_BEGIN_NAMESPACE_STD
2324

2425
#ifdef _LIBCPP_DEBUG
@@ -27,11 +28,11 @@ template <class _Compare>
2728
struct __debug_less
2829
{
2930
_Compare &__comp_;
30-
_LIBCPP_CONSTEXPR_AFTER_CXX17
31+
_LIBCPP_CONSTEXPR_AFTER_CXX11
3132
__debug_less(_Compare& __c) : __comp_(__c) {}
3233

3334
template <class _Tp, class _Up>
34-
_LIBCPP_CONSTEXPR_AFTER_CXX17
35+
_LIBCPP_CONSTEXPR_AFTER_CXX11
3536
bool operator()(const _Tp& __x, const _Up& __y)
3637
{
3738
bool __r = __comp_(__x, __y);
@@ -41,7 +42,7 @@ struct __debug_less
4142
}
4243

4344
template <class _Tp, class _Up>
44-
_LIBCPP_CONSTEXPR_AFTER_CXX17
45+
_LIBCPP_CONSTEXPR_AFTER_CXX11
4546
bool operator()(_Tp& __x, _Up& __y)
4647
{
4748
bool __r = __comp_(__x, __y);
@@ -51,7 +52,7 @@ struct __debug_less
5152
}
5253

5354
template <class _LHS, class _RHS>
54-
_LIBCPP_CONSTEXPR_AFTER_CXX17
55+
_LIBCPP_CONSTEXPR_AFTER_CXX11
5556
inline _LIBCPP_INLINE_VISIBILITY
5657
decltype((void)declval<_Compare&>()(
5758
declval<_LHS &>(), declval<_RHS &>()))
@@ -61,7 +62,7 @@ struct __debug_less
6162
}
6263

6364
template <class _LHS, class _RHS>
64-
_LIBCPP_CONSTEXPR_AFTER_CXX17
65+
_LIBCPP_CONSTEXPR_AFTER_CXX11
6566
inline _LIBCPP_INLINE_VISIBILITY
6667
void __do_compare_assert(long, _LHS &, _RHS &) {}
6768
};
@@ -73,15 +74,12 @@ struct __comp_ref_type {
7374
// Pass the comparator by lvalue reference. Or in debug mode, using a
7475
// debugging wrapper that stores a reference.
7576
#ifndef _LIBCPP_DEBUG
76-
typedef typename add_lvalue_reference<_Comp>::type type;
77+
typedef _Comp& type;
7778
#else
7879
typedef __debug_less<_Comp> type;
7980
#endif
8081
};
8182

82-
8383
_LIBCPP_END_NAMESPACE_STD
8484

85-
_LIBCPP_POP_MACROS
86-
8785
#endif // _LIBCPP___ALGORITHM_COMP_REF_TYPE_H

system/lib/libcxx/include/__algorithm/copy.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
#ifndef _LIBCPP___ALGORITHM_COPY_H
1010
#define _LIBCPP___ALGORITHM_COPY_H
1111

12-
#include <__config>
1312
#include <__algorithm/unwrap_iter.h>
13+
#include <__config>
1414
#include <__iterator/iterator_traits.h>
1515
#include <cstring>
1616
#include <type_traits>
@@ -19,9 +19,6 @@
1919
#pragma GCC system_header
2020
#endif
2121

22-
_LIBCPP_PUSH_MACROS
23-
#include <__undef_macros>
24-
2522
_LIBCPP_BEGIN_NAMESPACE_STD
2623

2724
// copy
@@ -77,6 +74,4 @@ copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
7774

7875
_LIBCPP_END_NAMESPACE_STD
7976

80-
_LIBCPP_POP_MACROS
81-
8277
#endif // _LIBCPP___ALGORITHM_COPY_H

system/lib/libcxx/include/__algorithm/copy_backward.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
#ifndef _LIBCPP___ALGORITHM_COPY_BACKWARD_H
1010
#define _LIBCPP___ALGORITHM_COPY_BACKWARD_H
1111

12-
#include <__config>
1312
#include <__algorithm/unwrap_iter.h>
13+
#include <__config>
1414
#include <__iterator/iterator_traits.h>
1515
#include <cstring>
1616
#include <type_traits>
@@ -19,9 +19,6 @@
1919
#pragma GCC system_header
2020
#endif
2121

22-
_LIBCPP_PUSH_MACROS
23-
#include <__undef_macros>
24-
2522
_LIBCPP_BEGIN_NAMESPACE_STD
2623

2724
template <class _BidirectionalIterator, class _OutputIterator>
@@ -79,6 +76,4 @@ copy_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last,
7976

8077
_LIBCPP_END_NAMESPACE_STD
8178

82-
_LIBCPP_POP_MACROS
83-
8479
#endif // _LIBCPP___ALGORITHM_COPY_BACKWARD_H

0 commit comments

Comments
 (0)