[clang] [Clang] prevent assertion failure by avoiding required literal type checking in C context (PR #101426)

Oleksandr T. via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 2 02:13:31 PDT 2024


================
@@ -9267,14 +9267,14 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T,
   if (!RT)
     return true;
 
-  const CXXRecordDecl *RD = cast<CXXRecordDecl>(RT->getDecl());
-
   // A partially-defined class type can't be a literal type, because a literal
   // class type must have a trivial destructor (which can't be checked until
   // the class definition is complete).
   if (RequireCompleteType(Loc, ElemType, diag::note_non_literal_incomplete, T))
     return true;
 
+  const CXXRecordDecl *RD = cast<CXXRecordDecl>(RT->getDecl());
----------------
a-tarasyuk wrote:

@shafik @MitalAshok Could you review the latest changes? If there are no further comments, could you please proceed with the merge as I don't have access to do so? Thank you!

https://github.com/llvm/llvm-project/pull/101426


More information about the cfe-commits mailing list