Add COMPILER_RT_ABI attribute to declarations of builtin functions in unittests
authorDerek Schuff <dschuff@google.com>
Fri, 24 Apr 2015 15:45:57 +0000 (15:45 +0000)
committerDerek Schuff <dschuff@google.com>
Fri, 24 Apr 2015 15:45:57 +0000 (15:45 +0000)
Summary:
This makes their local declarations match their definitions for ARM targets,
where they have a different calling convention.

This really only affects functions that use floating point types (since the
runtime functions use soft-float, and some targets may default to hard-float)
but it seemed good to make it uniform and do the int-only ones too.

Differential Revision: http://reviews.llvm.org/D9062

llvm-svn: 235722

131 files changed:
compiler-rt/test/builtins/Unit/absvdi2_test.c
compiler-rt/test/builtins/Unit/absvsi2_test.c
compiler-rt/test/builtins/Unit/absvti2_test.c
compiler-rt/test/builtins/Unit/adddf3vfp_test.c
compiler-rt/test/builtins/Unit/addsf3vfp_test.c
compiler-rt/test/builtins/Unit/addtf3_test.c
compiler-rt/test/builtins/Unit/addvdi3_test.c
compiler-rt/test/builtins/Unit/addvsi3_test.c
compiler-rt/test/builtins/Unit/addvti3_test.c
compiler-rt/test/builtins/Unit/ashldi3_test.c
compiler-rt/test/builtins/Unit/ashlti3_test.c
compiler-rt/test/builtins/Unit/ashrdi3_test.c
compiler-rt/test/builtins/Unit/ashrti3_test.c
compiler-rt/test/builtins/Unit/clzdi2_test.c
compiler-rt/test/builtins/Unit/clzsi2_test.c
compiler-rt/test/builtins/Unit/clzti2_test.c
compiler-rt/test/builtins/Unit/cmpdi2_test.c
compiler-rt/test/builtins/Unit/cmpti2_test.c
compiler-rt/test/builtins/Unit/ctzdi2_test.c
compiler-rt/test/builtins/Unit/ctzsi2_test.c
compiler-rt/test/builtins/Unit/ctzti2_test.c
compiler-rt/test/builtins/Unit/divdc3_test.c
compiler-rt/test/builtins/Unit/divdf3vfp_test.c
compiler-rt/test/builtins/Unit/divdi3_test.c
compiler-rt/test/builtins/Unit/divmodsi4_test.c
compiler-rt/test/builtins/Unit/divsc3_test.c
compiler-rt/test/builtins/Unit/divsf3vfp_test.c
compiler-rt/test/builtins/Unit/divsi3_test.c
compiler-rt/test/builtins/Unit/divtc3_test.c
compiler-rt/test/builtins/Unit/divtf3_test.c
compiler-rt/test/builtins/Unit/divti3_test.c
compiler-rt/test/builtins/Unit/divxc3_test.c
compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c
compiler-rt/test/builtins/Unit/extenddftf2_test.c
compiler-rt/test/builtins/Unit/extendsftf2_test.c
compiler-rt/test/builtins/Unit/ffsdi2_test.c
compiler-rt/test/builtins/Unit/ffsti2_test.c
compiler-rt/test/builtins/Unit/fixdfdi_test.c
compiler-rt/test/builtins/Unit/fixdfti_test.c
compiler-rt/test/builtins/Unit/fixsfdi_test.c
compiler-rt/test/builtins/Unit/fixsfti_test.c
compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
compiler-rt/test/builtins/Unit/fixunsdfti_test.c
compiler-rt/test/builtins/Unit/fixunssfdi_test.c
compiler-rt/test/builtins/Unit/fixunssfsi_test.c
compiler-rt/test/builtins/Unit/fixunssfti_test.c
compiler-rt/test/builtins/Unit/fixunstfdi_test.c
compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
compiler-rt/test/builtins/Unit/fixunsxfti_test.c
compiler-rt/test/builtins/Unit/fixxfdi_test.c
compiler-rt/test/builtins/Unit/fixxfti_test.c
compiler-rt/test/builtins/Unit/floatdidf_test.c
compiler-rt/test/builtins/Unit/floatdisf_test.c
compiler-rt/test/builtins/Unit/floatdixf_test.c
compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
compiler-rt/test/builtins/Unit/floatsitf_test.c
compiler-rt/test/builtins/Unit/floattidf_test.c
compiler-rt/test/builtins/Unit/floattisf_test.c
compiler-rt/test/builtins/Unit/floattixf_test.c
compiler-rt/test/builtins/Unit/floatundidf_test.c
compiler-rt/test/builtins/Unit/floatundisf_test.c
compiler-rt/test/builtins/Unit/floatundixf_test.c
compiler-rt/test/builtins/Unit/floatunsitf_test.c
compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
compiler-rt/test/builtins/Unit/floatuntidf_test.c
compiler-rt/test/builtins/Unit/floatuntisf_test.c
compiler-rt/test/builtins/Unit/floatuntixf_test.c
compiler-rt/test/builtins/Unit/lshrdi3_test.c
compiler-rt/test/builtins/Unit/lshrti3_test.c
compiler-rt/test/builtins/Unit/moddi3_test.c
compiler-rt/test/builtins/Unit/modsi3_test.c
compiler-rt/test/builtins/Unit/modti3_test.c
compiler-rt/test/builtins/Unit/muldc3_test.c
compiler-rt/test/builtins/Unit/muldf3vfp_test.c
compiler-rt/test/builtins/Unit/muldi3_test.c
compiler-rt/test/builtins/Unit/mulodi4_test.c
compiler-rt/test/builtins/Unit/mulosi4_test.c
compiler-rt/test/builtins/Unit/muloti4_test.c
compiler-rt/test/builtins/Unit/mulsc3_test.c
compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
compiler-rt/test/builtins/Unit/multc3_test.c
compiler-rt/test/builtins/Unit/multf3_test.c
compiler-rt/test/builtins/Unit/multi3_test.c
compiler-rt/test/builtins/Unit/mulvdi3_test.c
compiler-rt/test/builtins/Unit/mulvsi3_test.c
compiler-rt/test/builtins/Unit/mulvti3_test.c
compiler-rt/test/builtins/Unit/mulxc3_test.c
compiler-rt/test/builtins/Unit/negdf2vfp_test.c
compiler-rt/test/builtins/Unit/negdi2_test.c
compiler-rt/test/builtins/Unit/negsf2vfp_test.c
compiler-rt/test/builtins/Unit/negti2_test.c
compiler-rt/test/builtins/Unit/negvdi2_test.c
compiler-rt/test/builtins/Unit/negvsi2_test.c
compiler-rt/test/builtins/Unit/negvti2_test.c
compiler-rt/test/builtins/Unit/paritydi2_test.c
compiler-rt/test/builtins/Unit/paritysi2_test.c
compiler-rt/test/builtins/Unit/parityti2_test.c
compiler-rt/test/builtins/Unit/popcountdi2_test.c
compiler-rt/test/builtins/Unit/popcountsi2_test.c
compiler-rt/test/builtins/Unit/popcountti2_test.c
compiler-rt/test/builtins/Unit/powidf2_test.c
compiler-rt/test/builtins/Unit/powisf2_test.c
compiler-rt/test/builtins/Unit/powitf2_test.c
compiler-rt/test/builtins/Unit/powixf2_test.c
compiler-rt/test/builtins/Unit/ppc/floatditf_test.c
compiler-rt/test/builtins/Unit/ppc/floatunditf_test.c
compiler-rt/test/builtins/Unit/subdf3vfp_test.c
compiler-rt/test/builtins/Unit/subsf3vfp_test.c
compiler-rt/test/builtins/Unit/subtf3_test.c
compiler-rt/test/builtins/Unit/subvdi3_test.c
compiler-rt/test/builtins/Unit/subvsi3_test.c
compiler-rt/test/builtins/Unit/subvti3_test.c
compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
compiler-rt/test/builtins/Unit/trunctfdf2_test.c
compiler-rt/test/builtins/Unit/trunctfsf2_test.c
compiler-rt/test/builtins/Unit/ucmpdi2_test.c
compiler-rt/test/builtins/Unit/ucmpti2_test.c
compiler-rt/test/builtins/Unit/udivdi3_test.c
compiler-rt/test/builtins/Unit/udivmoddi4_test.c
compiler-rt/test/builtins/Unit/udivmodsi4_test.c
compiler-rt/test/builtins/Unit/udivmodti4_test.c
compiler-rt/test/builtins/Unit/udivsi3_test.c
compiler-rt/test/builtins/Unit/udivti3_test.c
compiler-rt/test/builtins/Unit/umoddi3_test.c
compiler-rt/test/builtins/Unit/umodsi3_test.c
compiler-rt/test/builtins/Unit/umodti3_test.c

