summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2011-03-10 22:11:46 +0000
committerChris Lattner <sabre@nondot.org>2011-03-10 22:11:46 +0000
commitee841f4a4aea0739d9a2e19e42593504ed873a78 (patch)
treeb5b7d3989f50b7704adf4ddf76bd295e318db454 /lib
parentb1aee72ea035253883718d2f895dda17e4052f08 (diff)
downloadcompiler-rt-ee841f4a4aea0739d9a2e19e42593504ed873a78.tar.gz
don't compile modsi3 into an infinite loop, patch by Matt Johnson!
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@127429 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/modsi3.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/modsi3.c b/lib/modsi3.c
index 388418a2a..70d38a6b5 100644
--- a/lib/modsi3.c
+++ b/lib/modsi3.c
@@ -14,10 +14,12 @@
#include "int_lib.h"
+su_int __divsi3(si_int a, si_int b);
+
/* Returns: a % b */
si_int
__modsi3(si_int a, si_int b)
{
- return a - (a / b) * b;
+ return a - __divsi3(a, b) * b;
}