1  /* PR target/48596  */
       2  /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
       3  
       4  enum { nrrdCenterUnknown, nrrdCenterNode, nrrdCenterCell, nrrdCenterLast };
       5  typedef struct { int size; int center; }  NrrdAxis;
       6  typedef struct { int dim; NrrdAxis axis[10]; } Nrrd;
       7  typedef struct { } NrrdKernel;
       8  typedef struct { const NrrdKernel *kernel[10]; int samples[10]; } Info;
       9  
      10  void
      11  foo (Nrrd *nout, Nrrd *nin, const NrrdKernel *kernel, const double *parm,
      12       const int *samples, const double *scalings)
      13  {
      14    Info *info;
      15    int d, p, np, center;
      16    for (d=0; d<nin->dim; d++)
      17      {
      18        info->kernel[d] = kernel;
      19        if (samples)
      20  	info->samples[d] = samples[d];
      21        else
      22  	{
      23  	  center = _nrrdCenter(nin->axis[d].center);
      24  	  if (nrrdCenterCell == center)
      25  	    info->samples[d] = nin->axis[d].size*scalings[d];
      26  	  else
      27  	    info->samples[d] = (nin->axis[d].size - 1)*scalings[d] + 1;
      28  	}
      29      }
      30  }