[patch][libc++]using some undeclared functions with -std=c++98, -std=c++03 or -ansi
Dimitry Andric
dim at FreeBSD.org
Fri Nov 23 21:27:57 UTC 2012
On 2012-11-23 00:09, Yamaya Takashi wrote:
> With -std=c++98, -std=c++03 or -ansi, __LONG_LONG_SUPPORTED is not defined.
> So some functions((lldiv_t, )atoll, strtoll, strtoull, llabs, lldiv,
> wcstoll, wcstoull) are undeclared.
> But libc++ headers(cstdlib and cwchar) use them.
The general idea of your patch is good, but we need to check it with
upstream first. For example, __LONG_LONG_SUPPORTED is a FreeBSD
specific define, so for the general case the solution might be more
complicated.
Note there are also other problems when compiling libc++ with -std=c++98
and -std=c++03, such as complaints about namespacing and such. I am not
entirely sure libc++ is fully supported yet under those restrictions. :)
In any case, I will see if I can come up with a patch which is more
suitable for upstream, and move the discussion there.
More information about the freebsd-toolchain
mailing list