Bug 215570 - sci-mathematics/ginac-1.4.1 fais to compile with gcc-4.3
Bug#: 215570 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: sci-mathematics@gentoo.org Reported By: spasswolf@web.de
Component: GCC Porting
URL: 
Summary: sci-mathematics/ginac-1.4.1 fais to compile with gcc-4.3
Keywords:  
Status Whiteboard: 
Opened: 2008-03-31 13:03 0000
Description:   Opened: 2008-03-31 13:03 0000
Compiling ginac-1.4.1 with gcc-4.3.0 from portage gives following error:
numeric.cpp:422: error: explicit template specialization cannot have a storage
class resolved by patch


Reproducible: Always




This patch solves the problem:
diff -aur ginac.old/numeric.cpp ginac/numeric.cpp
--- ginac.old/numeric.cpp       2008-03-29 16:22:52.000000000 +0100
+++ ginac/numeric.cpp   2008-03-29 17:49:41.000000000 +0100
@@ -408,7 +408,7 @@
  * @sa http://www.ginac.de/pipermail/cln-list/2006-October/000248.html
  */
 template<>
-static inline bool coerce<int, cln::cl_I>(int& dst, const cln::cl_I& arg) 
+inline bool coerce<int, cln::cl_I>(int& dst, const cln::cl_I& arg) 
 {
        static const cln::cl_I cl_max_int =
                (cln::cl_I)(long)(std::numeric_limits<int>::max());
@@ -422,7 +422,7 @@
 }

 template<>
-static inline bool coerce<unsigned int, cln::cl_I>(unsigned int& dst, const
cln::cl_I& arg)
+inline bool coerce<unsigned int, cln::cl_I>(unsigned int& dst, const
cln::cl_I& arg)
 {

------- Comment #1 From Markus Dittrich 2008-04-01 12:53:05 0000 -------
Thanks much for the note + patch. I'll have a look
at it later.

Best,
Markus

------- Comment #2 From Markus Dittrich 2008-04-01 15:20:32 0000 -------
Fixed in portage cvs.

Thanks,
Markus