]> granicus.if.org Git - clang/commitdiff
Sema::ParseCastExpr() missing call to UsualUnaryConversions().
authorSteve Naroff <snaroff@apple.com>
Fri, 31 Aug 2007 00:32:44 +0000 (00:32 +0000)
committerSteve Naroff <snaroff@apple.com>
Fri, 31 Aug 2007 00:32:44 +0000 (00:32 +0000)
The following case now works...

void empty(void * a ) {}

void test()
{
    unsigned char A[4];
    empty( (void *) A);
}

Thanks to Patrick Flannery for finding this...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41630 91177308-0d34-0410-b5e6-96231b3b80d8

Sema/SemaExpr.cpp

index 615b2433348fec538314b9a93fc6a8e68d15beb9..a32e607aa4103550bb9df6354f95f193ded69ad9 100644 (file)
@@ -657,6 +657,8 @@ ParseCastExpr(SourceLocation LParenLoc, TypeTy *Ty,
   Expr *castExpr = static_cast<Expr*>(Op);
   QualType castType = QualType::getFromOpaquePtr(Ty);
 
+  UsualUnaryConversions(castExpr);
+
   // 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()) {