gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incompatible compiler option fexec-charset


From: Richard Frith-Macdonald
Subject: Re: Incompatible compiler option fexec-charset
Date: Sun, 20 Nov 2011 19:45:04 +0000

On 20 Nov 2011, at 11:38, David Chisnall wrote:

> This flag also isn't recognised by clang.  What does GCC 4.x need it for?

The -fexec-charset=UTF-8 tells the compiler to encode string literals as UTF-8 
in the binary.  This allows developers to put any character they like in a 
string literal and have GNUstep get things right at runtime because base knows 
the compiler will have encoded all literals as UTF-8

It's not actually clear what the compiler did prior to that option being 
introduced ... from what I've read it seems likely that it simply used whatever 
string encoding was set in the locale that was in use at the time when the code 
was compiled, with no mechanism to know what that encoding was at the point 
when the executable would run.

So the only drawback to removing the option for older compilers is that 
non-ascii string literals would malfunction (but such literals have simply been 
illegal up to now anyway) ... so it would be reasonable to have an autoconf 
check to see if the option works, and disable it and print a warning.  I hate 
writing autoconf stuff though, so I'd rather someone who's interested in 
supporting old compilers did it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]