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

Reply via email to