aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8/gcc/testsuite/gcc.target/i386/pr34312.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/pr34312.c')
-rw-r--r--gcc-4.8/gcc/testsuite/gcc.target/i386/pr34312.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/pr34312.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr34312.c
new file mode 100644
index 000000000..876ac4040
--- /dev/null
+++ b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr34312.c
@@ -0,0 +1,34 @@
+/* { 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);
+}