Skip to content

Commit 4aef51b

Browse files
committed
chore: bump LLVM commit hash to 6f5e5b6
1 parent 833dee2 commit 4aef51b

File tree

7 files changed

+207
-90
lines changed

7 files changed

+207
-90
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: 69 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
|===
1010
| Name | Description
1111

12-
| <<#A,`A`>>
12+
| <<#A-09,`A`>>
13+
|
14+
15+
| <<#A-05,`A`>>
1316
|
1417

1518
|===
@@ -34,21 +37,24 @@ Declared in `<pass:[requires-clause.cpp]>`
3437
----
3538
template<typename T>
3639
void
37-
<<#f-05,f>>() requires pass:[(sizeof(T) == 4)];
40+
<<#f-04,f>>() requires pass:[(sizeof(T) == 4)];
3841
----
3942

40-
[.small]#<<#f-05,_» more..._>>#
41-
4243
[source,cpp,subs="verbatim,macros,-callouts"]
4344
----
4445
template<typename T>
4546
void
46-
<<#f-08,f>>() requires pass:[(sizeof(T) == 2)];
47+
<<#f-0b,f>>() requires pass:[(sizeof(T) == 2)];
4748
----
4849

49-
[.small]#<<#f-08,_» more..._>>#
50+
[source,cpp,subs="verbatim,macros,-callouts"]
51+
----
52+
template<typename U>
53+
void
54+
<<#f-02,f>>() requires pass:[(sizeof(U) == 2)];
55+
----
5056

51-
[#f-05]
57+
[#f-04]
5258
== f
5359

5460
=== Synopsis
@@ -61,7 +67,7 @@ void
6167
f() requires pass:[(sizeof(T) == 4)];
6268
----
6369

64-
[#f-08]
70+
[#f-0b]
6571
== f
6672

6773
=== Synopsis
@@ -74,6 +80,19 @@ void
7480
f() requires pass:[(sizeof(T) == 2)];
7581
----
7682

83+
[#f-02]
84+
== f
85+
86+
=== Synopsis
87+
88+
Declared in `<pass:[requires-clause.cpp]>`
89+
[source,cpp,subs="verbatim,macros,-callouts"]
90+
----
91+
template<typename U>
92+
void
93+
f() requires pass:[(sizeof(U) == 2)];
94+
----
95+
7796
[#g]
7897
== g
7998

@@ -84,21 +103,24 @@ Declared in `<pass:[requires-clause.cpp]>`
84103
----
85104
template<typename T> requires pass:[(sizeof(T) == 4)]
86105
void
87-
<<#g-0a,g>>();
106+
<<#g-00,g>>();
88107
----
89108

90-
[.small]#<<#g-0a,_» more..._>>#
91-
92109
[source,cpp,subs="verbatim,macros,-callouts"]
93110
----
94-
template<typename T> requires pass:[(sizeof(U) == 2)]
111+
template<typename T> requires pass:[(sizeof(T) == 2)]
95112
void
96-
<<#g-0c,g>>();
113+
<<#g-04,g>>();
97114
----
98115

99-
[.small]#<<#g-0c,_» more..._>>#
116+
[source,cpp,subs="verbatim,macros,-callouts"]
117+
----
118+
template<typename U> requires pass:[(sizeof(U) == 2)]
119+
void
120+
<<#g-03,g>>();
121+
----
100122

101-
[#g-0a]
123+
[#g-00]
102124
== g
103125

104126
=== Synopsis
@@ -111,28 +133,56 @@ void
111133
g();
112134
----
113135

114-
[#g-0c]
136+
[#g-04]
137+
== g
138+
139+
=== Synopsis
140+
141+
Declared in `<pass:[requires-clause.cpp]>`
142+
[source,cpp,subs="verbatim,macros,-callouts"]
143+
----
144+
template<typename T> requires pass:[(sizeof(T) == 2)]
145+
void
146+
g();
147+
----
148+
149+
[#g-03]
115150
== g
116151

117152
=== Synopsis
118153

119154
Declared in `<pass:[requires-clause.cpp]>`
120155
[source,cpp,subs="verbatim,macros,-callouts"]
121156
----
122-
template<typename T> requires pass:[(sizeof(U) == 2)]
157+
template<typename U> requires pass:[(sizeof(U) == 2)]
123158
void
124159
g();
125160
----
126161

127-
[#A]
162+
[#A-09]
163+
== A
164+
165+
=== Synopsis
166+
167+
Declared in `<pass:[requires-clause.cpp]>`
168+
[source,cpp,subs="verbatim,macros,-callouts"]
169+
----
170+
template<typename T> requires pass:[(sizeof(T) == 2)]
171+
struct A;
172+
----
173+
174+
175+
176+
177+
[#A-05]
128178
== A
129179

130180
=== Synopsis
131181

132182
Declared in `<pass:[requires-clause.cpp]>`
133183
[source,cpp,subs="verbatim,macros,-callouts"]
134184
----
135-
template<typename T> requires pass:[(sizeof(U) == 2)]
185+
template<typename U> requires pass:[(sizeof(U) == 2)]
136186
struct A;
137187
----
138188

0 commit comments

Comments
 (0)