This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: place to instantiate a template missing from libstdc++-v3.a
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Cc: "Jan Beulich" <JBeulich at novell dot com>, libstdc++ at gcc dot gnu dot org
- Date: 01 Sep 2005 20:01:19 +0200
- Subject: Re: place to instantiate a template missing from libstdc++-v3.a
- References: <430F35940200007800023025@emea1-mh.id2.novell.com><20050901123650.7999aa02.bkoz@redhat.com>
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