================
@@ -1642,6 +1661,56 @@ void
Sema::CheckCompleteDecompositionDeclaration(DecompositionDecl *DD) {
DD->setInvalidDecl();
}
+std::optional<unsigned> Sema::GetDecompositionElementCount(QualType T,
+ SourceLocation Loc)
{
+ const ASTContext &Ctx = getASTContext();
+ assert(!T->isDependentType());
+
+ Qualifiers Quals;
+ QualType Unqual = Context.getUnqualifiedArrayType(T, Quals);
+ Quals.removeCVRQualifiers();
+ T = Context.getQualifiedType(Unqual, Quals);
----------------
cor3ntin wrote:
> Why do we need to do this dance
const objects of class types are decomposable
> Should the code be moved down to above the isTupleLike call?
No, for tuple-like types we already handle their constness
https://github.com/llvm/llvm-project/pull/131515
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits