tbaeder added inline comments.
================ Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:290 + + if (!ArgType->isConstantSizeType() || + ArgType->isDependentType()) ---------------- tbaeder wrote: > erichkeane wrote: > > tbaeder wrote: > > > erichkeane wrote: > > > > Documentation for `isConstantSizedType` says it isn't legal to call it > > > > on dependent or incomplete types. so this probably needs to be: > > > > > > > > ``` if (ArgType->isDependentType() || ArgType->isIncompleteType() || > > > > !ArgType->isConstantSizedType())``` > > > > > > > > In roughly that order. > > > `isDependentType()` is implicitly assumed, isn't it? `ExprConstant.cpp` > > > asserts everywhere that neither types nor expressions are > > > (value)dependent. It also doesn't handle that in `HandleSizeof`. > > Ok, good to know about that then. I saw you'd tested for isDependentType > > above, but isConstantSizedType would assert in that case. > Yup, I switched the order around. ... and of course I run into an incomplete type assertion with the `sizeof(void)` example when the file type is C. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133934/new/ https://reviews.llvm.org/D133934 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits