Skip to content

Commit 585148f

Browse files
authored
merge main into amd-staging (llvm#1668)
2 parents a18cc4c + cc791f0 commit 585148f

File tree

210 files changed

+3028
-2523
lines changed

Some content is hidden

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

210 files changed

+3028
-2523
lines changed

.ci/monolithic-linux.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ function at-exit {
3333

3434
mkdir -p artifacts
3535
ccache --print-stats > artifacts/ccache_stats.txt
36+
cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log
3637

3738
# If building fails there will be no results files.
3839
shopt -s nullglob

.ci/monolithic-windows.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ function at-exit {
3232

3333
mkdir -p artifacts
3434
sccache --show-stats >> artifacts/sccache_stats.txt
35+
cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log
3536

3637
# If building fails there will be no results files.
3738
shopt -s nullglob

clang/docs/ReleaseNotes.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,6 @@ Windows Support
550550
- Clang now can process the `i128` and `ui128` integeral suffixes when MSVC
551551
extensions are enabled. This allows for properly processing ``intsafe.h`` in
552552
the Windows SDK.
553-
- Clang now supports MSVC vector deleting destructors (GH19772).
554553

555554
LoongArch Support
556555
^^^^^^^^^^^^^^^^^

clang/include/clang/AST/ASTContext.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1564,8 +1564,8 @@ class ASTContext : public RefCountedBase<ASTContext> {
15641564
/// Return a non-unique reference to the type for a variable array of
15651565
/// the specified element type.
15661566
QualType getVariableArrayType(QualType EltTy, Expr *NumElts,
1567-
ArraySizeModifier ASM, unsigned IndexTypeQuals,
1568-
SourceRange Brackets) const;
1567+
ArraySizeModifier ASM,
1568+
unsigned IndexTypeQuals) const;
15691569

15701570
/// Return a non-unique reference to the type for a dependently-sized
15711571
/// array of the specified element type.
@@ -1574,8 +1574,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
15741574
/// point.
15751575
QualType getDependentSizedArrayType(QualType EltTy, Expr *NumElts,
15761576
ArraySizeModifier ASM,
1577-
unsigned IndexTypeQuals,
1578-
SourceRange Brackets) const;
1577+
unsigned IndexTypeQuals) const;
15791578

15801579
/// Return a unique reference to the type for an incomplete array of
15811580
/// the specified element type.

clang/include/clang/AST/DeclCXX.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2852,7 +2852,6 @@ class CXXDestructorDecl : public CXXMethodDecl {
28522852
// FIXME: Don't allocate storage for these except in the first declaration
28532853
// of a virtual destructor.
28542854
FunctionDecl *OperatorDelete = nullptr;
2855-
FunctionDecl *OperatorArrayDelete = nullptr;
28562855
Expr *OperatorDeleteThisArg = nullptr;
28572856

28582857
CXXDestructorDecl(ASTContext &C, CXXRecordDecl *RD, SourceLocation StartLoc,
@@ -2878,16 +2877,11 @@ class CXXDestructorDecl : public CXXMethodDecl {
28782877
static CXXDestructorDecl *CreateDeserialized(ASTContext &C, GlobalDeclID ID);
28792878

28802879
void setOperatorDelete(FunctionDecl *OD, Expr *ThisArg);
2881-
void setOperatorArrayDelete(FunctionDecl *OD);
28822880

28832881
const FunctionDecl *getOperatorDelete() const {
28842882
return getCanonicalDecl()->OperatorDelete;
28852883
}
28862884

2887-
const FunctionDecl *getArrayOperatorDelete() const {
2888-
return getCanonicalDecl()->OperatorArrayDelete;
2889-
}
2890-
28912885
Expr *getOperatorDeleteThisArg() const {
28922886
return getCanonicalDecl()->OperatorDeleteThisArg;
28932887
}

clang/include/clang/AST/Type.h

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3827,14 +3827,9 @@ class VariableArrayType : public ArrayType {
38273827
/// a function block.
38283828
Stmt *SizeExpr;
38293829

3830-
/// The range spanned by the left and right array brackets.
3831-
SourceRange Brackets;
3832-
3833-
VariableArrayType(QualType et, QualType can, Expr *e,
3834-
ArraySizeModifier sm, unsigned tq,
3835-
SourceRange brackets)
3836-
: ArrayType(VariableArray, et, can, sm, tq, e),
3837-
SizeExpr((Stmt*) e), Brackets(brackets) {}
3830+
VariableArrayType(QualType et, QualType can, Expr *e, ArraySizeModifier sm,
3831+
unsigned tq)
3832+
: ArrayType(VariableArray, et, can, sm, tq, e), SizeExpr((Stmt *)e) {}
38383833

38393834
public:
38403835
friend class StmtIteratorBase;
@@ -3845,10 +3840,6 @@ class VariableArrayType : public ArrayType {
38453840
return (Expr*) SizeExpr;
38463841
}
38473842

3848-
SourceRange getBracketsRange() const { return Brackets; }
3849-
SourceLocation getLBracketLoc() const { return Brackets.getBegin(); }
3850-
SourceLocation getRBracketLoc() const { return Brackets.getEnd(); }
3851-
38523843
bool isSugared() const { return false; }
38533844
QualType desugar() const { return QualType(this, 0); }
38543845

@@ -3884,12 +3875,8 @@ class DependentSizedArrayType : public ArrayType {
38843875
/// type will have its size deduced from an initializer.
38853876
Stmt *SizeExpr;
38863877

3887-
/// The range spanned by the left and right array brackets.
3888-
SourceRange Brackets;
3889-
38903878
DependentSizedArrayType(QualType et, QualType can, Expr *e,
3891-
ArraySizeModifier sm, unsigned tq,
3892-
SourceRange brackets);
3879+
ArraySizeModifier sm, unsigned tq);
38933880

38943881
public:
38953882
friend class StmtIteratorBase;
@@ -3900,10 +3887,6 @@ class DependentSizedArrayType : public ArrayType {
39003887
return (Expr*) SizeExpr;
39013888
}
39023889

3903-
SourceRange getBracketsRange() const { return Brackets; }
3904-
SourceLocation getLBracketLoc() const { return Brackets.getBegin(); }
3905-
SourceLocation getRBracketLoc() const { return Brackets.getEnd(); }
3906-
39073890
bool isSugared() const { return false; }
39083891
QualType desugar() const { return QualType(this, 0); }
39093892

clang/include/clang/AST/TypeProperties.td

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -154,40 +154,22 @@ let Class = IncompleteArrayType in {
154154
}
155155

156156
let Class = VariableArrayType in {
157-
def : Property<"leftBracketLoc", SourceLocation> {
158-
let Read = [{ node->getLBracketLoc() }];
159-
}
160-
def : Property<"rightBracketLoc", SourceLocation> {
161-
let Read = [{ node->getRBracketLoc() }];
162-
}
163157
def : Property<"size", ExprRef> {
164158
let Read = [{ node->getSizeExpr() }];
165159
}
166160

167161
def : Creator<[{
168162
return ctx.getVariableArrayType(elementType, size, sizeModifier,
169-
indexQualifiers.getCVRQualifiers(),
170-
SourceRange(leftBracketLoc,
171-
rightBracketLoc));
163+
indexQualifiers.getCVRQualifiers());
172164
}]>;
173165
}
174166

175167
let Class = DependentSizedArrayType in {
176-
def : Property<"size", ExprRef> {
177-
let Read = [{ node->getSizeExpr() }];
178-
}
179-
def : Property<"leftBracketLoc", SourceLocation> {
180-
let Read = [{ node->getLBracketLoc() }];
181-
}
182-
def : Property<"rightBracketLoc", SourceLocation> {
183-
let Read = [{ node->getRBracketLoc() }];
184-
}
168+
def : Property<"size", ExprRef> { let Read = [{ node->getSizeExpr() }]; }
185169

186170
def : Creator<[{
187171
return ctx.getDependentSizedArrayType(elementType, size, sizeModifier,
188-
indexQualifiers.getCVRQualifiers(),
189-
SourceRange(leftBracketLoc,
190-
rightBracketLoc));
172+
indexQualifiers.getCVRQualifiers());
191173
}]>;
192174
}
193175

clang/include/clang/AST/VTableBuilder.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ class VTableComponent {
150150

151151
bool isRTTIKind() const { return isRTTIKind(getKind()); }
152152

153-
GlobalDecl getGlobalDecl(bool HasVectorDeletingDtors) const {
153+
GlobalDecl getGlobalDecl() const {
154154
assert(isUsedFunctionPointerKind() &&
155155
"GlobalDecl can be created only from virtual function");
156156

@@ -161,9 +161,7 @@ class VTableComponent {
161161
case CK_CompleteDtorPointer:
162162
return GlobalDecl(DtorDecl, CXXDtorType::Dtor_Complete);
163163
case CK_DeletingDtorPointer:
164-
return GlobalDecl(DtorDecl, (HasVectorDeletingDtors)
165-
? CXXDtorType::Dtor_VectorDeleting
166-
: CXXDtorType::Dtor_Deleting);
164+
return GlobalDecl(DtorDecl, CXXDtorType::Dtor_Deleting);
167165
case CK_VCallOffset:
168166
case CK_VBaseOffset:
169167
case CK_OffsetToTop:

clang/include/clang/Basic/ABI.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ enum CXXCtorType {
3131

3232
/// C++ destructor types.
3333
enum CXXDtorType {
34-
Dtor_Deleting, ///< Deleting dtor
35-
Dtor_Complete, ///< Complete object dtor
36-
Dtor_Base, ///< Base object dtor
37-
Dtor_Comdat, ///< The COMDAT used for dtors
38-
Dtor_VectorDeleting ///< Vector deleting dtor
34+
Dtor_Deleting, ///< Deleting dtor
35+
Dtor_Complete, ///< Complete object dtor
36+
Dtor_Base, ///< Base object dtor
37+
Dtor_Comdat ///< The COMDAT used for dtors
3938
};
4039

4140
} // end namespace clang

clang/include/clang/Basic/LangOptions.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ LANGOPT(Coroutines , 1, 0, "C++20 coroutines")
161161
LANGOPT(CoroAlignedAllocation, 1, 0, "prefer Aligned Allocation according to P2014 Option 2")
162162
LANGOPT(DllExportInlines , 1, 1, "dllexported classes dllexport inline methods")
163163
LANGOPT(ExperimentalLibrary, 1, 0, "enable unstable and experimental library features")
164-
LANGOPT(RetainSubstTemplateTypeParmTypeAstNodes, 1, 0, "retain SubstTemplateTypeParmType nodes in the AST's representation of alias template specializations")
165164

166165
LANGOPT(PointerAuthIntrinsics, 1, 0, "pointer authentication intrinsics")
167166
LANGOPT(PointerAuthCalls , 1, 0, "function pointer authentication")

0 commit comments

Comments
 (0)