#36924: gcc47 @4.7.2 or ld(64) problem --------------------------------+-------------------- Reporter: angelo.graziosi@… | Owner: mww@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: invalid | Keywords: Port: gcc47 | --------------------------------+-------------------- Changes (by jeremyhu@…): * status: new => closed * resolution: => invalid Comment: Replying to [comment:4 angelo.graziosi@…]: ...
I was interfacing in Fortran 2003 the parser (http://warp.povusers.org/FunctionParser), and after interfacing the Optimize() member function, I got that error.
So I searched for a simpler test case to flag to the parser peoples and I found that step 6 above gives the same error. I flagged this to the parser peoples which answered
{{{ Which version of gcc are you using? There's nothing in the constructor of FunctionWrapper that should cause this because it's an inline function (which, by definition, should cause no duplicated symbols.)
I think some compilers have a bug where explicitly instantiating a templated class in different compilation units would cause even inline functions to cause duplicate symbol errors, but AFAIK that's a bug and a problem with the compiler itself. }}}
No, it's not a bug in the compiler. That comment above is incorrect. It is not true for inline functions. It is true for *static* functions. -- Ticket URL: <https://trac.macports.org/ticket/36924#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS