does graphite affect the c++ munging? Does -On?
Jonathan Wakely
jwakely.gcc@gmail.com
Mon Nov 5 00:32:00 GMT 2012
On 4 November 2012 23:09, James Cloos wrote:
>
> I'm seeing an unexpected undefined reference error from ld(1) for a
> package which uses icu.
>
> The error is dependent on CXXFLAGS, notably the three graphite flags.
>
> Although, now that I try to duplicate that, I cannot and get the same
> undefined refs every time. :-/
>
> The first undefined ref is to:
>
> icu::LEFontInstance::mapCharsToGlyphs(unsigned short const*,
> int,
> int,
> signed char,
> icu::LECharMapper const*,
> signed char,
> icu::LEGlyphStorage&) const
>
> The definition in icu's src is:
>
> void LEFontInstance::mapCharsToGlyphs(const LEUnicode chars[],
> le_int32 offset,
> le_int32 count,
> le_bool reverse,
> const LECharMapper *mapper,
> le_bool filterZeroWidth,
> LEGlyphStorage &glyphStorage) const
>
> and the library has:
>
> _ZNK3icu14LEFontInstance16mapCharsToGlyphsEPKDsiiaPKNS_12LECharMapperEaRNS_14LEGlyphStorageE
>
> which I presume splits out as:
>
> E PK Ds i i a PK NS_12LECharMapper E a R NS_14LEGlyphStorage E
>
> which seems to match, presuming PKDs is a pointer to ushort, and a is
> a signed char.
It doesn't match, c++filt shows that symbol is
icu::LEFontInstance::mapCharsToGlyphs(char16_t const*, int, int,
signed char, icu::LECharMapper const*, signed char,
icu::LEGlyphStorage&) const
char16_t is not unsigned short.
More information about the Gcc-help
mailing list