Skip to content

Commit 7def448

Browse files
authored
Merge branch 'main' into cfg_analyzer_noreturn
2 parents 79acdec + 96a9e8c commit 7def448

File tree

193 files changed

+12144
-5942
lines changed

Some content is hidden

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

193 files changed

+12144
-5942
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
/mlir/**/Transforms/SROA.* @moxinilian
130130

131131
# BOLT
132-
/bolt/ @aaupov @maksfb @rafaelauler @ayermolo @yota9 @paschalis-mpeis
132+
/bolt/ @aaupov @maksfb @rafaelauler @ayermolo @yota9 @paschalis-mpeis @yozhu
133133

134134
# Bazel build system.
135135
/utils/bazel/ @rupprecht @keith @aaronmondal

.github/workflows/containers/github-action-ci-windows/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ RUN powershell -Command \
9090
RUN git config --system core.longpaths true & \
9191
git config --global core.autocrlf false
9292
93-
ARG RUNNER_VERSION=2.327.0
93+
ARG RUNNER_VERSION=2.327.1
9494
ENV RUNNER_VERSION=$RUNNER_VERSION
9595
9696
RUN powershell -Command \

.github/workflows/containers/github-action-ci/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ WORKDIR /home/gha
9494

9595
FROM ci-container as ci-container-agent
9696

97-
ENV GITHUB_RUNNER_VERSION=2.327.0
97+
ENV GITHUB_RUNNER_VERSION=2.327.1
9898

9999
RUN mkdir actions-runner && \
100100
cd actions-runner && \

.github/workflows/libcxx-build-containers.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ jobs:
3434

3535
- name: Build the Linux builder image
3636
working-directory: libcxx/utils/ci
37-
run: docker compose build actions-builder
37+
run: |
38+
docker compose build builder-base
39+
docker compose build actions-builder
3840
env:
3941
TAG: ${{ github.sha }}
4042

@@ -55,6 +57,7 @@ jobs:
5557
if: github.event_name == 'push'
5658
working-directory: libcxx/utils/ci
5759
run: |
60+
docker compose push builder-base
5861
docker compose push actions-builder
5962
env:
6063
TAG: ${{ github.sha }}

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -502,13 +502,13 @@ ClangDocContext::ClangDocContext(tooling::ExecutionContext *ECtx,
502502
}
503503

504504
void ScopeChildren::sort() {
505-
llvm::sort(Namespaces.begin(), Namespaces.end());
506-
llvm::sort(Records.begin(), Records.end());
507-
llvm::sort(Functions.begin(), Functions.end());
508-
llvm::sort(Enums.begin(), Enums.end());
509-
llvm::sort(Typedefs.begin(), Typedefs.end());
510-
llvm::sort(Concepts.begin(), Concepts.end());
511-
llvm::sort(Variables.begin(), Variables.end());
505+
llvm::sort(Namespaces);
506+
llvm::sort(Records);
507+
llvm::sort(Functions);
508+
llvm::sort(Enums);
509+
llvm::sort(Typedefs);
510+
llvm::sort(Concepts);
511+
llvm::sort(Variables);
512512
}
513513
} // namespace doc
514514
} // namespace clang

