@@ -77,7 +77,13 @@ arabic_fallback_synthesize_lookup_single (const hb_ot_shape_plan_t *plan HB_UNUS
77
77
78
78
/* Bubble-sort or something equally good!
79
79
* May not be good-enough for presidential candidate interviews, but good-enough for us... */
80
+
81
+ #if defined(_AIX)
82
+ /* Workaround AIX xlC 12 compilation problems caused by the overloaded versions of 'cmp' in IntType */
83
+ hb_stable_sort (&glyphs[0 ], num_glyphs, (int (*)(const OT::GlyphID*, const OT::GlyphID *)) OT::GlyphID::cmp, &substitutes[0 ]);
84
+ #else
80
85
hb_stable_sort (&glyphs[0 ], num_glyphs, OT::GlyphID::cmp, &substitutes[0 ]);
86
+ #endif
81
87
82
88
OT::Supplier<OT::GlyphID> glyphs_supplier (glyphs, num_glyphs);
83
89
OT::Supplier<OT::GlyphID> substitutes_supplier (substitutes, num_glyphs);
@@ -126,7 +132,13 @@ arabic_fallback_synthesize_lookup_ligature (const hb_ot_shape_plan_t *plan HB_UN
126
132
first_glyphs_indirection[num_first_glyphs] = first_glyph_idx;
127
133
num_first_glyphs++;
128
134
}
135
+
136
+ #if defined(_AIX)
137
+ /* Workaround AIX xlC 12 compilation problems caused by the overloaded versions of 'cmp' in IntType */
138
+ hb_stable_sort (&first_glyphs[0 ], num_first_glyphs, (int (*)(const OT::GlyphID *, const OT::GlyphID *)) OT::GlyphID::cmp, &first_glyphs_indirection[0 ]);
139
+ #else
129
140
hb_stable_sort (&first_glyphs[0 ], num_first_glyphs, OT::GlyphID::cmp, &first_glyphs_indirection[0 ]);
141
+ #endif
130
142
131
143
/* Now that the first-glyphs are sorted, walk again, populate ligatures. */
132
144
for (unsigned int i = 0 ; i < num_first_glyphs; i++)
0 commit comments