Skip to content

Commit 81b82c6

Browse files
authored
Merge branch 'main' into users/mtrofin/10-10-_profcheck_update_xfail_list
2 parents 2a5a05e + 8a598f1 commit 81b82c6

File tree

102 files changed

+3937
-1764
lines changed

Some content is hidden

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

102 files changed

+3937
-1764
lines changed

.github/workflows/release-binaries-save-stage/action.yml

Lines changed: 0 additions & 44 deletions
This file was deleted.

.github/workflows/release-binaries-setup-stage/action.yml

Lines changed: 0 additions & 59 deletions
This file was deleted.

.github/workflows/release-binaries.yml

Lines changed: 21 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -194,40 +194,30 @@ jobs:
194194
runs-on: ${{ needs.prepare.outputs.build-runs-on }}
195195
steps:
196196

197-
- name: Checkout Actions
198-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
199-
with:
200-
ref: ${{ (github.event_name == 'pull_request' && github.sha) || 'main' }}
201-
sparse-checkout: |
202-
.github/workflows/
203-
sparse-checkout-cone-mode: false
204-
# Check out outside of working directory so the source checkout doesn't
205-
# remove it.
206-
path: workflows
207-
208-
# actions/checkout does not support paths outside of the GITHUB_WORKSPACE.
209-
# Also, anything that we put inside of GITHUB_WORKSPACE will be overwritten
210-
# by future actions/checkout steps. Therefore, in order to checkout the
211-
# latest actions from main, we need to first checkout out the actions inside of
212-
# GITHUB_WORKSPACE (see previous step), then use actions/checkout to checkout
213-
# the code being built and the move the actions from main back into GITHUB_WORKSPACE,
214-
# becasue the uses on composite actions only reads workflows from inside GITHUB_WORKSPACE.
215-
- shell: bash
216-
run: mv workflows ../workflows-main
217-
218197
- name: Checkout LLVM
219198
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
220199
with:
221200
ref: ${{ needs.prepare.outputs.ref }}
222201

223-
- name: Copy main workflows
224-
shell: bash
225-
run: |
226-
mv ../workflows-main .
202+
- name: Install Ninja
203+
uses: llvm/actions/install-ninja@a1ea791b03c8e61f53a0e66f2f73db283aa0f01e # main
204+
205+
- name: Setup Windows
206+
if: startsWith(runner.os, 'Windows')
207+
uses: llvm/actions/setup-windows@main
208+
with:
209+
arch: amd64
227210

228-
- name: Setup Stage
211+
- name: Set Build Prefix
229212
id: setup-stage
230-
uses: ./workflows-main/.github/workflows/release-binaries-setup-stage
213+
shell: bash
214+
run: |
215+
build_prefix=`pwd`
216+
if [ "${{ runner.os }}" = "Linux" ]; then
217+
sudo chown $USER:$USER /mnt/
218+
build_prefix=/mnt/
219+
fi
220+
echo "build-prefix=$build_prefix" >> $GITHUB_OUTPUT
231221
232222
- name: Configure
233223
id: build
@@ -258,17 +248,11 @@ jobs:
258248
path: |
259249
${{ needs.prepare.outputs.release-binary-filename }}
260250
261-
# Clean up some build files to reduce size of artifact.
262-
- name: Clean Up Build Directory
263-
shell: bash
251+
- name: Run Tests
252+
# These almost always fail so don't let them fail the build and prevent the uploads.
253+
continue-on-error: true
264254
run: |
265-
find ${{ steps.setup-stage.outputs.build-prefix }}/build -iname ${{ needs.prepare.outputs.release-binary-filename }} -delete
266-
find ${{ steps.setup-stage.outputs.build-prefix }}/build -iname _CPack_Packages -prune -exec rm -r {} +
267-
268-
- name: Save Stage
269-
uses: ./workflows-main/.github/workflows/release-binaries-save-stage
270-
with:
271-
build-prefix: ${{ steps.setup-stage.outputs.build-prefix }}
255+
ninja -C ${{ steps.setup-stage.outputs.build-prefix }}/build stage2-check-all
272256
273257
upload-release-binaries:
274258
name: "Upload Release Binaries"
@@ -327,31 +311,3 @@ jobs:
327311
--release ${{ needs.prepare.outputs.release-version }} \
328312
upload \
329313
--files ${{ needs.prepare.outputs.release-binary-filename }}*
330-
331-
test-release:
332-
name: "Test Release"
333-
needs:
334-
- prepare
335-
- build-release-package
336-
if: >-
337-
github.repository_owner == 'llvm'
338-
runs-on: ${{ needs.prepare.outputs.test-runs-on }}
339-
steps:
340-
- name: Checkout Actions
341-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
342-
with:
343-
ref: ${{ (github.event_name == 'pull_request' && github.sha) || 'main' }}
344-
sparse-checkout: |
345-
.github/workflows/
346-
sparse-checkout-cone-mode: false
347-
path: workflows
348-
- name: Setup Stage
349-
id: setup-stage
350-
uses: ./workflows/.github/workflows/release-binaries-setup-stage
351-
with:
352-
previous-artifact: build-release-package
353-
354-
- name: Run Tests
355-
shell: bash
356-
run: |
357-
ninja -C ${{ steps.setup-stage.outputs.build-prefix }}/build stage2-check-all

