From fce8451d8208d1a5ada66135128bc2cd08820abe Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 5 Jun 2000 17:19:52 -0700 Subject: [PATCH] New test. From-SVN: r34418 --- gcc/testsuite/ChangeLog | 4 ++ .../gcc.c-torture/execute/20000605-1.c | 48 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/execute/20000605-1.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 389f5fde265..b3ac0799a91 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-06-05 Richard Henderson + + * gcc.c-torture/execute/20000605-1.c: New test. + 2000-06-05 Jakub Jelinek Nathan Sidwell 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 index 00000000000..b481ecb62b6 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20000605-1.c @@ -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); +} -- 2.30.2