tbaeder added inline comments.

================
Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:767-772
+  std::optional<PrimType> T = classify(E->getType());
+  if (T && E->hasAPValueResult() &&
+      this->visitAPValue(E->getAPValueResult(), *T, E))
+    return true;
+
   return this->delegate(E->getSubExpr());
----------------
cor3ntin wrote:
> so if `visitAPValue` fails, we continue. Couldn't that lead to duplicated 
> diagnostics? Shouldn't we simply return whatever `visitAPValue` returns 
> unconditionally?
I did it this way because we don't handle all types of APValues in 
`visitAPValue()` (think lvalues with an lvalue path), so in those cases we need 
to visit the expression instead. If there is an `APValue` we're visting, we're 
not emitting any diagnostics I think.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158502/new/

https://reviews.llvm.org/D158502

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to