/* { dg-do compile } */ /* { dg-require-effective-target ia32 } */ /* { dg-require-effective-target fpic } */ /* { dg-options "-O2 -march=pentium-m -fpic" } */ typedef struct { unsigned char seq[3]; } JamoNormMap; static const JamoNormMap * JamoClusterSearch (JamoNormMap aKey, const JamoNormMap * aClusters, short aClustersSize) { unsigned short l = 0, u = aClustersSize - 1; unsigned short h = (l + u) / 2; if ((aKey.seq[1] - aClusters[h].seq[1]) < 0) return JamoClusterSearch (aKey, &(aClusters[l]), h - l); } short JamoSrchReplace (const JamoNormMap * aClusters, unsigned short aClustersSize, unsigned short * aIn, unsigned int * aLength, unsigned short aOffset) { JamoNormMap key; key.seq[0] = 0; key.seq[1] = 1; key.seq[2] = 2; JamoClusterSearch (key, aClusters, aClustersSize); }