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

Reply via email to