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.
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to