this time it compile well (no error) On Wed, 2011-06-29 at 23:18 +0100, Jonathan Wakely wrote: > On 29 June 2011 23:10, eric wrote: > > test1.cpp:7:67: error: operator '&&' has no right operand > > That's because gmail wrapped these lines: > > #if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && > !defined(__UCLIBC__) > > Try putting a \ character at the end of the first line, after the && > > Please make that change and try again. This should tell us if your > glibc doesn't have locale support, it's the test that libstdc++ uses > to enable clocale=gnu > > > > test1.cpp:10:2: error: #error bad glibc > > > > > > On Wed, 2011-06-29 at 21:51 +0100, Jonathan Wakely wrote: > >> > >> #define _GNU_SOURCE 1 > >> #include <string.h> > >> #include <locale.h> > >> > >> #include <features.h> > >> #if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && > >> !defined(__UCLIBC__) > >> #else > >> #error bad glibc > >> #endif > >> > >> > >> int > >> main () > >> { > >> char s[128]; > >> __locale_t loc; > >> strxfrm_l(s, "C", 5, loc); > >> strerror_l(5, loc); > >> > >> > >> return 0; > >> } > >> > >> > > > >