[126961] trunk/dports/lang/g95
takeshi at macports.org
takeshi at macports.org
Sat Oct 18 03:53:19 PDT 2014
Revision: 126961
https://trac.macports.org/changeset/126961
Author: takeshi at macports.org
Date: 2014-10-18 03:53:19 -0700 (Sat, 18 Oct 2014)
Log Message:
-----------
g95: enable build with clang
Modified Paths:
--------------
trunk/dports/lang/g95/Portfile
Added Paths:
-----------
trunk/dports/lang/g95/files/patch-libf95-intrinsics-dot_product10.c.diff
trunk/dports/lang/g95/files/patch-libf95-intrinsics-matmul10.c.diff
trunk/dports/lang/g95/files/patch-libf95-intrinsics-random.c.diff
trunk/dports/lang/g95/files/patch-libf95-io-read.c.diff
trunk/dports/lang/g95/files/patch-libf95-math-ff.c.diff
trunk/dports/lang/g95/files/patch-libf95-math-x87.S.diff
trunk/dports/lang/g95/files/patch-libf95-quad-power16.c.diff
Modified: trunk/dports/lang/g95/Portfile
===================================================================
--- trunk/dports/lang/g95/Portfile 2014-10-18 07:32:43 UTC (rev 126960)
+++ trunk/dports/lang/g95/Portfile 2014-10-18 10:53:19 UTC (rev 126961)
@@ -5,7 +5,7 @@
name g95
version 0.93
-revision 3
+revision 4
platforms darwin
categories lang
license GPL-2
@@ -61,7 +61,14 @@
patchfiles patch-Makefile.in.diff \
patch-darwin.h.diff \
- patch-lang.opt.diff
+ patch-lang.opt.diff \
+ patch-libf95-intrinsics-dot_product10.c.diff \
+ patch-libf95-intrinsics-matmul10.c.diff \
+ patch-libf95-intrinsics-random.c.diff \
+ patch-libf95-io-read.c.diff \
+ patch-libf95-math-ff.c.diff \
+ patch-libf95-math-x87.S.diff \
+ patch-libf95-quad-power16.c.diff
universal_variant no
use_parallel_build no
@@ -87,8 +94,7 @@
}
}
-compiler.blacklist clang
-
+configure.cflags-append -std=gnu89
pre-configure {
file mkdir ${workpath}/gcc-${version_gcc}/${name}
reinplace "s|tjmp %%edx|tjmp *%%edx|" ${workpath}/gcc-${version_gcc}/gcc/config/i386/i386.c
Added: trunk/dports/lang/g95/files/patch-libf95-intrinsics-dot_product10.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-libf95-intrinsics-dot_product10.c.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-libf95-intrinsics-dot_product10.c.diff 2014-10-18 10:53:19 UTC (rev 126961)
@@ -0,0 +1,56 @@
+--- libf95.a-0.93/intrinsics/dot_product10.c.orig 2008-06-23 10:45:50.000000000 +0900
++++ libf95.a-0.93/intrinsics/dot_product10.c 2014-10-18 11:32:49.000000000 +0900
+@@ -225,7 +225,7 @@
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "movsbl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (bp), "m" (temp) : EAX
++ "filds %1\n" : : "m" (bp), "m" (temp) : EAX
+
+ #include "dot_product10.c"
+
+@@ -237,7 +237,7 @@
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "movswl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (bp), "m" (temp) : EAX
++ "filds %1\n" : : "m" (bp), "m" (temp) : EAX
+
+ #include "dot_product10.c"
+
+@@ -247,7 +247,7 @@
+ "fldt ( %" EAX ")\n" : : "m" (ap) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+- "fild ( %" EAX ")\n" : : "m" (bp), "m" (temp) : EAX
++ "fildl ( %" EAX ")\n" : : "m" (bp), "m" (temp) : EAX
+
+ #include "dot_product10.c"
+
+@@ -286,7 +286,7 @@
+ #define LOAD_A "mov %0, %" EAX "\n" \
+ "movsbl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (ap), "m" (temp) : EAX
++ "filds %1\n" : : "m" (ap), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" : : "m" (bp) : EAX
+@@ -299,7 +299,7 @@
+ #define LOAD_A "mov %0, %" EAX "\n" \
+ "movswl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (ap), "m" (temp) : EAX
++ "filds %1\n" : : "m" (ap), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" : : "m" (bp) : EAX
+@@ -309,7 +309,7 @@
+ #define SUBROUTINE prefix(dot_product_i4_r10)
+
+ #define LOAD_A "mov %0, %" EAX "\n" \
+- "fild ( %" EAX ")\n" : : "m" (ap), "m" (temp) : EAX
++ "fildl ( %" EAX ")\n" : : "m" (ap), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" : : "m" (bp) : EAX
Added: trunk/dports/lang/g95/files/patch-libf95-intrinsics-matmul10.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-libf95-intrinsics-matmul10.c.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-libf95-intrinsics-matmul10.c.diff 2014-10-18 10:53:19 UTC (rev 126961)
@@ -0,0 +1,110 @@
+--- libf95.a-0.93/intrinsics/matmul10.c.orig 2008-06-23 10:44:29.000000000 +0900
++++ libf95.a-0.93/intrinsics/matmul10.c 2014-10-18 11:32:28.000000000 +0900
+@@ -899,7 +899,7 @@
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "movsbl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (q), "m" (temp) : EAX
++ "filds %1\n" : : "m" (q), "m" (temp) : EAX
+
+ #include "matmul10.c"
+
+@@ -913,7 +913,7 @@
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "movswl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (q), "m" (temp) : EAX
++ "filds %1\n" : : "m" (q), "m" (temp) : EAX
+
+ #include "matmul10.c"
+
+@@ -925,7 +925,7 @@
+ "fldt ( %" EAX ")\n" : : "m" (p) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+- "fild ( %" EAX ")\n" : : "m" (q) : EAX
++ "fildl ( %" EAX ")\n" : : "m" (q) : EAX
+
+ #include "matmul10.c"
+
+@@ -972,7 +972,7 @@
+ #define LOAD_A "mov %0, %" EAX "\n" \
+ "movsbl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (p), "m" (temp) : EAX
++ "filds %1\n" : : "m" (p), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" : : "m" (q) : EAX
+@@ -987,7 +987,7 @@
+ #define LOAD_A "mov %0, %" EAX "\n" \
+ "movswl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (p), "m" (temp) : EAX
++ "filds %1\n" : : "m" (p), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" : : "m" (q) : EAX
+@@ -999,7 +999,7 @@
+ #define SUBROUTINE22 prefix(matmul22_i4r10)
+
+ #define LOAD_A "mov %0, %" EAX "\n" \
+- "fild ( %" EAX ")\n" : : "m" (p), "m" (temp) : EAX
++ "fildl ( %" EAX ")\n" : : "m" (p), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" : : "m" (q) : EAX
+@@ -1113,7 +1113,7 @@
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "movsbl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (q), "m" (temp) : EAX
++ "filds %1\n" : : "m" (q), "m" (temp) : EAX
+
+ #define LOAD_RESULT "mov %0, %" EAX "\n" \
+ "fldt (%" EAX ")\n" \
+@@ -1140,7 +1140,7 @@
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "movswl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (q), "m" (temp) : EAX
++ "filds %1\n" : : "m" (q), "m" (temp) : EAX
+
+ #define LOAD_RESULT "mov %0, %" EAX "\n" \
+ "fldt (%" EAX ")\n" \
+@@ -1166,7 +1166,7 @@
+ : : "m" (p) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+- "fild (%" EAX ")\n" : : "m" (q) : EAX
++ "fildl (%" EAX ")\n" : : "m" (q) : EAX
+
+ #define LOAD_RESULT "mov %0, %" EAX "\n" \
+ "fldt (%" EAX ")\n" \
+@@ -1340,7 +1340,7 @@
+ #define LOAD_A "mov %0, %" EAX "\n" \
+ "movsbl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (p), "m" (temp) : EAX
++ "filds %1\n" : : "m" (p), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" \
+@@ -1368,7 +1368,7 @@
+ #define LOAD_A "mov %0, %" EAX "\n" \
+ "movswl (%" EAX "), %%eax\n" \
+ "mov %%eax, %1\n" \
+- "fild %1\n" : : "m" (p), "m" (temp) : EAX
++ "filds %1\n" : : "m" (p), "m" (temp) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" \
+@@ -1394,7 +1394,7 @@
+ #define SUBROUTINE22 prefix(matmul22_i4z10)
+
+ #define LOAD_A "mov %0, %" EAX "\n" \
+- "fild (%" EAX ")\n" : : "m" (p) : EAX
++ "fildl (%" EAX ")\n" : : "m" (p) : EAX
+
+ #define LOAD_B "mov %0, %" EAX "\n" \
+ "fldt ( %" EAX ")\n" \
Added: trunk/dports/lang/g95/files/patch-libf95-intrinsics-random.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-libf95-intrinsics-random.c.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-libf95-intrinsics-random.c.diff 2014-10-18 10:53:19 UTC (rev 126961)
@@ -0,0 +1,11 @@
+--- libf95.a-0.93/intrinsics/random.c.orig 2008-06-23 10:42:51.000000000 +0900
++++ libf95.a-0.93/intrinsics/random.c 2014-10-18 12:00:44.000000000 +0900
+@@ -208,7 +208,7 @@
+ harvest[0] = xorshf96();
+ harvest[1] = xorshf96() & 0x7FFFFFFF;
+
+- asm("fild %0\n"
++ asm("fildl %0\n"
+ "mov %1, %" EAX "\n"
+ "fildll (%" EAX ")\n"
+ "fscale\n"
Added: trunk/dports/lang/g95/files/patch-libf95-io-read.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-libf95-io-read.c.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-libf95-io-read.c.diff 2014-10-18 10:53:19 UTC (rev 126961)
@@ -0,0 +1,11 @@
+--- libf95.a-0.93/io/read.c.orig 2008-11-19 01:13:37.000000000 +0900
++++ libf95.a-0.93/io/read.c 2014-10-18 11:34:15.000000000 +0900
+@@ -102,7 +102,7 @@
+
+ #if HAVE_REAL_10
+ case 10:
+- asm("fild %0\n"
++ asm("fildl %0\n"
+ "mov %1, %" EAX "\n"
+ "fstpt (%" EAX ")\n" : : "m" (value), "m" (dest) : EAX);
+ break;
Added: trunk/dports/lang/g95/files/patch-libf95-math-ff.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-libf95-math-ff.c.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-libf95-math-ff.c.diff 2014-10-18 10:53:19 UTC (rev 126961)
@@ -0,0 +1,29 @@
+--- libf95.a-0.93/math/ff.c.orig 2009-03-25 02:27:34.000000000 +0900
++++ libf95.a-0.93/math/ff.c 2014-10-18 11:35:35.000000000 +0900
+@@ -790,7 +790,7 @@
+
+ exp = *i - 1;
+
+- asm("fild %0\n" /* i */
++ asm("fildl %0\n" /* i */
+ "fldt %1\n" /* x : i */
+ "fxtract\n" /* sig(x) : exp(x) : i */
+ "fstp %%st(1)\n" /* sig(x) : i */
+@@ -961,7 +961,7 @@
+
+ exp = *i;
+
+- asm("fild %0\n"
++ asm("fildl %0\n"
+ "fldt %1\n"
+ "fscale\n"
+ "fstp %%st(1)\n" : : "m" (exp), "m" (*x));
+@@ -1069,7 +1069,7 @@
+ case FF_REGULAR:
+ exp = MAN10_LEN - 1;
+
+- asm("fild %0\n" /* p */
++ asm("fildl %0\n" /* p */
+ "fldt %1\n" /* x . p */
+ "fxam\n"
+ "fnstsw\n"
Added: trunk/dports/lang/g95/files/patch-libf95-math-x87.S.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-libf95-math-x87.S.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-libf95-math-x87.S.diff 2014-10-18 10:53:19 UTC (rev 126961)
@@ -0,0 +1,56 @@
+--- libf95.a-0.93/math/x87.S.orig 2010-04-05 03:49:02.000000000 +0900
++++ libf95.a-0.93/math/x87.S 2014-10-18 13:08:16.000000000 +0900
+@@ -250,7 +250,7 @@
+ fldcw (SP)
+ frndint
+ fldcw 4(SP)
+- fistp (SP)
++ fistps (SP)
+ mov (SP), %al
+ SIGNX_AL
+ add $8, SP
+@@ -266,7 +266,7 @@
+ fldcw (SP)
+ frndint
+ fldcw 4(SP)
+- fistp (SP)
++ fistps (SP)
+ mov (SP), %ax
+ SIGNX_AX
+ add $8, SP
+@@ -675,7 +675,7 @@
+ fldcw (SP)
+ frndint
+ fldcw 4(SP)
+- fistp (SP)
++ fistps (SP)
+ mov (SP), %al
+ SIGNX_AL
+ add $8, SP
+@@ -691,7 +691,7 @@
+ fldcw (SP)
+ frndint
+ fldcw 4(SP)
+- fistp (SP)
++ fistps (SP)
+ mov (SP), %ax
+ SIGNX_AX
+ add $8, SP
+@@ -833,7 +833,7 @@
+ frndint
+ fldcw 4(SP)
+
+- fistp (SP)
++ fistps (SP)
+ movb (SP), %al
+ SIGNX_AL
+ add $8, SP
+@@ -861,7 +861,7 @@
+ frndint
+ fldcw 4(SP)
+
+- fistp (SP)
++ fistps (SP)
+ movw (SP), %ax
+ SIGNX_AX
+ add $8, SP
Added: trunk/dports/lang/g95/files/patch-libf95-quad-power16.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-libf95-quad-power16.c.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-libf95-quad-power16.c.diff 2014-10-18 10:53:19 UTC (rev 126961)
@@ -0,0 +1,11 @@
+--- libf95.a-0.93/quad/power16.c.orig 2009-01-13 10:29:12.000000000 +0900
++++ libf95.a-0.93/quad/power16.c 2014-10-18 12:44:49.000000000 +0900
+@@ -39,7 +39,7 @@
+
+ /* int_power16()-- Core of integer powers. */
+
+-static int_power16(unpacked16 *base, long long e0, unpacked16 *result) {
++static void int_power16(unpacked16 *base, long long e0, unpacked16 *result) {
+ int negative, negative_exp;
+ unsigned long long exp;
+ unpacked16 one;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20141018/9c180c2d/attachment.html>
More information about the macports-changes
mailing list