diff options
author | Michael Liao <michael.hliao@gmail.com> | 2025-08-09 16:03:31 -0400 |
---|---|---|
committer | Michael Liao <michael.hliao@gmail.com> | 2025-08-09 16:38:49 -0400 |
commit | c9b62427716f41cf33b932a5622d8ef5b588f1c0 (patch) | |
tree | 520b53223d4894d92e7dd4e889459fbb81899fca /clang/lib/CIR/CodeGen/CIRGenFunction.cpp | |
parent | d9199a85e1382a87aedc7edae30c98ef3f434308 (diff) | |
download | llvm-c9b62427716f41cf33b932a5622d8ef5b588f1c0.zip llvm-c9b62427716f41cf33b932a5622d8ef5b588f1c0.tar.gz llvm-c9b62427716f41cf33b932a5622d8ef5b588f1c0.tar.bz2 |
[CIR] Fix build after the improved nested name specifier AST repr (91cdd35008e9)
Diffstat (limited to 'clang/lib/CIR/CodeGen/CIRGenFunction.cpp')
-rw-r--r-- | clang/lib/CIR/CodeGen/CIRGenFunction.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/clang/lib/CIR/CodeGen/CIRGenFunction.cpp b/clang/lib/CIR/CodeGen/CIRGenFunction.cpp index dedd01c..86f49f0 100644 --- a/clang/lib/CIR/CodeGen/CIRGenFunction.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenFunction.cpp @@ -356,7 +356,8 @@ static bool mayDropFunctionReturn(const ASTContext &astContext, // destructor or a non-trivially copyable type. if (const RecordType *recordType = returnType.getCanonicalType()->getAs<RecordType>()) { - if (const auto *classDecl = dyn_cast<CXXRecordDecl>(recordType->getDecl())) + if (const auto *classDecl = + dyn_cast<CXXRecordDecl>(recordType->getOriginalDecl())) return classDecl->hasTrivialDestructor(); } return returnType.isTriviallyCopyableType(astContext); @@ -827,7 +828,9 @@ void CIRGenFunction::emitNullInitialization(mlir::Location loc, Address destPtr, // Ignore empty classes in C++. if (getLangOpts().CPlusPlus) { if (const RecordType *rt = ty->getAs<RecordType>()) { - if (cast<CXXRecordDecl>(rt->getDecl())->isEmpty()) + if (cast<CXXRecordDecl>(rt->getOriginalDecl()) + ->getDefinitionOrSelf() + ->isEmpty()) return; } } @@ -978,10 +981,6 @@ void CIRGenFunction::emitVariablyModifiedType(QualType type) { case Type::BitInt: llvm_unreachable("type class is never variably-modified!"); - case Type::Elaborated: - type = cast<clang::ElaboratedType>(ty)->getNamedType(); - break; - case Type::Adjusted: type = cast<clang::AdjustedType>(ty)->getAdjustedType(); break; |