diff options
Diffstat (limited to 'lib/Sema/SemaIntrinsic.cpp')
-rw-r--r-- | lib/Sema/SemaIntrinsic.cpp | 8 |
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; |