rsmith added a comment.

I've given this some more thought, and I think it's only the "constant 
evaluated" check that we want to bypass in this case. It's common to use 
`sizeof` or `decltype` with a comma operator in order to put an expression in a 
SFINAE context, and I don't think we should warn on those cases. So I think we 
should still do the context check for `DiagIfReachable`, but only bail out for 
unevaluated contexts, not for constant-evaluated contexts. Does that seem 
reasonable?



================
Comment at: clang/test/SemaCXX/warn-unused-value.cpp:147
+  new double[false ? (1, 2) : 3]
+            [false ? (1, 2) : 3]; // expected-warning {{expression result 
unused}}
+}
----------------
Please add a FIXME saying that we shouldn't diagnose the unreachable constant 
expression here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103938

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

Reply via email to