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

Corinna Vinschen vinschen@redhat.com
Thu Apr 11 13:02:00 GMT 2013


On Apr 11 13:23, Jon TURNEY wrote:
> On 11/04/2013 11:24, Corinna Vinschen wrote:
> > On Apr  9 15:18, Jon TURNEY wrote:
> >> $ g++ c99-stdlib-test.cpp -std=c++03 -Werror=implicit-function-declaration
> >> c99-stdlib-test.cpp: In function ‘int main()’:
> >> c99-stdlib-test.cpp:5:27: error: ‘strtoll’ was not declared in this scope
> >>    strtoll("1234", NULL , 0);
> >>                            ^
> >> c99-stdlib-test.cpp:6:27: error: ‘strtoull’ was not declared in this scope
> >>    strtoull("1234", NULL, 0);
> >>                            ^
> >> c99-stdlib-test.cpp:7:22: error: ‘strtof’ was not declared in this scope
> >>    strtof("1234", NULL);
> >>                       ^
> >>
> >> $ g++ c99-stdlib-test.cpp -std=c++11 -Werror=implicit-function-declaration
> > 
> > Unfortunately, compilation fails when building a plain-C application
> > since __cplusplus is undefined in that case.  I checked in a patched
> > patch which also checks if __cplusplus is defined.
> 
> I'm obviously missing something here, as it WFM.

Indeed.  I don't know what I did wrong, but when I tested it, it didn't
work.  Now that I'm trying to reproduce it, everything's fine.  I reverted
the code to your original patch.


Sorry,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat



More information about the Newlib mailing list