Idézem/Quoting Sam Varshavchik <mr...@courier-mta.com>: > The forward match of progress is requiring a clean break from the > pre-c++11 days. Under consideration is migrating the courier-unicode > library, used by both Courier and Cone, to use C++11's unicode > support only. > > I am taking a poll whether there's still any notable platforms where > Courier and Cone is used that's still using an old compiler that > does not support C++11. > > According to gcc's documentation, gcc 4.8.1 was the first version > with full C++11 support; but it's likely that older versions of gcc > had sufficient support. gcc 4.5's compliance page gives Unicode > string literals as supported, so I'm fairly confident of sufficient > C++11 unicode support at least in gcc 4.5, at the latest. > > I'd like to know if your compiler does not support C++11 unicode > strings. This can be determined with a simple test: > > #include <string> > > int main() > { > char32_t c=0; > std::u32string u; > > return 0; > } > > Save the above as "utest.C", then execute either: > > g++ -o utest utest.C > > or > > g++ -std=c++11 -o utest utest.C > > If either one completes without errors, you're good. This is if your > compiler is "g++", of course. Certain platforms, like Debian, > FreeBSD, and many others, might have multiple versions of gcc > installed; typically as "g++NN". Use the appropriate command for > your gcc.
This is the case in Debian releases: squeeze with gcc-4.4 $ g++ -o utest u.c u.c: In function ‘int main()’: u.c:5: error: ‘char32_t’ was not declared in this scope u.c:5: error: expected ‘;’ before ‘c’ u.c:6: error: ‘u32string’ is not a member of ‘std’ u.c:6: error: expected ‘;’ before ‘u’ $ g++ -std=c++11 -o utest u.c cc1plus: error: unrecognized command line option "-std=c++11" wheezy with gcc-4.7 $ g++ -o utest u.c u.c: In function ‘int main()’: u.c:5:4: error: ‘char32_t’ was not declared in this scope u.c:5:13: error: expected ‘;’ before ‘c’ u.c:6:4: error: ‘u32string’ is not a member of ‘std’ u.c:6:19: error: expected ‘;’ before ‘u’ $ g++ -std=c++11 -o utest u.c (no output) jessie with gcc-4.9 $ g++ -o utest u.c u.c: In function ‘int main()’: u.c:5:4: error: ‘char32_t’ was not declared in this scope char32_t c=0; ^ u.c:6:4: error: ‘u32string’ is not a member of ‘std’ std::u32string u; ^ $ g++ -std=c++11 -o utest u.c (no output) SZÉPE Viktor https://github.com/szepeviktor/debian-server-tools/blob/master/CV.md -- +36-20-4242498 s...@szepe.net skype: szepe.viktor Budapest, III. kerület ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ courier-users mailing list courier-users@lists.sourceforge.net Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users