]> granicus.if.org Git - clang/commitdiff
Tweak Sema::DefaultArgumentPromotion() to call UsualUnaryConversions(). This makes...
authorSteve Naroff <snaroff@apple.com>
Tue, 29 Jan 2008 02:42:22 +0000 (02:42 +0000)
committerSteve Naroff <snaroff@apple.com>
Tue, 29 Jan 2008 02:42:22 +0000 (02:42 +0000)
Patch by Eli Friedman!

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

Sema/SemaExpr.cpp

index 58e0f08e50da953f8f8c98334341f3d482629d86..ab63dc6993d49c06fbec16f5f847e7438003ddc4 100644 (file)
@@ -866,16 +866,16 @@ Action::ExprResult Sema::ActOnConditionalOp(SourceLocation QuestionLoc,
 }
 
 /// DefaultArgumentPromotion (C99 6.5.2.2p6). Used for function calls that
-/// do not have a prototype. Integer promotions are performed on each 
-/// argument, and arguments that have type float are promoted to double.
+/// do not have a prototype. Arguments that have type float are promoted to 
+/// double. All other argument types are converted by UsualUnaryConversions().
 void Sema::DefaultArgumentPromotion(Expr *&Expr) {
   QualType Ty = Expr->getType();
   assert(!Ty.isNull() && "DefaultArgumentPromotion - missing type");
 
-  if (Ty->isPromotableIntegerType()) // C99 6.3.1.1p2
-    ImpCastExprToType(Expr, Context.IntTy);
   if (Ty == Context.FloatTy)
     ImpCastExprToType(Expr, Context.DoubleTy);
+  else
+    UsualUnaryConversions(Expr);
 }
 
 /// DefaultFunctionArrayConversion (C99 6.3.2.1p3, C99 6.3.2.1p4).