Skip to content

Commit cb4fc48

Browse files
committed
chore: bump LLVM commit hash to 6f5e5b6
1 parent 36a9eb8 commit cb4fc48

File tree

7 files changed

+521
-207
lines changed

7 files changed

+521
-207
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
clang: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev
6464
msvc: ''
6565
extra-values: |
66-
llvm-hash: e1065370aaacb1b1cb48e77d37d376bf024f4a39
66+
llvm-hash: 6f5e5b630559f2d17bdccfab5dff3a97ac0f8c66
6767
llvm-id: {{ substr llvm-hash 0 7 }}
6868
llvm-build-preset-prefix: {{#if optimized-debug}}debwithopt{{else}}{{lowercase build-type}}{{/if}}
6969
llvm-build-preset-suffix: {{#if (ieq os 'windows') }}win{{else}}unix{{/if}}
@@ -74,10 +74,6 @@ jobs:
7474
llvm-archive-basename: llvm-{{ os }}-{{ llvm-build-preset-prefix }}-{{ llvm-id }}
7575
llvm-archive-extension: {{#if (ieq os 'windows') }}7z{{else}}tar.bz2{{/if}}
7676
llvm-archive-filename: {{ llvm-archive-basename }}.{{ llvm-archive-extension }}
77-
libcxx-runtimes: libcxx;libcxxabi{{#if (ine os 'windows') }};libunwind{{/if}}
78-
libcxx-targets: cxx {{#if (ine os 'windows') }}cxxabi unwind{{/if}} install-cxx {{#if (ine os 'windows') }}install-cxxabi install-unwind{{/if}}
79-
libcxx-cxxflags: {{#if (ieq os 'windows') }}-D__ORDER_LITTLE_ENDIAN__=1234 -D__ORDER_BIG_ENDIAN__=4321 -D__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__{{/if}}
80-
libcxx-cmake-args: -D LLVM_ENABLE_RUNTIMES="{{ libcxx-runtimes }}" {{#if (ieq os 'windows') }}-D LIBCXXABI_USE_LLVM_UNWINDER=OFF -D LIBCXXABI_ENABLE_SHARED=OFF -D LIBCXXABI_ENABLE_STATIC=ON -D LIBCXX_ENABLE_SHARED=OFF -D LIBCXX_NO_VCRUNTIME=ON{{/if}} {{#if (ieq os 'macos') }}-D CMAKE_OSX_ARCHITECTURES=""{{/if}}
8177
mrdocs-ccflags: {{ ccflags }} {{#if (eq compiler 'gcc') }}-static{{/if}} {{#if asan }}-static-libasan{{/if}} {{#if tsan }}-static-libtsan{{/if}}
8278
mrdocs-cxxflags: {{ cxxflags }} {{#if (eq compiler 'gcc') }}-static{{/if}} {{#if asan }}-static-libasan{{/if}} {{#if tsan }}-static-libtsan{{/if}}
8379
mrdocs-package-generators: {{#if (ieq os 'windows') }}7Z ZIP WIX{{else}}TGZ TXZ{{/if}}
@@ -337,25 +333,7 @@ jobs:
337333
build-type: ${{ matrix.build-type }}
338334
cc: ${{ steps.setup-cpp.outputs.cc }}
339335
cxx: ${{ steps.setup-cpp.outputs.cxx }}
340-
install: true
341-
install-prefix: ${sourceDir}/../install
342-
run-tests: false
343-
trace-commands: true
344-
345-
- name: Install LibC++
346-
uses: alandefreitas/cpp-actions/[email protected]
347-
if: steps.llvm-cache.outputs.cache-hit != 'true' && steps.llvm-download.outputs.found != 'true'
348-
with:
349-
cmake-version: '>=3.26'
350-
source-dir: ../third-party/llvm-project/runtimes
351-
build-dir: ${sourceDir}/build-libcxx
352-
build-target: ${{ matrix.libcxx-targets }}
353-
# MrDocs will only use the LibC++ headers: any compiler that works in this workflow will do
354-
cc: ${{ runner.os == 'macOS' && steps.setup-cpp.outputs.cc || '../third-party/llvm-project/install/bin/clang' }}
355-
cxx: ${{ runner.os == 'macOS' && steps.setup-cpp.outputs.cxx || '../third-party/llvm-project/install/bin/clang++' }}
356-
cxxflags: ${{ matrix.libcxx-cxxflags }}
357336
generator: Ninja
358-
extra-args: ${{ matrix.libcxx-cmake-args }}
359337
install: true
360338
install-prefix: ${sourceDir}/../install
361339
run-tests: false

docs/modules/ROOT/pages/install.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ NOTE: These examples assume VcPkg is already installed in the `third-party/vcpkg
297297
=== LLVM
298298

299299
MrDocs uses LLVM to parse C++ code and extract documentation from it.
300-
It depends on a recent version of LLVM: https://github.com/llvm/llvm-project/tree/e1065370aaacb1b1cb48e77d37d376bf024f4a39[e1065370]
300+
It depends on a recent version of LLVM: https://github.com/llvm/llvm-project/tree/6f5e5b630559f2d17bdccfab5dff3a97ac0f8c66[6f5e5b6]
301301

302302
**Download**:
303303

@@ -310,7 +310,7 @@ mkdir -p llvm-project <.>
310310
cd llvm-project
311311
git init <.>
312312
git remote add origin https://github.com/llvm/llvm-project.git <.>
313-
git fetch --depth 1 origin e1065370aaacb1b1cb48e77d37d376bf024f4a39 <.>
313+
git fetch --depth 1 origin 6f5e5b630559f2d17bdccfab5dff3a97ac0f8c66 <.>
314314
git checkout FETCH_HEAD <.>
315315
----
316316

src/lib/AST/ASTVisitor.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1697,15 +1697,15 @@ class ASTVisitor
16971697
template_params, sfinae_info->Arguments, param_idx);
16981698
if(! param_arg)
16991699
return std::nullopt;
1700-
unsigned ParamIdx = FindParam(ATD->getInjectedTemplateArgs(), *param_arg);
1700+
unsigned ParamIdx = FindParam(ATD->getInjectedTemplateArgs(context_), *param_arg);
17011701
return std::make_tuple(ATD->getTemplateParameters(), std::move(controlling_params), ParamIdx);
17021702
}
17031703

17041704
auto* CTD = dyn_cast<ClassTemplateDecl>(TD);
17051705
if(! CTD)
17061706
return std::nullopt;
17071707

1708-
auto PrimaryArgs = CTD->getInjectedTemplateArgs();
1708+
auto PrimaryArgs = CTD->getInjectedTemplateArgs(context_);
17091709
llvm::SmallBitVector ControllingParams(PrimaryArgs.size());
17101710

17111711
QualType MemberType;

test-files/golden-tests/requires-clause.adoc

Lines changed: 159 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
= Reference
22
:mrdocs:
3-
43
[#index]
54
== Global namespace
65

7-
=== Types
6+
=== Types
87
[cols=2]
98
|===
109
| Name | Description
1110

12-
| <<#A,`A`>>
11+
| <<#A-09,`A`>>
1312
|
14-
13+
14+
| <<#A-05,`A`>>
15+
|
16+
1517
|===
1618
=== Functions
1719
[cols=2]
@@ -27,104 +29,243 @@
2729
[#f]
2830
== f
2931

32+
33+
3034
=== Synopsis
35+
3136

32-
Declared in `<pass:[requires-clause.cpp]>`
3337
[source,cpp,subs="verbatim,macros,-callouts"]
3438
----
3539
template<typename T>
3640
void
37-
<<#f-05,f>>() requires pass:[(sizeof(T) == 4)];
41+
<<#f-04,f>>() requires pass:[(sizeof(T) == 4)];
3842
----
3943

4044
[source,cpp,subs="verbatim,macros,-callouts"]
4145
----
4246
template<typename T>
4347
void
44-
<<#f-08,f>>() requires pass:[(sizeof(T) == 2)];
48+
<<#f-0b,f>>() requires pass:[(sizeof(T) == 2)];
4549
----
4650

47-
[#f-05]
51+
[source,cpp,subs="verbatim,macros,-callouts"]
52+
----
53+
template<typename U>
54+
void
55+
<<#f-02,f>>() requires pass:[(sizeof(U) == 2)];
56+
----
57+
58+
59+
60+
61+
62+
63+
64+
65+
[#f-04]
4866
== f
4967

68+
69+
5070
=== Synopsis
5171

5272
Declared in `<pass:[requires-clause.cpp]>`
73+
5374
[source,cpp,subs="verbatim,macros,-callouts"]
5475
----
5576
template<typename T>
5677
void
5778
f() requires pass:[(sizeof(T) == 4)];
5879
----
5980

60-
[#f-08]
81+
82+
83+
84+
85+
86+
87+
88+
[#f-0b]
6189
== f
6290

91+
92+
6393
=== Synopsis
6494

6595
Declared in `<pass:[requires-clause.cpp]>`
96+
6697
[source,cpp,subs="verbatim,macros,-callouts"]
6798
----
6899
template<typename T>
69100
void
70101
f() requires pass:[(sizeof(T) == 2)];
71102
----
72103

104+
105+
106+
107+
108+
109+
110+
111+
[#f-02]
112+
== f
113+
114+
115+
116+
=== Synopsis
117+
118+
Declared in `<pass:[requires-clause.cpp]>`
119+
120+
[source,cpp,subs="verbatim,macros,-callouts"]
121+
----
122+
template<typename U>
123+
void
124+
f() requires pass:[(sizeof(U) == 2)];
125+
----
126+
127+
128+
129+
130+
131+
132+
133+
73134
[#g]
74135
== g
75136

137+
138+
76139
=== Synopsis
140+
77141

78-
Declared in `<pass:[requires-clause.cpp]>`
79142
[source,cpp,subs="verbatim,macros,-callouts"]
80143
----
81144
template<typename T> requires pass:[(sizeof(T) == 4)]
82145
void
83-
<<#g-0a,g>>();
146+
<<#g-00,g>>();
147+
----
148+
149+
[source,cpp,subs="verbatim,macros,-callouts"]
150+
----
151+
template<typename T> requires pass:[(sizeof(T) == 2)]
152+
void
153+
<<#g-04,g>>();
84154
----
85155

86156
[source,cpp,subs="verbatim,macros,-callouts"]
87157
----
88-
template<typename T> requires pass:[(sizeof(U) == 2)]
158+
template<typename U> requires pass:[(sizeof(U) == 2)]
89159
void
90-
<<#g-0c,g>>();
160+
<<#g-03,g>>();
91161
----
162+
163+
164+
92165

93-
[#g-0a]
166+
167+
168+
169+
170+
[#g-00]
94171
== g
95172

173+
174+
96175
=== Synopsis
97176

98177
Declared in `<pass:[requires-clause.cpp]>`
178+
99179
[source,cpp,subs="verbatim,macros,-callouts"]
100180
----
101181
template<typename T> requires pass:[(sizeof(T) == 4)]
102182
void
103183
g();
104184
----
105185

106-
[#g-0c]
186+
187+
188+
189+
190+
191+
192+
193+
[#g-04]
194+
== g
195+
196+
197+
198+
=== Synopsis
199+
200+
Declared in `<pass:[requires-clause.cpp]>`
201+
202+
[source,cpp,subs="verbatim,macros,-callouts"]
203+
----
204+
template<typename T> requires pass:[(sizeof(T) == 2)]
205+
void
206+
g();
207+
----
208+
209+
210+
211+
212+
213+
214+
215+
216+
[#g-03]
107217
== g
108218

219+
220+
109221
=== Synopsis
110222

111223
Declared in `<pass:[requires-clause.cpp]>`
224+
112225
[source,cpp,subs="verbatim,macros,-callouts"]
113226
----
114-
template<typename T> requires pass:[(sizeof(U) == 2)]
227+
template<typename U> requires pass:[(sizeof(U) == 2)]
115228
void
116229
g();
117230
----
118231

119-
[#A]
232+
233+
234+
235+
236+
237+
238+
239+
[#A-09]
240+
== A
241+
242+
243+
244+
=== Synopsis
245+
246+
Declared in `<pass:[requires-clause.cpp]>`
247+
248+
[source,cpp,subs="verbatim,macros,-callouts"]
249+
----
250+
template<typename T> requires pass:[(sizeof(T) == 2)]
251+
struct A;
252+
----
253+
254+
255+
256+
257+
[#A-05]
120258
== A
121259

260+
261+
122262
=== Synopsis
123263

124264
Declared in `<pass:[requires-clause.cpp]>`
265+
125266
[source,cpp,subs="verbatim,macros,-callouts"]
126267
----
127-
template<typename T> requires pass:[(sizeof(U) == 2)]
268+
template<typename U> requires pass:[(sizeof(U) == 2)]
128269
struct A;
129270
----
130271

0 commit comments

Comments
 (0)