[8.09] [packages] rtorrent: add upstream patch for gcc-3.4.6 ICE (closes: #4926)
authorNicolas Thill <nico@openwrt.org>
Fri, 15 May 2009 14:55:50 +0000 (14:55 +0000)
committerNicolas Thill <nico@openwrt.org>
Fri, 15 May 2009 14:55:50 +0000 (14:55 +0000)
SVN-Revision: 15871

net/rtorrent/patches/901-upstream_rt_triple.patch [new file with mode: 0644]

diff --git a/net/rtorrent/patches/901-upstream_rt_triple.patch b/net/rtorrent/patches/901-upstream_rt_triple.patch
new file mode 100644 (file)
index 0000000..d773acb
--- /dev/null
@@ -0,0 +1,24 @@
+Upstream patch from: http://libtorrent.rakshasa.no/ticket/1271
+
+Fix the following gcc-3.4.6 ICE:
+
+In file included from ./../rpc/command_map.h:45,
+                 from ./../rpc/parse_commands.h:43,
+                 from dht_manager.cc:46:
+./../rpc/command.h: In function `rpc::target_type rpc::get_target_left(const rpc::target_type&)':
+./../rpc/command.h:153: internal compiler error: Segmentation fault
+
+--- a/src/rpc/command.h
++++ b/src/rpc/command.h
+@@ -73,10 +73,8 @@ struct rt_triple : private std::pair<T1,
+   rt_triple(const T1& a, const T2& b, const T3& c) :
+     base_type(a, b), third(c) {}
+-  template <typename U1, typename U2>
+-  rt_triple(const std::pair<U1, U2>& b) : base_type(b), third() {}
++  rt_triple(const base_type& b) : base_type(b), third() {}
+-  template <typename U1, typename U2, typename U3>
+   rt_triple(const rt_triple& src) :
+     base_type(src.first, src.second), third(src.third) {}
+ };