Skip to content

Commit 1c5225e

Browse files
committed
chore: bump LLVM commit hash to 9c5217c
1 parent 8693504 commit 1c5225e

File tree

7 files changed

+215
-78
lines changed

7 files changed

+215
-78
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: 9c5217c4edf945838ecf70ebc6004cc40c097232
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/9c5217c4edf945838ecf70ebc6004cc40c097232[9c5217c]
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 9c5217c4edf945838ecf70ebc6004cc40c097232 <.>
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: 79 additions & 17 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,30 @@ 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..._>>#
43+
[.small]#<<#f-04,_» more..._>>#
4144

4245
[source,cpp,subs="verbatim,macros,-callouts"]
4346
----
4447
template<typename T>
4548
void
46-
<<#f-08,f>>() requires pass:[(sizeof(T) == 2)];
49+
<<#f-0b,f>>() requires pass:[(sizeof(T) == 2)];
50+
----
51+
52+
[.small]#<<#f-0b,_» more..._>>#
53+
54+
[source,cpp,subs="verbatim,macros,-callouts"]
55+
----
56+
template<typename U>
57+
void
58+
<<#f-02,f>>() requires pass:[(sizeof(U) == 2)];
4759
----
4860

49-
[.small]#<<#f-08,_» more..._>>#
61+
[.small]#<<#f-02,_» more..._>>#
5062

51-
[#f-05]
63+
[#f-04]
5264
== f
5365

5466
=== Synopsis
@@ -61,7 +73,7 @@ void
6173
f() requires pass:[(sizeof(T) == 4)];
6274
----
6375

64-
[#f-08]
76+
[#f-0b]
6577
== f
6678

6779
=== Synopsis
@@ -74,6 +86,19 @@ void
7486
f() requires pass:[(sizeof(T) == 2)];
7587
----
7688

89+
[#f-02]
90+
== f
91+
92+
=== Synopsis
93+
94+
Declared in `<pass:[requires-clause.cpp]>`
95+
[source,cpp,subs="verbatim,macros,-callouts"]
96+
----
97+
template<typename U>
98+
void
99+
f() requires pass:[(sizeof(U) == 2)];
100+
----
101+
77102
[#g]
78103
== g
79104

@@ -84,21 +109,30 @@ Declared in `<pass:[requires-clause.cpp]>`
84109
----
85110
template<typename T> requires pass:[(sizeof(T) == 4)]
86111
void
87-
<<#g-0a,g>>();
112+
<<#g-00,g>>();
113+
----
114+
115+
[.small]#<<#g-00,_» more..._>>#
116+
117+
[source,cpp,subs="verbatim,macros,-callouts"]
118+
----
119+
template<typename T> requires pass:[(sizeof(T) == 2)]
120+
void
121+
<<#g-04,g>>();
88122
----
89123

90-
[.small]#<<#g-0a,_» more..._>>#
124+
[.small]#<<#g-04,_» more..._>>#
91125

92126
[source,cpp,subs="verbatim,macros,-callouts"]
93127
----
94-
template<typename T> requires pass:[(sizeof(U) == 2)]
128+
template<typename U> requires pass:[(sizeof(U) == 2)]
95129
void
96-
<<#g-0c,g>>();
130+
<<#g-03,g>>();
97131
----
98132

99-
[.small]#<<#g-0c,_» more..._>>#
133+
[.small]#<<#g-03,_» more..._>>#
100134

101-
[#g-0a]
135+
[#g-00]
102136
== g
103137

104138
=== Synopsis
@@ -111,28 +145,56 @@ void
111145
g();
112146
----
113147

114-
[#g-0c]
148+
[#g-04]
115149
== g
116150

117151
=== Synopsis
118152

119153
Declared in `<pass:[requires-clause.cpp]>`
120154
[source,cpp,subs="verbatim,macros,-callouts"]
121155
----
122-
template<typename T> requires pass:[(sizeof(U) == 2)]
156+
template<typename T> requires pass:[(sizeof(T) == 2)]
123157
void
124158
g();
125159
----
126160

127-
[#A]
161+
[#g-03]
162+
== g
163+
164+
=== Synopsis
165+
166+
Declared in `<pass:[requires-clause.cpp]>`
167+
[source,cpp,subs="verbatim,macros,-callouts"]
168+
----
169+
template<typename U> requires pass:[(sizeof(U) == 2)]
170+
void
171+
g();
172+
----
173+
174+
[#A-09]
175+
== A
176+
177+
=== Synopsis
178+
179+
Declared in `<pass:[requires-clause.cpp]>`
180+
[source,cpp,subs="verbatim,macros,-callouts"]
181+
----
182+
template<typename T> requires pass:[(sizeof(T) == 2)]
183+
struct A;
184+
----
185+
186+
187+
188+
189+
[#A-05]
128190
== A
129191

130192
=== Synopsis
131193

132194
Declared in `<pass:[requires-clause.cpp]>`
133195
[source,cpp,subs="verbatim,macros,-callouts"]
134196
----
135-
template<typename T> requires pass:[(sizeof(U) == 2)]
197+
template<typename U> requires pass:[(sizeof(U) == 2)]
136198
struct A;
137199
----
138200

0 commit comments

Comments
 (0)