forked from pool/mingw64-winpthreads
OBS-URL: https://build.opensuse.org/package/show/windows:mingw:win64/mingw64-winpthreads?expand=0&rev=23
This commit is contained in:
parent
efb26f182a
commit
7cfedc1993
42
gcc7.patch
42
gcc7.patch
@ -1,42 +0,0 @@
|
|||||||
--- winpthreads/src/libgcc/dll_math.c 2013-04-10 20:11:34.000000000 +0200
|
|
||||||
+++ winpthreads/src/libgcc/dll_math.c 2017-05-31 13:02:25.869883546 +0200
|
|
||||||
@@ -120,6 +120,7 @@
|
|
||||||
u_quad_t __udivdi3(u_quad_t a, u_quad_t b);
|
|
||||||
u_quad_t __umoddi3(u_quad_t a, u_quad_t b);
|
|
||||||
int __ucmpdi2(u_quad_t a, u_quad_t b);
|
|
||||||
+quad_t __divmoddi4(quad_t a, quad_t b, quad_t *rem);
|
|
||||||
|
|
||||||
#endif /* !_LIBKERN_QUAD_H_ */
|
|
||||||
|
|
||||||
@@ -546,6 +547,31 @@
|
|
||||||
(void)__qdivrem(a, b, &r);
|
|
||||||
return (r);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Divide two signed quads.
|
|
||||||
+ * This function is new in GCC 7.
|
|
||||||
+ */
|
|
||||||
+quad_t
|
|
||||||
+__divmoddi4(a, b, rem)
|
|
||||||
+ quad_t a, b, *rem;
|
|
||||||
+{
|
|
||||||
+ u_quad_t ua, ub, uq, ur;
|
|
||||||
+ int negq, negr;
|
|
||||||
+
|
|
||||||
+ if (a < 0)
|
|
||||||
+ ua = -(u_quad_t)a, negq = 1, negr = 1;
|
|
||||||
+ else
|
|
||||||
+ ua = a, negq = 0, negr = 0;
|
|
||||||
+ if (b < 0)
|
|
||||||
+ ub = -(u_quad_t)b, negq ^= 1;
|
|
||||||
+ else
|
|
||||||
+ ub = b;
|
|
||||||
+ uq = __qdivrem(ua, ub, &ur);
|
|
||||||
+ if (rem)
|
|
||||||
+ *rem = (negr ? -ur : ur);
|
|
||||||
+ return (negq ? -uq : uq);
|
|
||||||
+}
|
|
||||||
#else
|
|
||||||
static int __attribute__((unused)) dummy;
|
|
||||||
#endif /*deined (_X86_) && !defined (__x86_64__)*/
|
|
Loading…
Reference in New Issue
Block a user