clang-tools-extra/clang-doc/JSONGenerator.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -582,11 +582,10 @@ static SmallString<16> determineFileName(Info *I, SmallString<128> &Path) {
582582
if (I->IT == InfoType::IT_record) {
583583
auto *RecordSymbolInfo = static_cast<SymbolInfo *>(I);
584584
FileName = RecordSymbolInfo->MangledName;
585-
} else if (I->IT == InfoType::IT_namespace && I->Name != "")
586-
// Serialize the global namespace as index.json
587-
FileName = I->Name;
585+
} else if (I->USR == GlobalNamespaceID)
586+
FileName = "index";
588587
else
589-
FileName = I->getFileBaseName();
588+
FileName = I->Name;
590589
sys::path::append(Path, FileName + ".json");
591590
return FileName;
592591
}

clang-tools-extra/clang-doc/Representation.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ namespace doc {
3030
// SHA1'd hash of a USR.
3131
using SymbolID = std::array<uint8_t, 20>;
3232

33+
constexpr SymbolID GlobalNamespaceID = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
34+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
35+
3336
struct BaseRecordInfo;
3437
struct EnumInfo;
3538
struct FunctionInfo;

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13665,11 +13665,6 @@ def warn_acc_var_referenced_lacks_op
1366513665
"reference has no effect">,
1366613666
InGroup<DiagGroup<"openacc-var-lacks-operation">>,
1366713667
DefaultError;
13668-
def err_acc_reduction_recipe_no_op
13669-
: Error<"variable of type %0 referenced in OpenACC 'reduction' clause does "
13670-
"not have a valid operation available">;
13671-
def note_acc_reduction_recipe_noop_field
13672-
: Note<"while forming combiner for compound type %0">;
1367313668

1367413669
// AMDGCN builtins diagnostics
1367513670
def err_amdgcn_load_lds_size_invalid_value : Error<"invalid size value">;

clang/include/clang/Driver/Options.td

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -545,15 +545,16 @@ multiclass BoolFOption<string flag_base, KeyPathAndMacro kpm,
545545
Group<f_Group>;
546546
}
547547

548-
// Creates a BoolOption where both of the flags are prefixed with "g" and have
549-
// the Group<g_Group>.
548+
// Creates a BoolOption where both of the flags are prefixed with "g".
549+
// Does *not* map to g_Group, because that is reserved for flags that are
550+
// intended to enable (or disable) debug info, which is not appropriate for a
551+
// negative boolean flag (-gno-${feature}).
550552
// Used for -cc1 frontend options. Driver-only options do not map to
551553
// CompilerInvocation.
552554
multiclass BoolGOption<string flag_base, KeyPathAndMacro kpm,
553555
Default default, FlagDef flag1, FlagDef flag2,
554556
BothFlags both = BothFlags<[]>> {
555-
defm NAME : BoolOption<"g", flag_base, kpm, default, flag1, flag2, both>,
556-
Group<g_Group>;
557+
defm NAME : BoolOption<"g", flag_base, kpm, default, flag1, flag2, both>;
557558
}
558559

