зеркало из https://github.com/microsoft/clang-1.git
move a method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54069 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
32b62b6c68
Коммит
05faf17d45
|
@ -32,21 +32,6 @@ using namespace clang;
|
|||
// Standard Promotions and Conversions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
/// DefaultArgumentPromotion (C99 6.5.2.2p6). Used for function calls that
|
||||
/// 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 this is a 'float' (CVR qualified or typedef) promote to double.
|
||||
if (const BuiltinType *BT = Ty->getAsBuiltinType())
|
||||
if (BT->getKind() == BuiltinType::Float)
|
||||
return ImpCastExprToType(Expr, Context.DoubleTy);
|
||||
|
||||
UsualUnaryConversions(Expr);
|
||||
}
|
||||
|
||||
/// DefaultFunctionArrayConversion (C99 6.3.2.1p3, C99 6.3.2.1p4).
|
||||
void Sema::DefaultFunctionArrayConversion(Expr *&E) {
|
||||
QualType Ty = E->getType();
|
||||
|
@ -91,6 +76,21 @@ Expr *Sema::UsualUnaryConversions(Expr *&Expr) {
|
|||
return Expr;
|
||||
}
|
||||
|
||||
/// DefaultArgumentPromotion (C99 6.5.2.2p6). Used for function calls that
|
||||
/// 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 this is a 'float' (CVR qualified or typedef) promote to double.
|
||||
if (const BuiltinType *BT = Ty->getAsBuiltinType())
|
||||
if (BT->getKind() == BuiltinType::Float)
|
||||
return ImpCastExprToType(Expr, Context.DoubleTy);
|
||||
|
||||
UsualUnaryConversions(Expr);
|
||||
}
|
||||
|
||||
/// UsualArithmeticConversions - Performs various conversions that are common to
|
||||
/// binary operators (C99 6.3.1.8). If both operands aren't arithmetic, this
|
||||
/// routine returns the first non-arithmetic type found. The client is
|
||||
|
|
Загрузка…
Ссылка в новой задаче