summaryrefslogtreecommitdiff
path: root/lib/builtins/fixunsdfdi.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/builtins/fixunsdfdi.c')
-rw-r--r--lib/builtins/fixunsdfdi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/builtins/fixunsdfdi.c b/lib/builtins/fixunsdfdi.c
index b93d1c10b..2e0d87eac 100644
--- a/lib/builtins/fixunsdfdi.c
+++ b/lib/builtins/fixunsdfdi.c
@@ -21,6 +21,7 @@ ARM_EABI_FNALIAS(d2ulz, fixunsdfdi)
COMPILER_RT_ABI du_int
__fixunsdfdi(double a)
{
+ if (a <= 0.0) return 0;
su_int high = a/0x1p32f;
su_int low = a - (double)high*0x1p32f;
return ((du_int)high << 32) | low;