[141235] trunk/dports/lang/llvm-gcc42

jeremyhu at macports.org jeremyhu at macports.org
Tue Oct 13 00:10:19 PDT 2015


Revision: 141235
          https://trac.macports.org/changeset/141235
Author:   jeremyhu at macports.org
Date:     2015-10-13 00:10:18 -0700 (Tue, 13 Oct 2015)
Log Message:
-----------
llvm-gcc42: Fix build failure with clang (#49241)

Modified Paths:
--------------
    trunk/dports/lang/llvm-gcc42/Portfile

Added Paths:
-----------
    trunk/dports/lang/llvm-gcc42/files/clang-optimization.patch

Modified: trunk/dports/lang/llvm-gcc42/Portfile
===================================================================
--- trunk/dports/lang/llvm-gcc42/Portfile	2015-10-13 06:57:08 UTC (rev 141234)
+++ trunk/dports/lang/llvm-gcc42/Portfile	2015-10-13 07:10:18 UTC (rev 141235)
@@ -6,7 +6,7 @@
 
 name                    llvm-gcc42
 version                 2336.11
-revision                2
+revision                3
 set gcc_version         4.2.1
 categories              lang
 platforms               darwin
@@ -54,10 +54,6 @@
 set objroot ${workpath}/objroot
 set symroot ${workpath}/symroot
 
-# https://trac.macports.org/ticket/42899
-# TODO: Fix it to build with newer clang
-compiler.blacklist-append {clang > 503} macports-clang-3.4 macports-clang-3.5 macports-clang-3.6 macports-clang-3.7
-
 # Don't compile with self
 compiler.blacklist-append macports-llvm-gcc-4.2
 
@@ -82,6 +78,10 @@
 	autogen.patch \
 	fixincludes.patch
 
+if {[string match *clang* ${configure.cc}]} {
+    patchfiles-append clang-optimization.patch
+}
+
 post-extract {
     xinstall -W ${filespath} build_gcc ${worksrcpath}
 }
@@ -130,6 +130,13 @@
     if {[string match "*clang*" ${configure.compiler}]} {
         reinplace "s:--enable-werror : :" ${worksrcpath}/build_gcc
     }
+
+    # ltmain.sh notes 'On all known operating systems, these are identical', and -module has gone
+    # away with Apple's clang-3.4
+    if {[string match *clang* ${configure.cc}]} {
+         reinplace "s:module:export_dynamic:" ${worksrcpath}/llvmCore/Makefile.rules
+         reinplace "s:-no-undefined::" ${worksrcpath}/llvmCore/tools/lto/Makefile
+    }
 }
 
 compiler.cpath /usr/include

Added: trunk/dports/lang/llvm-gcc42/files/clang-optimization.patch
===================================================================
--- trunk/dports/lang/llvm-gcc42/files/clang-optimization.patch	                        (rev 0)
+++ trunk/dports/lang/llvm-gcc42/files/clang-optimization.patch	2015-10-13 07:10:18 UTC (rev 141235)
@@ -0,0 +1,38 @@
+--- llvmCore/lib/CodeGen/MachineSSAUpdater.cpp.orig	2015-10-12 19:33:17.000000000 -0400
++++ llvmCore/lib/CodeGen/MachineSSAUpdater.cpp	2015-10-12 19:34:31.000000000 -0400
+@@ -38,7 +38,7 @@
+   return *static_cast<IncomingPredInfoTy*>(IPI);
+ }
+ 
+-
++#pragma clang optimize off
+ MachineSSAUpdater::MachineSSAUpdater(MachineFunction &MF,
+                                      SmallVectorImpl<MachineInstr*> *NewPHI)
+   : AV(0), IPI(0), InsertedPHIs(NewPHI) {
+@@ -50,6 +50,7 @@
+   delete &getAvailableVals(AV);
+   delete &getIncomingPredInfo(IPI);
+ }
++#pragma clang optimize on
+ 
+ /// Initialize - Reset this object to get ready for a new set of SSA
+ /// updates.  ProtoValue is the value used to name PHI nodes.
+--- llvmCore/lib/Transforms/Utils/SSAUpdater.cpp.orig	2015-10-12 19:34:50.000000000 -0400
++++ llvmCore/lib/Transforms/Utils/SSAUpdater.cpp	2015-10-12 19:35:24.000000000 -0400
+@@ -32,7 +32,7 @@
+   return *static_cast<IncomingPredInfoTy*>(IPI);
+ }
+ 
+-
++#pragma clang optimize off
+ SSAUpdater::SSAUpdater(SmallVectorImpl<PHINode*> *NewPHI)
+   : AV(0), PrototypeValue(0), IPI(0), InsertedPHIs(NewPHI) {}
+ 
+@@ -40,6 +40,7 @@
+   delete &getAvailableVals(AV);
+   delete &getIncomingPredInfo(IPI);
+ }
++#pragma clang optimize on
+ 
+ /// Initialize - Reset this object to get ready for a new set of SSA
+ /// updates.  ProtoValue is the value used to name PHI nodes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20151013/f4d12950/attachment.html>


More information about the macports-changes mailing list