From: Anders Carlsson Date: Mon, 1 Dec 2008 02:07:06 +0000 (+0000) Subject: Emit the correct diagnostic when a comma is in an ICE. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=027f62ec1860f4ab0c91bd863b238938880b8102;p=clang Emit the correct diagnostic when a comma is in an ICE. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60316 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/ExprConstant.cpp b/lib/AST/ExprConstant.cpp index 855385cf98..b9f3c77363 100644 --- a/lib/AST/ExprConstant.cpp +++ b/lib/AST/ExprConstant.cpp @@ -516,13 +516,13 @@ bool IntExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) { // Evaluate the side that actually matters; this needs to be // handled specially because calling Visit() on the LHS can // have strange results when it doesn't have an integral type. - if (Visit(E->getRHS())) - return true; - + if (!Visit(E->getRHS())) + return false; + if (Info.ShortCircuit) return Extension(E->getOperatorLoc(), diag::note_comma_in_ice, E); - return false; + return true; } if (E->isLogicalOp()) {