modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20000605-1.c (about) 1 typedef struct _RenderInfo RenderInfo; 2 struct _RenderInfo 3 { 4 int y; 5 float scaley; 6 int src_y; 7 }; 8 9 static void bar(void) { } 10 11 static int 12 render_image_rgb_a (RenderInfo * info) 13 { 14 int y, ye; 15 float error; 16 float step; 17 18 y = info->y; 19 ye = 256; 20 21 step = 1.0 / info->scaley; 22 23 error = y * step; 24 error -= ((int) error) - step; 25 26 for (; y < ye; y++) { 27 if (error >= 1.0) { 28 info->src_y += (int) error; 29 error -= (int) error; 30 bar(); 31 } 32 error += step; 33 } 34 return info->src_y; 35 } 36 37 int main (void) 38 { 39 RenderInfo info; 40 41 info.y = 0; 42 info.src_y = 0; 43 info.scaley = 1.0; 44 45 if (render_image_rgb_a(&info) != 256) 46 abort (); 47 exit(0); 48 }