559560
multiclass BoolMOption<string flag_base, KeyPathAndMacro kpm,
@@ -4845,8 +4846,7 @@ defm structor_decl_linkage_names
48454846
NegFlag<SetFalse>,
48464847
PosFlag<SetTrue, [], [],
48474848
"Attach linkage names to C++ constructor/destructor "
4848-
"declarations in DWARF."
4849-
"Implies -g.">,
4849+
"declarations in DWARF.">,
48504850
BothFlags<[], [ClangOption, CLOption, CC1Option]>>,
48514851
DocBrief<[{On some ABIs (e.g., Itanium), constructors and destructors may have multiple variants. Historically, when generating DWARF, Clang did not attach ``DW_AT_linkage_name`` to structor DIEs because there were multiple possible manglings (depending on the structor variant) that could be used. With ``-gstructor-decl-linkage-names``, for ABIs with structor variants, we attach a "unified" mangled name to structor declarations DIEs which debuggers can use to look up all the definitions for a structor declaration. E.g., a "unified" mangled name ``_ZN3FooC4Ev`` may have multiple definitions associated with it such as ``_ZN3FooC1Ev`` and ``_ZN3FooC2Ev``.
48524852

@@ -4855,7 +4855,7 @@ defm key_instructions : BoolGOption<"key-instructions",
48554855
CodeGenOpts<"DebugKeyInstructions">, DefaultFalse,
48564856
NegFlag<SetFalse>, PosFlag<SetTrue, [], [],
48574857
"Enable Key Instructions, which reduces the jumpiness of debug stepping in optimized C/C++ code"
4858-
" in some debuggers. DWARF only. Implies -g.">,
4858+
" in some debuggers. DWARF only.">,
48594859
BothFlags<[], [ClangOption, CLOption, CC1Option]>>;
48604860
def headerpad__max__install__names : Joined<["-"], "headerpad_max_install_names">;
48614861
def help : Flag<["-", "--"], "help">,

clang/include/clang/Sema/SemaOpenACC.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,11 +228,6 @@ class SemaOpenACC : public SemaBase {
228228

229229
bool DiagnoseAllowedClauses(OpenACCDirectiveKind DK, OpenACCClauseKind CK,
230230
SourceLocation ClauseLoc);
231-
bool CreateReductionCombinerRecipe(
232-
SourceLocation loc, OpenACCReductionOperator ReductionOperator,
233-
QualType VarTy,
234-
llvm::SmallVectorImpl<OpenACCReductionRecipe::CombinerRecipe>
235-
&CombinerRecipes);
236231

237232
public:
238233
// Needed from the visitor, so should be public.

clang/lib/AST/DeclTemplate.cpp

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1670,20 +1670,25 @@ clang::getReplacedTemplateParameter(Decl *D, unsigned Index) {
16701670
auto P = CTSD->getSpecializedTemplateOrPartial();
16711671
TemplateParameterList *TPL;
16721672
if (const auto *CTPSD =
1673-
dyn_cast<ClassTemplatePartialSpecializationDecl *>(P))
1673+
dyn_cast<ClassTemplatePartialSpecializationDecl *>(P)) {
16741674
TPL = CTPSD->getTemplateParameters();
1675-
else
1676-
TPL = cast<ClassTemplateDecl *>(P)->getTemplateParameters();
1675+
// FIXME: Obtain Args deduced for the partial specialization.
1676+
return {TPL->getParam(Index), {}};
1677+
}
1678+
TPL = cast<ClassTemplateDecl *>(P)->getTemplateParameters();
16771679
return {TPL->getParam(Index), CTSD->getTemplateArgs()[Index]};
16781680
}
16791681
case Decl::Kind::VarTemplateSpecialization: {
16801682
const auto *VTSD = cast<VarTemplateSpecializationDecl>(D);
16811683
auto P = VTSD->getSpecializedTemplateOrPartial();
16821684
TemplateParameterList *TPL;
1683-
if (const auto *VTPSD = dyn_cast<VarTemplatePartialSpecializationDecl *>(P))
1685+
if (const auto *VTPSD =
1686+
dyn_cast<VarTemplatePartialSpecializationDecl *>(P)) {
16841687
TPL = VTPSD->getTemplateParameters();
1685-
else
1686-
TPL = cast<VarTemplateDecl *>(P)->getTemplateParameters();
1688+
// FIXME: Obtain Args deduced for the partial specialization.
1689+
return {TPL->getParam(Index), {}};
1690+
}
1691+
TPL = cast<VarTemplateDecl *>(P)->getTemplateParameters();
16871692
return {TPL->getParam(Index), VTSD->getTemplateArgs()[Index]};
16881693
}
16891694
case Decl::Kind::ClassTemplatePartialSpecialization:

clang/lib/Basic/Targets.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,10 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
704704
case llvm::Triple::Emscripten:
705705
return std::make_unique<EmscriptenTargetInfo<WebAssembly32TargetInfo>>(
706706
Triple, Opts);
707+
708+
case llvm::Triple::Linux:
709+
return std::make_unique<WALITargetInfo<WebAssembly32TargetInfo>>(Triple,
710+
Opts);
707711
case llvm::Triple::UnknownOS:
708712
return std::make_unique<WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>>(
709713
Triple, Opts);

0 commit comments

Comments
 (0)