clang/docs/ReleaseNotes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ Bug Fixes to C++ Support
149149
- Diagnose binding a reference to ``*nullptr`` during constant evaluation. (#GH48665)
150150
- Suppress ``-Wdeprecated-declarations`` in implicitly generated functions. (#GH147293)
151151
- Fix a crash when deleting a pointer to an incomplete array (#GH150359).
152+
- Fix an assertion failure when expression in assumption attribute
153+
(``[[assume(expr)]]``) creates temporary objects.
152154

153155
Bug Fixes to AST Handling
154156
^^^^^^^^^^^^^^^^^^^^^^^^^

clang/lib/Driver/ToolChains/Arch/AArch64.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,3 +467,18 @@ void aarch64::setPAuthABIInTriple(const Driver &D, const ArgList &Args,
467467
break;
468468
}
469469
}
470+
471+
/// Is the triple {aarch64.aarch64_be}-none-elf?
472+
bool aarch64::isAArch64BareMetal(const llvm::Triple &Triple) {
473+
if (Triple.getArch() != llvm::Triple::aarch64 &&
474+
Triple.getArch() != llvm::Triple::aarch64_be)
475+
return false;
476+
477+
if (Triple.getVendor() != llvm::Triple::UnknownVendor)
478+
return false;
479+
480+
if (Triple.getOS() != llvm::Triple::UnknownOS)
481+
return false;
482+
483+
return Triple.getEnvironmentName() == "elf";
484+
}

clang/lib/Driver/ToolChains/Arch/AArch64.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ std::string getAArch64TargetCPU(const llvm::opt::ArgList &Args,
3030

3131
void setPAuthABIInTriple(const Driver &D, const llvm::opt::ArgList &Args,
3232
llvm::Triple &triple);
33+
bool isAArch64BareMetal(const llvm::Triple &Triple);
3334

3435
} // end namespace aarch64
3536
} // end namespace target

clang/lib/Driver/ToolChains/BareMetal.cpp

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "clang/Driver/CommonArgs.h"
1313
#include "clang/Driver/InputInfo.h"
1414

15+
#include "Arch/AArch64.h"
1516
#include "Arch/ARM.h"
1617
#include "Arch/RISCV.h"
1718
#include "clang/Driver/Compilation.h"
@@ -31,21 +32,6 @@ using namespace clang::driver;
3132
using namespace clang::driver::tools;
3233
using namespace clang::driver::toolchains;
3334

34-
/// Is the triple {aarch64.aarch64_be}-none-elf?
35-
static bool isAArch64BareMetal(const llvm::Triple &Triple) {
36-
if (Triple.getArch() != llvm::Triple::aarch64 &&
37-
Triple.getArch() != llvm::Triple::aarch64_be)
38-
return false;
39-
40-
if (Triple.getVendor() != llvm::Triple::UnknownVendor)
41-
return false;
42-
43-
if (Triple.getOS() != llvm::Triple::UnknownOS)
44-
return false;
45-
46-
return Triple.getEnvironmentName() == "elf";
47-
}
48-
4935
static bool isRISCVBareMetal(const llvm::Triple &Triple) {
5036
if (!Triple.isRISCV())
5137
return false;
@@ -363,8 +349,9 @@ void BareMetal::findMultilibs(const Driver &D, const llvm::Triple &Triple,
363349
}
364350

365351
bool BareMetal::handlesTarget(const llvm::Triple &Triple) {
366-
return arm::isARMEABIBareMetal(Triple) || isAArch64BareMetal(Triple) ||
367-
isRISCVBareMetal(Triple) || isPPCBareMetal(Triple);
352+
return arm::isARMEABIBareMetal(Triple) ||
353+
aarch64::isAArch64BareMetal(Triple) || isRISCVBareMetal(Triple) ||
354+
isPPCBareMetal(Triple);
368355
}
369356

370357
Tool *BareMetal::buildLinker() const {

clang/lib/Driver/ToolChains/CommonArgs.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -547,15 +547,22 @@ const char *tools::getLDMOption(const llvm::Triple &T, const ArgList &Args) {
547547
case llvm::Triple::aarch64:
548548
if (T.isOSManagarm())
549549
return "aarch64managarm";
550+
else if (aarch64::isAArch64BareMetal(T))
551+
return "aarch64elf";
550552
return "aarch64linux";
551553
case llvm::Triple::aarch64_be:
554+
if (aarch64::isAArch64BareMetal(T))
555+
return "aarch64elfb";
552556
return "aarch64linuxb";
553557
case llvm::Triple::arm:
554558
case llvm::Triple::thumb:
555559
case llvm::Triple::armeb:
556-
case llvm::Triple::thumbeb:
557-
return tools::arm::isARMBigEndian(T, Args) ? "armelfb_linux_eabi"
558-
: "armelf_linux_eabi";
560+
case llvm::Triple::thumbeb: {
561+
bool IsBigEndian = tools::arm::isARMBigEndian(T, Args);
562+
if (arm::isARMEABIBareMetal(T))
563+
return IsBigEndian ? "armelfb" : "armelf";
564+
return IsBigEndian ? "armelfb_linux_eabi" : "armelf_linux_eabi";
565+
}
559566
case llvm::Triple::m68k:
560567
return "m68kelf";
561568
case llvm::Triple::ppc:

0 commit comments

Comments
 (0)