Re: [courier-users] Poll: C++11 compiler support
SZÉPE Viktor writes: Idézem/Quoting Freddie Witherden: > Hi, > > On 05/03/2017 13:03, Sam Varshavchik wrote: >>> $ 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" >> >> Ok, so gcc 4.4 is not going to work. >> >> According to https://wiki.debian.org/LTS, squeeze has EOLed a year ago. >> >>> 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) >> >> Ok, so with wheezy, and going forward, you should be ok by explicitly >> using the -std=c++11 compiler flag. >> >> CentOS 5 also comes with gcc 4.4, and CentOS 5 EOLs and the end of this >> month. But looks like CentOS 6 still uses gcc 4.4, until 2020. That's >> likely to be problematic, but I'd still like to verify this. It's >> remotely possible that Red Hat patched in some C++11 support in their >> build of gcc 4.4. > > You can try with -std=c++0x which enables limited support and has been > available since early 4.x releases. > Works on g++ 4.4: $ g++ -std=c++0x -o utest u.c (no output) Ok, so squeeze should be taken care of, and most likely CentOS 5 and 6. Thanks for testing it. pgpRDqpncGAhs.pgp Description: PGP signature -- 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
Re: [courier-users] Poll: C++11 compiler support
Idézem/Quoting Freddie Witherden: > Hi, > > On 05/03/2017 13:03, Sam Varshavchik wrote: >>> $ 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" >> >> Ok, so gcc 4.4 is not going to work. >> >> According to https://wiki.debian.org/LTS, squeeze has EOLed a year ago. >> >>> 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) >> >> Ok, so with wheezy, and going forward, you should be ok by explicitly >> using the -std=c++11 compiler flag. >> >> CentOS 5 also comes with gcc 4.4, and CentOS 5 EOLs and the end of this >> month. But looks like CentOS 6 still uses gcc 4.4, until 2020. That's >> likely to be problematic, but I'd still like to verify this. It's >> remotely possible that Red Hat patched in some C++11 support in their >> build of gcc 4.4. > > You can try with -std=c++0x which enables limited support and has been > available since early 4.x releases. > Works on g++ 4.4: $ g++ -std=c++0x -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
Re: [courier-users] Poll: C++11 compiler support
Hi, On 05/03/2017 13:03, Sam Varshavchik wrote: >> $ 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" > > Ok, so gcc 4.4 is not going to work. > > According to https://wiki.debian.org/LTS, squeeze has EOLed a year ago. > >> 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) > > Ok, so with wheezy, and going forward, you should be ok by explicitly > using the -std=c++11 compiler flag. > > CentOS 5 also comes with gcc 4.4, and CentOS 5 EOLs and the end of this > month. But looks like CentOS 6 still uses gcc 4.4, until 2020. That's > likely to be problematic, but I'd still like to verify this. It's > remotely possible that Red Hat patched in some C++11 support in their > build of gcc 4.4. You can try with -std=c++0x which enables limited support and has been available since early 4.x releases. Regards, Freddie. > > > -- > 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 > signature.asc Description: OpenPGP digital signature -- 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
Re: [courier-users] Poll: C++11 compiler support
SZÉPE Viktor writes: 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" Ok, so gcc 4.4 is not going to work. According to https://wiki.debian.org/LTS, squeeze has EOLed a year ago. 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) Ok, so with wheezy, and going forward, you should be ok by explicitly using the -std=c++11 compiler flag. CentOS 5 also comes with gcc 4.4, and CentOS 5 EOLs and the end of this month. But looks like CentOS 6 still uses gcc 4.4, until 2020. That's likely to be problematic, but I'd still like to verify this. It's remotely possible that Red Hat patched in some C++11 support in their build of gcc 4.4. pgpB3RP2KfSLP.pgp Description: PGP signature -- 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
Re: [courier-users] Poll: C++11 compiler support
Idézem/Quoting Sam Varshavchik: > 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 > > 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
[courier-users] Poll: C++11 compiler support
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 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. pgpQXVyrO_vcO.pgp Description: PGP signature -- 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