For ages I thought that was because G++ 4.7.3 had an incomplete C++11 implementation, but it's actually because they are being #ifdef'd away during the toolchain build. I've tracked everything down to this test in acinclude.m4
Code: Select all
# Check for the existence in <stdio.h> of vscanf, et. al.
AC_MSG_CHECKING([for ISO C99 support in <stdio.h> for C++11])
AC_CACHE_VAL(glibcxx_cv_c99_stdio_cxx11, [
GCC_TRY_COMPILE_OR_LINK(
[#include <stdio.h>
#include <stdarg.h>
void foo(char* fmt, ...)
{
va_list args; va_start(args, fmt);
vfscanf(stderr, "%i", args);
vscanf("%i", args);
vsnprintf(fmt, 0, "%i", args);
vsscanf(fmt, "%i", args);
snprintf(fmt, 0, "%i");
}], [],
[glibcxx_cv_c99_stdio_cxx11=yes], [glibcxx_cv_c99_stdio_cxx11=no])
])
AC_MSG_RESULT($glibcxx_cv_c99_stdio_cxx11)
if test x"$glibcxx_cv_c99_stdio_cxx11" = x"yes"; then
AC_DEFINE(_GLIBCXX11_USE_C99_STDIO, 1,
[Define if C99 functions or macros in <stdio.h> should be imported
in <cstdio> in namespace std for C++11.])
fi