------- Additional Comments From yanliu at ca dot ibm dot com  2004-11-29 22:47 
-------
The point that I am trying to make here is the definition of _S_get_c_name() is 
not in the STL header file, neither in the libstdc++ libarary. For example, I 
can still use the following example to get the same linking error:
#include <ios>
template <typename T>
class A: public std::messages<T>
{
};

int main()
{
A<int> obj;
}
G++ doesn't use the function definition if there is no template 
instantiation/specialization involves. That is the possible reason why g++ 
compiles file with including <ios> header file. 

My question here is shouldn't the definition be included either in the 
libstdc++ library or defined in the STL header? If this is a library problem, 
where should I open a bug report? This is a new change in the STL header file 
that appears in gcc 3.4. The _S_get_c_name was declared as: char* _S_get_c_name
[2] in gcc 3.3. 
thanks. 



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18684

Reply via email to