diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix index d3ce8a4f9ff..42ca4ba70e4 100644 --- a/pkgs/development/compilers/llvm/3.5/clang.nix +++ b/pkgs/development/compilers/llvm/3.5/clang.nix @@ -50,6 +50,5 @@ in stdenv.mkDerivation { homepage = http://llvm.org/; license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.all; - broken = true; }; } diff --git a/pkgs/development/compilers/llvm/3.5/fix-15974.patch b/pkgs/development/compilers/llvm/3.5/fix-15974.patch new file mode 100644 index 00000000000..446004cd998 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.5/fix-15974.patch @@ -0,0 +1,15 @@ +diff --git a/include/llvm/ADT/IntrusiveRefCntPtr.h b/include/llvm/ADT/IntrusiveRefCntPtr.h +index f9df378..9d860ec 100644 +--- a/include/llvm/ADT/IntrusiveRefCntPtr.h ++++ b/include/llvm/ADT/IntrusiveRefCntPtr.h +@@ -134,9 +134,9 @@ public: + //===----------------------------------------------------------------------===// + template + class IntrusiveRefCntPtr { ++ public: + T* Obj; + +- public: + typedef T element_type; + + explicit IntrusiveRefCntPtr() : Obj(nullptr) {} diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix index 64df30dc23f..4f54f1438a7 100644 --- a/pkgs/development/compilers/llvm/3.5/llvm.nix +++ b/pkgs/development/compilers/llvm/3.5/llvm.nix @@ -53,6 +53,8 @@ in stdenv.mkDerivation rec { "-DCAN_TARGET_i386=false" ]; + patches = [ ./fix-15974.patch ]; + postBuild = '' rm -fR $out @@ -75,3 +77,4 @@ in stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.all; }; } +