summaryrefslogtreecommitdiff
path: root/lib/Sema/SemaIntrinsic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema/SemaIntrinsic.cpp')
-rw-r--r--lib/Sema/SemaIntrinsic.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Sema/SemaIntrinsic.cpp b/lib/Sema/SemaIntrinsic.cpp
index a856320968..34333661b2 100644
--- a/lib/Sema/SemaIntrinsic.cpp
+++ b/lib/Sema/SemaIntrinsic.cpp
@@ -168,8 +168,8 @@ bool Sema::CheckIntrinsicTruncationFunc(intrinsic::FunctionKind Function,
auto GenericFunction = getGenericFunctionKind(Function);
if(GenericFunction != Function)
- CheckDoublePrecisionRealArgument(Arg);
- else CheckRealArgument(Arg);
+ CheckDoublePrecisionRealArgument(Arg, true);
+ else CheckRealArgument(Arg, true);
switch(GenericFunction) {
case AINT:
@@ -177,7 +177,9 @@ bool Sema::CheckIntrinsicTruncationFunc(intrinsic::FunctionKind Function,
ReturnType = Arg->getType();
break;
case NINT:
- ReturnType = Context.IntegerTy;
+ case CEILING:
+ case FLOOR:
+ ReturnType = GetUnaryReturnType(Arg, Context.IntegerTy);
break;
}
return false;