[GRASS-user] GCC vs. locale

Glynn Clements glynn at gclements.plus.com
Sat Feb 2 08:53:18 EST 2008


Ivan Shmakov wrote:

>  >>> driver.h:70: error: \u2018BOUND_BOX\u2019 does not name a type
>  >>> make: *** [OBJ.i686-pc-linux-gnu/grass6_wxvdigit_wrap.o] Error 1
> 
>  >> "\u2018" -- unicode characters sneaking into what should be a flat
>  >> ASCII file?
> 
>  > Those are just the quotes added by the compiler. Recent versions of
>  > gcc have taken to using gratuitous non-ASCII punctuation in
>  > diagnostic messages.
> 
> 	Is it due to a locale setting?  It seems reasonable for GCC to
> 	put UTF-8 quotes when asked for such a locale.

ASCII is a subset of UTF-8, so there's no problem with using the ASCII
quote characters in that situation.

It might be different if the locale was one which doesn't normally use
"..." for quotations. E.g. using «...» in a French locale or 「...」 
in a Japanese locale might be reasonable. But the error message was
quite clearly in English.

If it was using non-ASCII characters in the C/POSIX locale, that would
be an unequivocal bug. As it is, it's merely a poor choice.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-user mailing list