george.burgess.iv added inline comments.

================
Comment at: include/clang/AST/Expr.h:541-546
@@ -540,1 +540,8 @@
 
+    /// \brief Whether the evaluation was unable to reduce a construct to a
+    /// value.
+    ///
+    /// For example, in foo(bar, baz, qux), if evaluating bar fails, we may
+    /// try to evaluate baz and qux anyway.
+    bool HasFailure;
+
----------------
rsmith wrote:
> I don't think this provides enough guarantees to be useful as part of the 
> external `EvalStatus` results. Can you sink this into `EvalInfo`? 
> Alternatively, can you merge this with `HasSideEffects`? I don't think we 
> need to maintain a distinction between the two different ways we can get an 
> evaluation result after skipping a subexpression.
> I don't think this provides enough guarantees to be useful as part of the 
> external EvalStatus results. Can you sink this into EvalInfo

WFM

> Alternatively, can you merge this with `HasSideEffects`.

The result is a bit more subtle (because some things depend on `HasSideEffects` 
being accurate, and not being set whenever we fail), but sure.


http://reviews.llvm.org/D18540



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

Reply via email to