================
@@ -1178,11 +1178,11 @@ static void pushTemporaryCleanup(CIRGenFunction &cgf,
->getBaseElementTypeUnsafe()
->getAs<clang::RecordType>()) {
// Get the destructor for the reference temporary.
- auto *classDecl =
- cast<CXXRecordDecl>(rt->getOriginalDecl()->getDefinitionOrSelf());
- if (!classDecl->hasTrivialDestructor())
- referenceTemporaryDtor =
- classDecl->getDefinitionOrSelf()->getDestructor();
+ if (const auto *classDecl = dyn_cast<CXXRecordDecl>(
----------------
mmha wrote:
Yes, this asserted in C mode where the record was not a C++ class. Note that
OGCG is also dyn_casting here.
https://github.com/llvm/llvm-project/pull/153677
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits