place to instantiate a template missing from libstdc++-v3.a

Gabriel Dos Reis gdr@integrable-solutions.net
Thu Sep 1 18:02:00 GMT 2005


Benjamin Kosnik <bkoz@redhat.com> writes:

| > On a platform using config/locale/generic/c_locale.cc and not having any
| > of strtof(), finitef(), and finite(), the code makes use of isinf(),
| > which is forced to be a template under certain additional conditions
| > that are also met for this target. 
| 
| >From looking at cmath.h, I would be surprised if
| 
|    template<typename _Tp>
|    int
|     __capture_isinf(_Tp __f) { return isinf(__f); }
| 
|   template<typename _Tp>
|     int
|     isinf(_Tp __f) { return __gnu_cxx::__capture_isinf(__f); }
| 
|  isn't correctly inlined, leaving just a reference to the C99 isinf
| function. If this isn't the case, it should be.

Funny you should point it out.  I think we have a "bug" here.  Those
function template should have been declared inline.  Patch to stick
the missing "inline" keyword is preapproved.

-- Gaby



More information about the Libstdc++ mailing list