On Fri, Mar 30, 2007 at 09:52:22AM -0700, Richard Henderson wrote:
> I think the problem is that we've not told libcpp what the correct
> narrow character set is. I suggest adding something like
>
> if (BITS_PER_UNIT >= 32)
> cpp_opts->narrow_charset = BYTES_BIG_ENDIAN ? "UTF-32BE" : "UTF-32LE";
> else if (BITS_PER_UNIT >= 16)
> cpp_opts->narrow_charset = BYTES_BIG_ENDIAN ? "UTF-16BE" : "UTF-16LE";
>
Ah! That seems to do the trick. I'm still getting problems with numeric
escapes, but I notice this comment in emit_numeric_escape:
/* Note: this code does not handle the case where the target
and host have a different number of bits in a byte. */
So my guess is that needs a fix too. I'm also seeing warnings from
character literals like:
warning: character constant too long for its type
I should be able to chase this down too, though.
Thanks for the help,
Ned.