[cfe-dev] fix Sema/unused-expr.c failing on r39999

Benoit Boissinot bboissin+llvm at gmail.com
Wed Jul 18 03:21:34 PDT 2007


I needed the following patch so that test/Sema/unused-expr.c does not
fail:

--
void is a valid cast type

Index: Sema/SemaExpr.cpp
===================================================================
--- Sema/SemaExpr.cpp	(revision 39996)
+++ Sema/SemaExpr.cpp	(working copy)
@@ -478,8 +478,9 @@
   Expr *castExpr = static_cast<Expr*>(Op);
   QualType castType = QualType::getFromOpaquePtr(Ty);
 
-  // C99 6.5.4p2: both the cast type and expression type need to be scalars.
-  if (!castType->isScalarType()) { 
+  // C99 6.5.4p2: the cast type needs to be void or scalar and the expression
+  // type needs to be scalar.
+  if (!castType->isScalarType() && !castType->isVoidType()) { 
     return Diag(LParenLoc, diag::err_typecheck_cond_expect_scalar, 
                 castType.getAsString(), SourceRange(LParenLoc, RParenLoc));
   }
-- 
:wq



More information about the cfe-dev mailing list