strtof is not defined anymore in std=c++11

Laurent Alfonsi laurent.alfonsi@st.com
Tue Apr 2 10:37:00 GMT 2013


     Hello,

The strtof function is now rejected when selecting the gcc C++11 
standard option.
This regression has been introduced in this patch
     http://sourceware.org/ml/newlib/2012/msg00425.html

J.Turney patch is fine regarding the C standard side, but when using 
from C++ :
     $ cat a.cpp
     #include <cstdlib>

     float  f(const char *s, char **endptr) {
       return strtof(s, endptr);
     }

It fails with the message :
     $ g++ -std=c++11 a.cpp
     a.cpp: In function 'float f(const char*, char**)':
     a.cpp:3:30: error: 'strtof' was not declared in this scope

Whereas this function strtof is well included in the cstdlib header file 
defined in C++11 ISO.

Please advice.

Thanks,
Laurent



More information about the Newlib mailing list