Argiris Kirtzidis wrote:- > Author: akirtzidis > Date: Thu Sep 11 00:16:22 2008 > New Revision: 56096 > > URL: http://llvm.org/viewvc/llvm-project?rev=56096&view=rev > Log: > Do implicit conversion to bool for the condition in a do-while statement. > > Modified: > cfe/trunk/lib/Sema/SemaStmt.cpp > cfe/trunk/test/SemaCXX/condition.cpp > > Modified: cfe/trunk/lib/Sema/SemaStmt.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmt.cpp?rev=56096&r1=56095&r2=56096&view=diff > > ============================================================================== > --- cfe/trunk/lib/Sema/SemaStmt.cpp (original) > +++ cfe/trunk/lib/Sema/SemaStmt.cpp Thu Sep 11 00:16:22 2008 > @@ -530,7 +530,10 @@ > DefaultFunctionArrayConversion(condExpr); > QualType condType = condExpr->getType(); > > - if (!condType->isScalarType()) // C99 6.8.5p2 > + if (getLangOptions().CPlusPlus) { > + if (CheckCXXBooleanCondition(condExpr)) // C++ 6.4p4 > + return true; > + } else if (!condType->isScalarType()) // C99 6.8.5p2 > return Diag(DoLoc, diag::err_typecheck_statement_requires_scalar, > condType.getAsString(), condExpr->getSourceRange());
Isn't this just checking the conversion is OK, but not doing it? Neil. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
