strtof is not defined anymore in std=c++11
Corinna Vinschen
vinschen@redhat.com
Thu Apr 11 10:24:00 GMT 2013
Hi Jon,
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.
> newlib/ChangeLog:
>
> 2013-04-09 Jon TURNEY <...>
>
> * libc/include/stdlib.h (strtof, strtoll, strtoull, strtold): Also
> prototype if C++11 or later
>
Thanks,
Corinna
--
Corinna Vinschen
Cygwin Maintainer
Red Hat
More information about the Newlib
mailing list