From: Richard Henderson Date: Tue, 6 Jun 2000 00:19:52 +0000 (-0700) Subject: New test. X-Git-Tag: prereleases/libstdc++-2.92~5946 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fce8451d8208d1a5ada66135128bc2cd08820abe;p=thirdparty%2Fgcc.git New test. From-SVN: r34418 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 389f5fde265a..b3ac0799a91c 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 000000000000..b481ecb62b67 --- /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); +}