------- Comment #9 from dje at gcc dot gnu dot org  2006-02-18 23:16 -------
libstdc++ configuration may have detected that the particular feature causing
problems was not present or the header may not have defined the function at
all, causing libstdc++ to provide its own implementation.

The usual problem is that a system claims it supports some feature, but does
not implement it correctly or does not declare the standard function correctly.
 Providing something wrong generally is worse than not providing it.  GCC does
have some functionality to go back and fix up headers, but GCC probably does
not know about this particular problem.

The problem appears to be that AIX 4.2 declares strtof() in
/usr/include/stdlib.h as

extern float    strtof(char *, char **);

instead of 

extern float    strtof(const char *, char **);

In other words, missing the "const".  You could manually fix the header during
the build process between building the compiler and building the libraries, by
changing the copy of the stdlib.h header in the gcc/include subdirectory of the
build.  GCC uses its copy of the header if present.


-- 


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

Reply via email to