(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr101028.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-Ofast" } */
       3  
       4  typedef struct {
       5    double x, y;
       6  } PointInfo;
       7  
       8  typedef struct {
       9    PointInfo point;
      10  } PrimitiveInfo;
      11  
      12  int TraceBezier_alpha, TraceBezier_i;
      13  double TraceBezier_weight;
      14  PointInfo *TraceBezier_points;
      15  PrimitiveInfo *TraceBezier_primitive_info;
      16  
      17  void TracePath() {
      18    double *coefficients;
      19    PointInfo point;
      20    long j;
      21    for (; TraceBezier_i; TraceBezier_i++) {
      22      point.x = point.y = TraceBezier_alpha = 1.0;
      23      j = 0;
      24      for (; j < 4; j++) {
      25        point.x += TraceBezier_alpha * coefficients[j] *
      26                   TraceBezier_primitive_info->point.x;
      27        point.y += TraceBezier_alpha * TraceBezier_primitive_info->point.y;
      28        TraceBezier_alpha *= TraceBezier_weight;
      29        TraceBezier_primitive_info++;
      30      }
      31      TraceBezier_points[TraceBezier_i] = point;
      32      TraceBezier_weight += 1.0;
      33    }
      34  }