http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59617
--- Comment #10 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- I have found the origin of the problem. It is due to #include <stdlib.h> which after some steps include sys/cdefs.h which contains the following lines /* * We use `__restrict' as a way to define the `restrict' type qualifier * without disturbing older software that is unaware of C99 keywords. */ #if __STDC_VERSION__ < 199901 #define __restrict #else #define __restrict restrict #endif Note that using something such as -D__STDC_VERSION__=201401 gives a lot of errors of the kind /usr/include/stdlib.h:154:51: error: conflicting types for 'restrict' size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t); I don't have any idea about the best way to fix it.