Skip to content

Commit aa0f740

Browse files
Merge branch 'main' into views-concat
2 parents ff04d82 + a438555 commit aa0f740

File tree

36 files changed

+591
-357
lines changed

36 files changed

+591
-357
lines changed

bolt/lib/Rewrite/BuildIDRewriter.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,7 @@ Error BuildIDRewriter::sectionInitializer() {
7878
"out of bounds while reading note section: %s",
7979
toString(Cursor.takeError()).c_str());
8080

81-
if (Type == ELF::NT_GNU_BUILD_ID && Name.substr(0, 3) == "GNU" &&
82-
DescSz) {
81+
if (Type == ELF::NT_GNU_BUILD_ID && Name.starts_with("GNU") && DescSz) {
8382
BuildIDSection = NoteSection;
8483
BuildID = Desc;
8584
BC.setFileBuildID(getPrintableBuildID(Desc));

clang-tools-extra/clangd/CompileCommands.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -404,8 +404,7 @@ enum DriverMode : unsigned char {
404404
DriverMode getDriverMode(const std::vector<std::string> &Args) {
405405
DriverMode Mode = DM_GCC;
406406
llvm::StringRef Argv0 = Args.front();
407-
if (Argv0.ends_with_insensitive(".exe"))
408-
Argv0 = Argv0.drop_back(strlen(".exe"));
407+
Argv0.consume_back_insensitive(".exe");
409408
if (Argv0.ends_with_insensitive("cl"))
410409
Mode = DM_CL;
411410
for (const llvm::StringRef Arg : Args) {

clang/include/clang/CIR/MissingFeatures.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ struct MissingFeatures {
179179
static bool msabi() { return false; }
180180
static bool typeChecks() { return false; }
181181
static bool lambdaFieldToName() { return false; }
182+
static bool updateCompletedType() { return false; }
182183
static bool targetSpecificCXXABI() { return false; }
183184
static bool moduleNameHash() { return false; }
184185
static bool setDSOLocal() { return false; }

clang/include/clang/Driver/Compilation.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,8 @@ class Compilation {
9090
: TC(TC), BoundArch(BoundArch), DeviceOffloadKind(DeviceOffloadKind) {}
9191

9292
bool operator<(const TCArgsKey &K) const {
93-
if (TC < K.TC)
94-
return true;
95-
else if (TC == K.TC && BoundArch < K.BoundArch)
96-
return true;
97-
else if (TC == K.TC && BoundArch == K.BoundArch &&
98-
DeviceOffloadKind < K.DeviceOffloadKind)
99-
return true;
100-
return false;
93+
return std::tie(TC, BoundArch, DeviceOffloadKind) <
94+
std::tie(K.TC, K.BoundArch, K.DeviceOffloadKind);
10195
}
10296
};
10397
std::map<TCArgsKey, llvm::opt::DerivedArgList *> TCArgs;

clang/lib/CIR/CodeGen/CIRGenModule.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -787,7 +787,7 @@ void CIRGenModule::emitTopLevelDecl(Decl *decl) {
787787
case Decl::OpenACCDeclare:
788788
emitGlobalOpenACCDecl(cast<OpenACCDeclareDecl>(decl));
789789
break;
790-
790+
case Decl::Enum:
791791
case Decl::UsingDirective: // using namespace X; [C++]
792792
case Decl::Typedef:
793793
case Decl::TypeAlias: // using foo = bar; [C++11]

clang/lib/CIR/CodeGen/CIRGenTypes.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,19 @@ mlir::Type CIRGenTypes::convertType(QualType type) {
420420
break;
421421
}
422422

423+
case Type::Enum: {
424+
// TODO(cir): Implement updateCompletedType for enums.
425+
assert(!cir::MissingFeatures::updateCompletedType());
426+
const EnumDecl *ED = cast<EnumType>(ty)->getDecl();
427+
if (auto integerType = ED->getIntegerType(); !integerType.isNull())
428+
return convertType(integerType);
429+
// Return a placeholder 'i32' type. This can be changed later when the
430+
// type is defined (see UpdateCompletedType), but is likely to be the
431+
// "right" answer.
432+
resultType = cgm.UInt32Ty;
433+
break;
434+
}
435+
423436
case Type::FunctionNoProto:
424437
case Type::FunctionProto:
425438
resultType = convertFunctionTypeInternal(type);

clang/lib/Driver/Job.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ rewriteIncludes(const llvm::ArrayRef<const char *> &Args, size_t Idx,
184184
StringRef FlagRef(Args[Idx + NumArgs - 1]);
185185
assert((FlagRef.starts_with("-F") || FlagRef.starts_with("-I")) &&
186186
"Expecting -I or -F");
187-
StringRef Inc = FlagRef.slice(2, StringRef::npos);
187+
StringRef Inc = FlagRef.substr(2);
188188
if (getAbsPath(Inc, NewInc)) {
189189
SmallString<128> NewArg(FlagRef.slice(0, 2));
190190
NewArg += NewInc;

clang/lib/Driver/ToolChain.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1441,7 +1441,7 @@ std::string ToolChain::detectLibcxxVersion(StringRef IncludePath) const {
14411441
StringRef VersionText = llvm::sys::path::filename(LI->path());
14421442
int Version;
14431443
if (VersionText[0] == 'v' &&
1444-
!VersionText.slice(1, StringRef::npos).getAsInteger(10, Version)) {
1444+
!VersionText.substr(1).getAsInteger(10, Version)) {
14451445
if (Version > MaxVersion) {
14461446
MaxVersion = Version;
14471447
MaxVersionString = std::string(VersionText);

clang/lib/Frontend/FrontendAction.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,7 @@ class DeserializedDeclsSourceRangePrinter : public ASTConsumer,
100100
unsigned Column;
101101

102102
bool operator<(const Position &other) const {
103-
if (Line < other.Line)
104-
return true;
105-
if (Line > other.Line)
106-
return false;
107-
return Column < other.Column;
103+
return std::tie(Line, Column) < std::tie(other.Line, other.Column);
108104
}
109105

110106
static Position GetBeginSpelling(const SourceManager &SM,

clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,8 @@ class ZeroState {
4141
}
4242

4343
bool operator<(const ZeroState &X) const {
44-
if (BlockID != X.BlockID)
45-
return BlockID < X.BlockID;
46-
if (SFC != X.SFC)
47-
return SFC < X.SFC;
48-
return ZeroSymbol < X.ZeroSymbol;
44+
return std::tie(BlockID, SFC, ZeroSymbol) <
45+
std::tie(X.BlockID, X.SFC, X.ZeroSymbol);
4946
}
5047

5148
void Profile(llvm::FoldingSetNodeID &ID) const {

0 commit comments

Comments
 (0)