]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
New test.
authorRichard Henderson <rth@cygnus.com>
Tue, 6 Jun 2000 00:19:52 +0000 (17:19 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 6 Jun 2000 00:19:52 +0000 (17:19 -0700)
From-SVN: r34418

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20000605-1.c [new file with mode: 0644]

index 389f5fde265a7b0264b69414a0d8cfbce246fb0d..b3ac0799a91cf080e3db956cbe7db43db69ed301 100644 (file)
@@ -1,3 +1,7 @@
+2000-06-05  Richard Henderson  <rth@cygnus.com>
+
+       * gcc.c-torture/execute/20000605-1.c: New test.
+
 2000-06-05  Jakub Jelinek  <jakub@redhat.com>
            Nathan Sidwell <nathan@codesourcery.com>
 
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000605-1.c b/gcc/testsuite/gcc.c-torture/execute/20000605-1.c
new file mode 100644 (file)
index 0000000..b481ecb
--- /dev/null
@@ -0,0 +1,48 @@
+typedef struct _RenderInfo RenderInfo;
+struct _RenderInfo
+{
+    int y;
+    float scaley;
+    int src_y;
+};
+
+static void bar(void) { }
+
+static int
+render_image_rgb_a (RenderInfo * info)
+{
+  int y, ye;
+  float error;
+  float step;
+
+  y = info->y;
+  ye = 256;
+
+  step = 1.0 / info->scaley;
+
+  error = y * step;
+  error -= ((int) error) - step;
+
+  for (; y < ye; y++) {
+      if (error >= 1.0) {
+         info->src_y += (int) error;
+         error -= (int) error;
+         bar();
+      }
+      error += step;
+  }
+  return info->src_y;
+}
+
+int main (void)
+{
+    RenderInfo info;
+
+    info.y = 0;
+    info.src_y = 0;
+    info.scaley = 1.0;
+
+    if (render_image_rgb_a(&info) != 256)
+       abort ();
+    exit(0);
+}