================ @@ -148,3 +150,27 @@ mlir::Value ScalarExprEmitter::VisitCastExpr(CastExpr *ce) { } return {}; } + +/// Return the size or alignment of the type of argument of the sizeof +/// expression as an integer. +mlir::Value ScalarExprEmitter::VisitUnaryExprOrTypeTraitExpr( + const UnaryExprOrTypeTraitExpr *e) { + const QualType typeToSize = e->getTypeOfArgument(); + if (e->getKind() == UETT_SizeOf) { + if (const VariableArrayType *variableArrTy = + cgf.getContext().getAsVariableArrayType(typeToSize)) { + cgf.getCIRGenModule().errorNYI(e->getSourceRange(), ---------------- erichkeane wrote:
I think instead that after each of these `errorNYI` diagnostics, we are better just returning a constant value that is reasonably sensible. A `1` or a `ptr-size` both seem reasonable to me. https://github.com/llvm/llvm-project/pull/130847 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits