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

Reply via email to