<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>215570</bug_id>
          
          <creation_ts>2008-03-31 13:03 0000</creation_ts>
          <short_desc>sci-mathematics/ginac-1.4.1 fais to compile with gcc-4.3</short_desc>
          <delta_ts>2008-04-01 15:20:32 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>GCC Porting</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>spasswolf@web.de</reporter>
          <assigned_to>sci-mathematics@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>spasswolf@web.de</who>
            <bug_when>2008-03-31 13:03:46 0000</bug_when>
            <thetext>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&lt;&gt;
-static inline bool coerce&lt;int, cln::cl_I&gt;(int&amp; dst, const cln::cl_I&amp; arg) 
+inline bool coerce&lt;int, cln::cl_I&gt;(int&amp; dst, const cln::cl_I&amp; arg) 
 {
        static const cln::cl_I cl_max_int =
                (cln::cl_I)(long)(std::numeric_limits&lt;int&gt;::max());
@@ -422,7 +422,7 @@
 }

 template&lt;&gt;
-static inline bool coerce&lt;unsigned int, cln::cl_I&gt;(unsigned int&amp; dst, const cln::cl_I&amp; arg)
+inline bool coerce&lt;unsigned int, cln::cl_I&gt;(unsigned int&amp; dst, const cln::cl_I&amp; arg)
 {</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2008-04-01 12:53:05 0000</bug_when>
            <thetext>Thanks much for the note + patch. I&apos;ll have a look
at it later.

Best,
Markus</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2008-04-01 15:20:32 0000</bug_when>
            <thetext>Fixed in portage cvs.

Thanks,
Markus</thetext>
          </long_desc>
      
    </bug>

</bugzilla>