aaron.ballman added inline comments.
================ Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:290 + return this->emitConst( + E, Ctx.getASTContext().getTypeSizeInChars(ArgType).getQuantity()); + } ---------------- erichkeane wrote: > shafik wrote: > > I notice that `HandleSizeof` special cases `void` and function types. > OOOH, DEFINITELY make sure you test function types here, and figure out how > HandleSizeof does it. > > BUT, I think 'void' should error/be an invalid before we get here? > > ALSO, now that I think further, I'm sure @aaron.ballman has a bunch of > runtime-evaluated sizeof examples to share around vlas. I was just about to comment about everyone's favorite horrible C++ extension. :-D We should make sure we properly reject code like: ``` void func() { int n = 12; constexpr int oofda = sizeof(int[n++]); } ``` while accepting code like: ``` consteval int foo(int n) { return sizeof(int[n]); } constinit int var = foo(5); ``` 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