index f0bf560..f69ae41 100644 (file)
@@ -19,7 +19,7 @@
 
 // Effects: aborts if abs(x) < 0
 
-di_int __absvdi2(di_int a);
+COMPILER_RT_ABI di_int __absvdi2(di_int a);
 
 int test__absvdi2(di_int a)
 {
index 3b88078..c395cca 100644 (file)
@@ -19,7 +19,7 @@
 
 // Effects: aborts if abs(x) < 0
 
-si_int __absvsi2(si_int a);
+COMPILER_RT_ABI si_int __absvsi2(si_int a);
 
 int test__absvsi2(si_int a)
 {
index 9b71f20..6c626e9 100644 (file)
@@ -21,7 +21,7 @@
 
 // Effects: aborts if abs(x) < 0
 
-ti_int __absvti2(ti_int a);
+COMPILER_RT_ABI ti_int __absvti2(ti_int a);
 
 int test__absvti2(ti_int a)
 {
index 5ad42f7..7395152 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
 #if __arm__
-extern double __adddf3vfp(double a, double b);
+extern COMPILER_RT_ABI double __adddf3vfp(double a, double b);
 
 int test__adddf3vfp(double a, double b)
 {
index 95e057c..4b3dccc 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern float __addsf3vfp(float a, float b);
+extern COMPILER_RT_ABI float __addsf3vfp(float a, float b);
 
 #if __arm__
 int test__addsf3vfp(float a, float b)
index 4a3aacd..7b92cce 100644 (file)
@@ -11,6 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
@@ -18,7 +19,7 @@
 #include "fp_test.h"
 
 // Returns: a + b
-long double __addtf3(long double a, long double b);
+COMPILER_RT_ABI long double __addtf3(long double a, long double b);
 
 int test__addtf3(long double a, long double b,
                  uint64_t expectedHi, uint64_t expectedLo)
index 0d7271d..5f8729a 100644 (file)
@@ -18,7 +18,7 @@
 
 // Effects: aborts if a + b overflows
 
-di_int __addvdi3(di_int a, di_int b);
+COMPILER_RT_ABI di_int __addvdi3(di_int a, di_int b);
 
 int test__addvdi3(di_int a, di_int b)
 {
index 59fd9d2..b5358d0 100644 (file)
@@ -18,7 +18,7 @@
 
 // Effects: aborts if a + b overflows
 
-si_int __addvsi3(si_int a, si_int b);
+COMPILER_RT_ABI si_int __addvsi3(si_int a, si_int b);
 
 int test__addvsi3(si_int a, si_int b)
 {
index fe093e3..e2f75cf 100644 (file)
@@ -20,7 +20,7 @@
 
 // Effects: aborts if a + b overflows
 
-ti_int __addvti3(ti_int a, ti_int b);
+COMPILER_RT_ABI ti_int __addvti3(ti_int a, ti_int b);
 
 int test__addvti3(ti_int a, ti_int b)
 {
index fb80c6f..398fb69 100644 (file)
@@ -18,7 +18,7 @@
 
 // Precondition:  0 <= b < bits_in_dword
 
-di_int __ashldi3(di_int a, si_int b);
+COMPILER_RT_ABI di_int __ashldi3(di_int a, si_int b);
 
 int test__ashldi3(di_int a, si_int b, di_int expected)
 {
index 2361d16..595e353 100644 (file)
@@ -20,7 +20,7 @@
 
 // Precondition:  0 <= b < bits_in_tword
 
-ti_int __ashlti3(ti_int a, si_int b);
+COMPILER_RT_ABI ti_int __ashlti3(ti_int a, si_int b);
 
 int test__ashlti3(ti_int a, si_int b, ti_int expected)
 {
index ac517e1..ee6409c 100644 (file)
@@ -18,7 +18,7 @@
 
 // Precondition:  0 <= b < bits_in_dword
 
-di_int __ashrdi3(di_int a, si_int b);
+COMPILER_RT_ABI di_int __ashrdi3(di_int a, si_int b);
 
 int test__ashrdi3(di_int a, si_int b, di_int expected)
 {
index 62ba101..201582d 100644 (file)
@@ -20,7 +20,7 @@
 
 // Precondition:  0 <= b < bits_in_tword
 
-ti_int __ashrti3(ti_int a, si_int b);
+COMPILER_RT_ABI ti_int __ashrti3(ti_int a, si_int b);
 
 int test__ashrti3(ti_int a, si_int b, ti_int expected)
 {
index 58403f0..41e1209 100644 (file)
@@ -18,7 +18,7 @@
 
 // Precondition: a != 0
 
-si_int __clzdi2(di_int a);
+COMPILER_RT_ABI si_int __clzdi2(di_int a);
 
 int test__clzdi2(di_int a, si_int expected)
 {
index cc1da64..80b300f 100644 (file)
@@ -18,7 +18,7 @@
 
 // Precondition: a != 0
 
-si_int __clzsi2(si_int a);
+COMPILER_RT_ABI si_int __clzsi2(si_int a);
 
 int test__clzsi2(si_int a, si_int expected)
 {
index 5a0e3e8..3a2c6fa 100644 (file)
@@ -20,7 +20,7 @@
 
 // Precondition: a != 0
 
-si_int __clzti2(ti_int a);
+COMPILER_RT_ABI si_int __clzti2(ti_int a);
 
 int test__clzti2(ti_int a, si_int expected)
 {
index 609ab1a..33a12a0 100644 (file)
@@ -18,7 +18,7 @@
 //           if (a == b) returns 1
 //           if (a >  b) returns 2
 
-si_int __cmpdi2(di_int a, di_int b);
+COMPILER_RT_ABI si_int __cmpdi2(di_int a, di_int b);
 
 int test__cmpdi2(di_int a, di_int b, si_int expected)
 {
index 15ee4fc..d951923 100644 (file)
@@ -20,7 +20,7 @@
 //           if (a == b) returns 1
 //           if (a >  b) returns 2
 
-si_int __cmpti2(ti_int a, ti_int b);
+COMPILER_RT_ABI si_int __cmpti2(ti_int a, ti_int b);
 
 int test__cmpti2(ti_int a, ti_int b, si_int expected)
 {
index 1f2d101..bde66b1 100644 (file)
@@ -18,7 +18,7 @@
 
 // Precondition: a != 0
 
-si_int __ctzdi2(di_int a);
+COMPILER_RT_ABI si_int __ctzdi2(di_int a);
 
 int test__ctzdi2(di_int a, si_int expected)
 {
index 36f2215..cbc101f 100644 (file)
@@ -18,7 +18,7 @@
 
 // Precondition: a != 0
 
-si_int __ctzsi2(si_int a);
+COMPILER_RT_ABI si_int __ctzsi2(si_int a);
 
 int test__ctzsi2(si_int a, si_int expected)
 {
index 9a972f9..0ca1920 100644 (file)
@@ -20,7 +20,7 @@
 
 // Precondition: a != 0
 
-si_int __ctzti2(ti_int a);
+COMPILER_RT_ABI si_int __ctzti2(ti_int a);
 
 int test__ctzti2(ti_int a, si_int expected)
 {
index 9224cdd..80b9e86 100644 (file)
@@ -18,7 +18,8 @@
 
 // Returns: the quotient of (a + ib) / (c + id)
 
-double _Complex __divdc3(double __a, double __b, double __c, double __d);
+COMPILER_RT_ABI double _Complex
+__divdc3(double __a, double __b, double __c, double __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
 
index e13822f..6f0808a 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
 #if __arm__
-extern double __divdf3vfp(double a, double b);
+extern COMPILER_RT_ABI double __divdf3vfp(double a, double b);
 
 int test__divdf3vfp(double a, double b)
 {
index c25f917..1d45980 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a / b
 
-di_int __divdi3(di_int a, di_int b);
+COMPILER_RT_ABI di_int __divdi3(di_int a, di_int b);
 
 int test__divdi3(di_int a, di_int b, di_int expected)
 {
index bea31ea..6fb1c98 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a / b
 
-extern si_int __divmodsi4(si_int a, si_int b, si_int* rem);
+extern COMPILER_RT_ABI si_int __divmodsi4(si_int a, si_int b, si_int* rem);
 
 
 int test__divmodsi4(si_int a, si_int b, 
index 9d060a2..2d7c659 100644 (file)
@@ -18,7 +18,8 @@
 
 // Returns: the quotient of (a + ib) / (c + id)
 
-float _Complex __divsc3(float __a, float __b, float __c, float __d);
+COMPILER_RT_ABI float _Complex
+__divsc3(float __a, float __b, float __c, float __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
 
index 8382558..f742441 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern float __divsf3vfp(float a, float b);
+extern COMPILER_RT_ABI float __divsf3vfp(float a, float b);
 
 #if __arm__
 int test__divsf3vfp(float a, float b)
index 6fda54f..c523367 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a / b
 
-si_int __divsi3(si_int a, si_int b);
+COMPILER_RT_ABI si_int __divsi3(si_int a, si_int b);
 
 int test__divsi3(si_int a, si_int b, si_int expected)
 {
index 50918d6..ad2c96d 100644 (file)
@@ -21,7 +21,7 @@
 
 // Returns: the quotient of (a + ib) / (c + id)
 
-long double _Complex 
+COMPILER_RT_ABI long double _Complex
 __divtc3(long double __a, long double __b, long double __c, long double __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
index dad631c..e0def45 100644 (file)
@@ -11,6 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
@@ -18,7 +19,7 @@
 #include "fp_test.h"
 
 // Returns: a / b
-long double __divtf3(long double a, long double b);
+COMPILER_RT_ABI long double __divtf3(long double a, long double b);
 
 int test__divtf3(long double a, long double b,
                  uint64_t expectedHi, uint64_t expectedLo)
index bc81c2a..3a94dab 100644 (file)
@@ -18,7 +18,7 @@
 
 // Returns: a / b
 
-ti_int __divti3(ti_int a, ti_int b);
+COMPILER_RT_ABI ti_int __divti3(ti_int a, ti_int b);
 
 int test__divti3(ti_int a, ti_int b, ti_int expected)
 {
index aa8a762..509b4b1 100644 (file)
@@ -20,7 +20,7 @@
 
 // Returns: the quotient of (a + ib) / (c + id)
 
-long double _Complex 
+COMPILER_RT_ABI long double _Complex
 __divxc3(long double __a, long double __b, long double __c, long double __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
index 3a009cf..53c7282 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern double __extendsfdf2vfp(float a);
+extern COMPILER_RT_ABI double __extendsfdf2vfp(float a);
 
 #if __arm__
 int test__extendsfdf2vfp(float a)
index 05acc08..2cfb32b 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
 
 #include "fp_test.h"
 
-long double __extenddftf2(double a);
+COMPILER_RT_ABI long double __extenddftf2(double a);
 
 int test__extenddftf2(double a, uint64_t expectedHi, uint64_t expectedLo)
 {
index 5f41928..7dff5b6 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
 
 #include "fp_test.h"
 
-long double __extendsftf2(float a);
+COMPILER_RT_ABI long double __extendsftf2(float a);
 
 int test__extendsftf2(float a, uint64_t expectedHi, uint64_t expectedLo)
 {
index 9041127..a27d154 100644 (file)
@@ -17,7 +17,7 @@
 // Returns: the index of the least significant 1-bit in a, or
 // the value zero if a is zero. The least significant bit is index one.
 
-si_int __ffsdi2(di_int a);
+COMPILER_RT_ABI si_int __ffsdi2(di_int a);
 
 int test__ffsdi2(di_int a, si_int expected)
 {
index f944ed0..396269d 100644 (file)
@@ -19,7 +19,7 @@
 // Returns: the index of the least significant 1-bit in a, or
 // the value zero if a is zero. The least significant bit is index one.
 
-si_int __ffsti2(ti_int a);
+COMPILER_RT_ABI si_int __ffsti2(ti_int a);
 
 int test__ffsti2(ti_int a, si_int expected)
 {
index d08afe3..4a7cfa3 100644 (file)
@@ -22,7 +22,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-di_int __fixdfdi(double a);
+COMPILER_RT_ABI di_int __fixdfdi(double a);
 
 int test__fixdfdi(double a, di_int expected)
 {
index bfa88fd..b5da456 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-ti_int __fixdfti(double a);
+COMPILER_RT_ABI ti_int __fixdfti(double a);
 
 int test__fixdfti(double a, ti_int expected)
 {
index d3e934a..f37ecef 100644 (file)
@@ -22,7 +22,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-di_int __fixsfdi(float a);
+COMPILER_RT_ABI di_int __fixsfdi(float a);
 
 int test__fixsfdi(float a, di_int expected)
 {
index 2b0b997..38748aa 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-ti_int __fixsfti(float a);
+COMPILER_RT_ABI ti_int __fixsfti(float a);
 
 int test__fixsfti(float a, ti_int expected)
 {
index 0803fd2..3998482 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-du_int __fixunsdfdi(double a);
+COMPILER_RT_ABI du_int __fixunsdfdi(double a);
 
 int test__fixunsdfdi(double a, du_int expected)
 {
index 54fe35b..551fc88 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-su_int __fixunsdfsi(double a);
+COMPILER_RT_ABI su_int __fixunsdfsi(double a);
 
 int test__fixunsdfsi(double a, su_int expected)
 {
index 3727cf7..ebd0be2 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern unsigned int __fixunsdfsivfp(double a);
+extern COMPILER_RT_ABI unsigned int __fixunsdfsivfp(double a);
 
 #if __arm__
 int test__fixunsdfsivfp(double a)
index 9f89de4..e1aa56d 100644 (file)
@@ -26,7 +26,7 @@
 
 #ifdef CRT_HAS_128BIT
 
-tu_int __fixunsdfti(double a);
+COMPILER_RT_ABI tu_int __fixunsdfti(double a);
 
 int test__fixunsdfti(double a, tu_int expected)
 {
index ac89be7..812457a 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-du_int __fixunssfdi(float a);
+COMPILER_RT_ABI du_int __fixunssfdi(float a);
 
 int test__fixunssfdi(float a, du_int expected)
 {
index ce6a928..94a8b08 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-su_int __fixunssfsi(float a);
+COMPILER_RT_ABI su_int __fixunssfsi(float a);
 
 int test__fixunssfsi(float a, su_int expected)
 {
index 7965b95..979d661 100644 (file)
@@ -26,7 +26,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-tu_int __fixunssfti(float a);
+COMPILER_RT_ABI tu_int __fixunssfti(float a);
 
 int test__fixunssfti(float a, tu_int expected)
 {
index a5a9460..60ea503 100644 (file)
@@ -25,7 +25,7 @@
 //             value in long double is representable in du_int or is negative 
 //                 (no range checking performed)
 
-du_int __fixunstfdi(long double a);
+COMPILER_RT_ABI du_int __fixunstfdi(long double a);
 
 int test__fixunstfdi(long double a, du_int expected)
 {
index 4308f6f..6f42079 100644 (file)
@@ -28,7 +28,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-du_int __fixunsxfdi(long double a);
+COMPILER_RT_ABI du_int __fixunsxfdi(long double a);
 
 int test__fixunsxfdi(long double a, du_int expected)
 {
index cb2a7f4..0d78dcb 100644 (file)
@@ -26,7 +26,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-su_int __fixunsxfsi(long double a);
+COMPILER_RT_ABI su_int __fixunsxfsi(long double a);
 
 int test__fixunsxfsi(long double a, su_int expected)
 {
index 7d18b12..94b5aeb 100644 (file)
@@ -27,7 +27,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-tu_int __fixunsxfti(long double a);
+COMPILER_RT_ABI tu_int __fixunsxfti(long double a);
 
 int test__fixunsxfti(long double a, tu_int expected)
 {
index 43ac0f8..0a90a56 100644 (file)
@@ -25,7 +25,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-di_int __fixxfdi(long double a);
+COMPILER_RT_ABI di_int __sfixxfdi(long double a);
 
 int test__fixxfdi(long double a, di_int expected)
 {
index 87914c5..b8573cc 100644 (file)
@@ -25,7 +25,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-ti_int __fixxfti(long double a);
+COMPILER_RT_ABI ti_int __fixxfti(long double a);
 
 int test__fixxfti(long double a, ti_int expected)
 {
index af3dacd..9bf2be9 100644 (file)
@@ -22,7 +22,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-double __floatdidf(di_int a);
+COMPILER_RT_ABI double __floatdidf(di_int a);
 
 int test__floatdidf(di_int a, double expected)
 {
index 3e71df7..a55c6a9 100644 (file)
@@ -22,7 +22,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-float __floatdisf(di_int a);
+COMPILER_RT_ABI float __floatdisf(di_int a);
 
 int test__floatdisf(di_int a, float expected)
 {
index 3376664..f6ab5a4 100644 (file)
@@ -23,7 +23,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-long double __floatdixf(di_int a);
+long COMPILER_RT_ABI double __floatdixf(di_int a);
 
 int test__floatdixf(di_int a, long double expected)
 {
index e21ecda..e5ea3a4 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern double __floatsidfvfp(int a);
+extern COMPILER_RT_ABI double __floatsidfvfp(int a);
 
 #if __arm__
 int test__floatsidfvfp(int a)
index d20905b..ab21e2e 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern float __floatsisfvfp(int a);
+extern COMPILER_RT_ABI float __floatsisfvfp(int a);
 
 #if __arm__
 int test__floatsisfvfp(int a)
index db4d020..8373c7d 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
 
 #include "fp_test.h"
 
-long double __floatsitf(int a);
+long COMPILER_RT_ABI double __floatsitf(int a);
 
 int test__floatsitf(int a, uint64_t expectedHi, uint64_t expectedLo)
 {
index 476304f..3af382a 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-double __floattidf(ti_int a);
+COMPILER_RT_ABI double __floattidf(ti_int a);
 
 int test__floattidf(ti_int a, double expected)
 {
index 75b8e91..0f5dc54 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-float __floattisf(ti_int a);
+COMPILER_RT_ABI float __floattisf(ti_int a);
 
 int test__floattisf(ti_int a, float expected)
 {
index ce35668..d281deb 100644 (file)
@@ -25,7 +25,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-long double __floattixf(ti_int a);
+COMPILER_RT_ABI long double __floattixf(ti_int a);
 
 int test__floattixf(ti_int a, long double expected)
 {
index ae91ac3..97fb1e5 100644 (file)
@@ -22,7 +22,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-double __floatundidf(du_int a);
+COMPILER_RT_ABI double __floatundidf(du_int a);
 
 int test__floatundidf(di_int a, double expected)
 {
index 394c945..40b6bcc 100644 (file)
@@ -22,7 +22,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-float __floatundisf(du_int a);
+COMPILER_RT_ABI float __floatundisf(du_int a);
 
 int test__floatundisf(du_int a, float expected)
 {
index 1974fa0..690dce1 100644 (file)
@@ -24,7 +24,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-long double __floatundixf(du_int a);
+COMPILER_RT_ABI long double __floatundixf(du_int a);
 
 int test__floatundixf(du_int a, long double expected)
 {
index 1af72d2..c3d3fe9 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
 
 #include "fp_test.h"
 
-long double __floatunsitf(unsigned int a);
+COMPILER_RT_ABI long double __floatunsitf(unsigned int a);
 
 int test__floatunsitf(unsigned int a, uint64_t expectedHi, uint64_t expectedLo)
 {
index 4883af1..75e4bbd 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern double __floatunssidfvfp(unsigned int a);
+extern COMPILER_RT_ABI double __floatunssidfvfp(unsigned int a);
 
 #if __arm__
 int test__floatunssidfvfp(unsigned int a)
index 917061a..47f837c 100644 (file)
@@ -14,9 +14,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
+#include "int_lib.h"
 
-
-extern float __floatunssisfvfp(unsigned int a);
+extern COMPILER_RT_ABI float __floatunssisfvfp(unsigned int a);
 
 #if __arm__
 int test__floatunssisfvfp(unsigned int a)
index 3cab027..9855ff7 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-double __floatuntidf(tu_int a);
+COMPILER_RT_ABI double __floatuntidf(tu_int a);
 
 int test__floatuntidf(tu_int a, double expected)
 {
index aeac3ee..9b5ff79 100644 (file)
@@ -24,7 +24,7 @@
 
 // seee eeee emmm mmmm mmmm mmmm mmmm mmmm
 
-float __floatuntisf(tu_int a);
+COMPILER_RT_ABI float __floatuntisf(tu_int a);
 
 int test__floatuntisf(tu_int a, float expected)
 {
index 9c3434f..c58b55d 100644 (file)
@@ -25,7 +25,7 @@
 // gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
 // 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
 
-long double __floatuntixf(tu_int a);
+COMPILER_RT_ABI long double __floatuntixf(tu_int a);
 
 int test__floatuntixf(tu_int a, long double expected)
 {
index ffc6a69..d48ae4d 100644 (file)
@@ -18,7 +18,7 @@
 
 // Precondition:  0 <= b < bits_in_dword
 
-di_int __lshrdi3(di_int a, si_int b);
+COMPILER_RT_ABI di_int __lshrdi3(di_int a, si_int b);
 
 int test__lshrdi3(di_int a, si_int b, di_int expected)
 {
index 3f33c08..f5a0dd6 100644 (file)
@@ -20,7 +20,7 @@
 
 // Precondition:  0 <= b < bits_in_dword
 
-ti_int __lshrti3(ti_int a, si_int b);
+COMPILER_RT_ABI ti_int __lshrti3(ti_int a, si_int b);
 
 int test__lshrti3(ti_int a, si_int b, ti_int expected)
 {
index 9f6801d..62e8f22 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a % b
 
-di_int __moddi3(di_int a, di_int b);
+COMPILER_RT_ABI di_int __moddi3(di_int a, di_int b);
 
 int test__moddi3(di_int a, di_int b, di_int expected)
 {
index 52ec9a0..8c9f588 100644 (file)
@@ -17,7 +17,7 @@
 
 /* Returns: a % b */
 
-si_int __modsi3(si_int a, si_int b);
+COMPILER_RT_ABI si_int __modsi3(si_int a, si_int b);
 
 int test__modsi3(si_int a, si_int b, si_int expected) {
     si_int x = __modsi3(a, b);
index ba9f980..99413aa 100644 (file)
@@ -18,7 +18,7 @@
 
 // Returns: a % b
 
-ti_int __modti3(ti_int a, ti_int b);
+COMPILER_RT_ABI ti_int __modti3(ti_int a, ti_int b);
 
 int test__modti3(ti_int a, ti_int b, ti_int expected)
 {
index 112b612..6902ef3 100644 (file)
@@ -18,7 +18,8 @@
 
 // Returns: the product of a + ib and c + id
 
-double _Complex __muldc3(double __a, double __b, double __c, double __d);
+COMPILER_RT_ABI double _Complex
+__muldc3(double __a, double __b, double __c, double __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
 
index 73454bf..766972d 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
 #if __arm__
-extern double __muldf3vfp(double a, double b);
+extern COMPILER_RT_ABI double __muldf3vfp(double a, double b);
 
 int test__muldf3vfp(double a, double b)
 {
index 83b5255..651dd01 100644 (file)
@@ -14,7 +14,7 @@
 #include "int_lib.h"
 #include <stdio.h>
 
-di_int __muldi3(di_int a, di_int b);
+COMPILER_RT_ABI di_int __muldi3(di_int a, di_int b);
 
 int test__muldi3(di_int a, di_int b, di_int expected)
 {
index 10a0eaa..4546609 100644 (file)
@@ -14,7 +14,7 @@
 #include "int_lib.h"
 #include <stdio.h>
 
-extern di_int __mulodi4(di_int a, di_int b, int* overflow);
+extern COMPILER_RT_ABI di_int __mulodi4(di_int a, di_int b, int* overflow);
 
 int test__mulodi4(di_int a, di_int b, di_int expected, int expected_overflow)
 {
index fc509db..6a27d69 100644 (file)
@@ -18,7 +18,7 @@
 
 // Effects: aborts if a * b overflows
 
-si_int __mulosi4(si_int a, si_int b, int *overflow);
+COMPILER_RT_ABI si_int __mulosi4(si_int a, si_int b, int *overflow);
 
 int test__mulosi4(si_int a, si_int b, si_int expected, int expected_overflow)
 {
index 95439a4..d00e7bb 100644 (file)
@@ -20,7 +20,7 @@
 
 // Effects: sets overflow if a * b overflows
 
-ti_int __muloti4(ti_int a, ti_int b, int *overflow);
+COMPILER_RT_ABI ti_int __muloti4(ti_int a, ti_int b, int *overflow);
 
 int test__muloti4(ti_int a, ti_int b, ti_int expected, int expected_overflow)
 {
index 7a1b3ae..eeb537a 100644 (file)
@@ -18,7 +18,8 @@
 
 // Returns: the product of a + ib and c + id
 
-float _Complex __mulsc3(float __a, float __b, float __c, float __d);
+COMPILER_RT_ABI float _Complex
+__mulsc3(float __a, float __b, float __c, float __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
 
index 92cf1f1..5b0f6c1 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern float __mulsf3vfp(float a, float b);
+extern COMPILER_RT_ABI float __mulsf3vfp(float a, float b);
 
 #if __arm__
 int test__mulsf3vfp(float a, float b)
index 8d34801..b148263 100644 (file)
@@ -21,7 +21,7 @@
 
 // Returns: the product of a + ib and c + id
 
-long double _Complex
+COMPILER_RT_ABI long double _Complex
 __multc3(long double __a, long double __b, long double __c, long double __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
index 8961005..98a8f7a 100644 (file)
@@ -18,7 +18,7 @@
 #include "fp_test.h"
 
 // Returns: a * b
-long double __multf3(long double a, long double b);
+COMPILER_RT_ABI long double __multf3(long double a, long double b);
 
 int test__multf3(long double a, long double b,
                  uint64_t expectedHi, uint64_t expectedLo)
index 2ccbd06..04b1b8a 100644 (file)
@@ -16,7 +16,7 @@
 
 #ifdef CRT_HAS_128BIT
 
-ti_int __multi3(ti_int a, ti_int b);
+COMPILER_RT_ABI ti_int __multi3(ti_int a, ti_int b);
 
 int test__multi3(ti_int a, ti_int b, ti_int expected)
 {
index a023bf6..7f16c4c 100644 (file)
@@ -18,7 +18,7 @@
 
 // Effects: aborts if a * b overflows
 
-di_int __mulvdi3(di_int a, di_int b);
+COMPILER_RT_ABI di_int __mulvdi3(di_int a, di_int b);
 
 int test__mulvdi3(di_int a, di_int b, di_int expected)
 {
index 1eb53a5..64df4fe 100644 (file)
@@ -18,7 +18,7 @@
 
 // Effects: aborts if a * b overflows
 
-si_int __mulvsi3(si_int a, si_int b);
+COMPILER_RT_ABI si_int __mulvsi3(si_int a, si_int b);
 
 int test__mulvsi3(si_int a, si_int b, si_int expected)
 {
index 6336f45..bf2f731 100644 (file)
@@ -20,7 +20,7 @@
 
 // Effects: aborts if a * b overflows
 
-ti_int __mulvti3(ti_int a, ti_int b);
+COMPILER_RT_ABI ti_int __mulvti3(ti_int a, ti_int b);
 
 int test__mulvti3(ti_int a, ti_int b, ti_int expected)
 {
index 4297c16..e77e94f 100644 (file)
@@ -20,7 +20,7 @@
 
 // Returns: the product of a + ib and c + id
 
-long double _Complex
+COMPILER_RT_ABI long double _Complex
 __mulxc3(long double __a, long double __b, long double __c, long double __d);
 
 enum {zero, non_zero, inf, NaN, non_zero_nan};
index dc55428..f0e6677 100644 (file)
@@ -16,7 +16,7 @@
 #include <math.h>
 
 
-extern double __negdf2vfp(double a);
+extern COMPILER_RT_ABI double __negdf2vfp(double a);
 
 #if __arm__
 int test__negdf2vfp(double a)
index 510b3b0..beccd71 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: -a
 
-di_int __negdi2(di_int a);
+COMPILER_RT_ABI di_int __negdi2(di_int a);
 
 int test__negdi2(di_int a, di_int expected)
 {
index ef54cee..9e47d89 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern float __negsf2vfp(float a);
+extern COMPILER_RT_ABI float __negsf2vfp(float a);
 
 #if __arm__
 int test__negsf2vfp(float a)
index a40c0c3..b075978 100644 (file)
@@ -18,7 +18,7 @@
 
 // Returns: -a
 
-ti_int __negti2(ti_int a);
+COMPILER_RT_ABI ti_int __negti2(ti_int a);
 
 int test__negti2(ti_int a, ti_int expected)
 {
index 9617b95..5c202e5 100644 (file)
@@ -18,7 +18,7 @@
 
 // Effects: aborts if -a overflows
 
-di_int __negvdi2(di_int a);
+COMPILER_RT_ABI di_int __negvdi2(di_int a);
 
 int test__negvdi2(di_int a)
 {
index 5ea0e2e..6330803 100644 (file)
@@ -18,7 +18,7 @@
 
 // Effects: aborts if -a overflows
 
-si_int __negvsi2(si_int a);
+COMPILER_RT_ABI si_int __negvsi2(si_int a);
 
 int test__negvsi2(si_int a)
 {
index 8126cdb..005f8a8 100644 (file)
@@ -20,8 +20,8 @@
 
 // Effects: aborts if -a overflows
 
-ti_int __negvti2(ti_int a);
-ti_int __negti2(ti_int a);
+COMPILER_RT_ABI ti_int __negvti2(ti_int a);
+COMPILER_RT_ABI ti_int __negti2(ti_int a);
 
 int test__negvti2(ti_int a)
 {
index 5360e37..98220bd 100644 (file)
@@ -17,7 +17,7 @@
 
 // Returns: 1 if number of bits is odd else returns 0
 
-si_int __paritydi2(di_int a);
+COMPILER_RT_ABI si_int __paritydi2(di_int a);
 
 int naive_parity(di_int a)
 {
index 3ea8473..175aeb2 100644 (file)
@@ -17,7 +17,7 @@
 
 // Returns: 1 if number of bits is odd else returns 0
 
-si_int __paritysi2(si_int a);
+COMPILER_RT_ABI si_int __paritysi2(si_int a);
 
 int naive_parity(si_int a)
 {
index 8f065b9..cc1e999 100644 (file)
@@ -19,7 +19,7 @@
 
 // Returns: 1 if number of bits is odd else returns 0
 
-si_int __parityti2(ti_int a);
+COMPILER_RT_ABI si_int __parityti2(ti_int a);
 
 int naive_parity(ti_int a)
 {
index 4c56117..bfd4977 100644 (file)
@@ -17,7 +17,7 @@
 
 // Returns: count of 1 bits
 
-si_int __popcountdi2(di_int a);
+COMPILER_RT_ABI si_int __popcountdi2(di_int a);
 
 int naive_popcount(di_int a)
 {
index d0a05c4..10b757d 100644 (file)
@@ -17,7 +17,7 @@
 
 // Returns: count of 1 bits
 
-si_int __popcountsi2(si_int a);
+COMPILER_RT_ABI si_int __popcountsi2(si_int a);
 
 int naive_popcount(si_int a)
 {
index d17e03a..3a3c3cb 100644 (file)
@@ -19,7 +19,7 @@
 
 // Returns: count of 1 bits
 
-si_int __popcountti2(ti_int a);
+COMPILER_RT_ABI si_int __popcountti2(ti_int a);
 
 int naive_popcount(ti_int a)
 {
index 2abc84d..c499d9a 100644 (file)
@@ -17,7 +17,7 @@
 
 // Returns: a ^ b
 
-double __powidf2(double a, si_int b);
+COMPILER_RT_ABI double __powidf2(double a, si_int b);
 
 int test__powidf2(double a, si_int b, double expected)
 {
index 98409f4..1186ef4 100644 (file)
@@ -17,7 +17,7 @@
 
 // Returns: a ^ b
 
-float __powisf2(float a, si_int b);
+COMPILER_RT_ABI float __powisf2(float a, si_int b);
 
 int test__powisf2(float a, si_int b, float expected)
 {
index dfe7588..13c890a 100644 (file)
@@ -20,7 +20,7 @@
 
 // Returns: a ^ b
 
-long double __powitf2(long double a, si_int b);
+COMPILER_RT_ABI long double __powitf2(long double a, si_int b);
 
 int test__powitf2(long double a, si_int b, long double expected)
 {
index 201870b..a28f1f9 100644 (file)
@@ -19,7 +19,7 @@
 
 // Returns: a ^ b
 
-long double __powixf2(long double a, si_int b);
+COMPILER_RT_ABI long double __powixf2(long double a, si_int b);
 
 int test__powixf2(long double a, si_int b, long double expected)
 {
index 578260a..71ecf7c 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdint.h>
 #include <stdio.h>
 
-long double __floatditf(int64_t);
+COMPILER_RT_ABI long double __floatditf(int64_t);
 
 #include "floatunditf_test.h"
 #include "DD.h"
index 68390d1..4d1ce08 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdint.h>
 #include <stdio.h>
 
-long double __floatunditf(uint64_t);
+COMPILER_RT_ABI long double __floatunditf(uint64_t);
 
 #include "floatunditf_test.h"
 #include "DD.h"
index 86d6f2f..5d5d711 100644 (file)
@@ -17,7 +17,7 @@
 
 
 #if __arm__
-extern double __subdf3vfp(double a, double b);
+extern COMPILER_RT_ABI double __subdf3vfp(double a, double b);
 
 int test__subdf3vfp(double a, double b)
 {
index 223e7f8..fe60058 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern float __subsf3vfp(float a, float b);
+extern COMPILER_RT_ABI float __subsf3vfp(float a, float b);
 
 #if __arm__
 int test__subsf3vfp(float a, float b)
index 2ab249a..ad115a4 100644 (file)
@@ -18,7 +18,7 @@
 #include "fp_test.h"
 
 // Returns: a - b
-long double __subtf3(long double a, long double b);
+COMPILER_RT_ABI long double __subtf3(long double a, long double b);
 
 int test__subtf3(long double a, long double b,
                  uint64_t expectedHi, uint64_t expectedLo)
index 0fb8f51..96e825c 100644 (file)
@@ -19,7 +19,7 @@
 
 // Effects: aborts if a - b overflows
 
-di_int __subvdi3(di_int a, di_int b);
+COMPILER_RT_ABI di_int __subvdi3(di_int a, di_int b);
 
 int test__subvdi3(di_int a, di_int b)
 {
index 14e6ce1..03ef504 100644 (file)
@@ -19,7 +19,7 @@
 
 // Effects: aborts if a - b overflows
 
-si_int __subvsi3(si_int a, si_int b);
+COMPILER_RT_ABI si_int __subvsi3(si_int a, si_int b);
 
 int test__subvsi3(si_int a, si_int b)
 {
index b2c225c..40eb518 100644 (file)
@@ -21,7 +21,7 @@
 
 // Effects: aborts if a - b overflows
 
-ti_int __subvti3(ti_int a, ti_int b);
+COMPILER_RT_ABI ti_int __subvti3(ti_int a, ti_int b);
 
 int test__subvti3(ti_int a, ti_int b)
 {
index afc7868..eaeda65 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 
-extern float __truncdfsf2vfp(double a);
+extern COMPILER_RT_ABI float __truncdfsf2vfp(double a);
 
 #if __arm__
 int test__truncdfsf2vfp(double a)
index 46855e3..0366a8c 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
 
 #include "fp_test.h"
 
-double __trunctfdf2(long double a);
+COMPILER_RT_ABI double __trunctfdf2(long double a);
 
 int test__trunctfdf2(long double a, uint64_t expected)
 {
index 44e7fd1..a6b922c 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "int_lib.h"
 #include <stdio.h>
 
 #if __LDBL_MANT_DIG__ == 113
 
 #include "fp_test.h"
 
-float __trunctfsf2(long double a);
+COMPILER_RT_ABI float __trunctfsf2(long double a);
 
 int test__trunctfsf2(long double a, uint32_t expected)
 {
index 2205907..65ae4fc 100644 (file)
@@ -18,7 +18,7 @@
 //           if (a == b) returns 1
 //           if (a >  b) returns 2
 
-si_int __ucmpdi2(du_int a, du_int b);
+COMPILER_RT_ABI si_int __ucmpdi2(du_int a, du_int b);
 
 int test__ucmpdi2(du_int a, du_int b, si_int expected)
 {
index 0713da8..826cd64 100644 (file)
@@ -20,7 +20,7 @@
 //           if (a == b) returns 1
 //           if (a >  b) returns 2
 
-si_int __ucmpti2(tu_int a, tu_int b);
+COMPILER_RT_ABI si_int __ucmpti2(tu_int a, tu_int b);
 
 int test__ucmpti2(tu_int a, tu_int b, si_int expected)
 {
index 24843f8..48c99e3 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a / b
 
-du_int __udivdi3(du_int a, du_int b);
+COMPILER_RT_ABI du_int __udivdi3(du_int a, du_int b);
 
 int test__udivdi3(du_int a, du_int b, du_int expected_q)
 {
index 43bf1a1..79af1ee 100644 (file)
@@ -17,7 +17,7 @@
 // Effects: if rem != 0, *rem = a % b
 // Returns: a / b
 
-du_int __udivmoddi4(du_int a, du_int b, du_int* rem);
+COMPILER_RT_ABI du_int __udivmoddi4(du_int a, du_int b, du_int* rem);
 
 int test__udivmoddi4(du_int a, du_int b, du_int expected_q, du_int expected_r)
 {
index d734cd1..4c14e29 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a / b
 
-extern su_int __udivmodsi4(su_int a, su_int b, su_int* rem);
+extern COMPILER_RT_ABI su_int __udivmodsi4(su_int a, su_int b, su_int* rem);
 
 int test__udivmodsi4(su_int a, su_int b, 
                                                su_int expected_result, su_int expected_rem)
index 751aa86..c424661 100644 (file)
@@ -19,7 +19,7 @@
 // Effects: if rem != 0, *rem = a % b
 // Returns: a / b
 
-tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem);
+COMPILER_RT_ABI tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem);
 
 int test__udivmodti4(tu_int a, tu_int b, tu_int expected_q, tu_int expected_r)
 {
index 325e4e6..4905386 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a / b
 
-su_int __udivsi3(su_int a, su_int b);
+COMPILER_RT_ABI su_int __udivsi3(su_int a, su_int b);
 
 int test__udivsi3(su_int a, su_int b, su_int expected_q)
 {
index af5aad9..f24ff03 100644 (file)
@@ -18,7 +18,7 @@
 
 // Returns: a / b
 
-tu_int __udivti3(tu_int a, tu_int b);
+COMPILER_RT_ABI tu_int __udivti3(tu_int a, tu_int b);
 
 int test__udivti3(tu_int a, tu_int b, tu_int expected_q)
 {
index a8f39b4..b46fb40 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a % b
 
-du_int __umoddi3(du_int a, du_int b);
+COMPILER_RT_ABI du_int __umoddi3(du_int a, du_int b);
 
 int test__umoddi3(du_int a, du_int b, du_int expected_r)
 {
index 66da695..3655da1 100644 (file)
@@ -16,7 +16,7 @@
 
 // Returns: a % b
 
-su_int __umodsi3(su_int a, su_int b);
+COMPILER_RT_ABI su_int __umodsi3(su_int a, su_int b);
 
 int test__umodsi3(su_int a, su_int b, su_int expected_r)
 {
index 93b556c..21e82a4 100644 (file)
@@ -18,7 +18,7 @@
 
 // Returns: a % b
 
-tu_int __umodti3(tu_int a, tu_int b);
+COMPILER_RT_ABI tu_int __umodti3(tu_int a, tu_int b);
 
 int test__umodti3(tu_int a, tu_int b, tu_int expected_r)
 {