view gcc/testsuite/gcc.c-torture/compile/pr48596.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* PR target/48596  */
/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */

enum { nrrdCenterUnknown, nrrdCenterNode, nrrdCenterCell, nrrdCenterLast };
typedef struct { int size; int center; }  NrrdAxis;
typedef struct { int dim; NrrdAxis axis[10]; } Nrrd;
typedef struct { } NrrdKernel;
typedef struct { const NrrdKernel *kernel[10]; int samples[10]; } Info;

void
foo (Nrrd *nout, Nrrd *nin, const NrrdKernel *kernel, const double *parm,
     const int *samples, const double *scalings)
{
  Info *info;
  int d, p, np, center;
  for (d=0; d<nin->dim; d++)
    {
      info->kernel[d] = kernel;
      if (samples)
	info->samples[d] = samples[d];
      else
	{
	  center = _nrrdCenter(nin->axis[d].center);
	  if (nrrdCenterCell == center)
	    info->samples[d] = nin->axis[d].size*scalings[d];
	  else
	    info->samples[d] = (nin->axis[d].size - 1)*scalings[d] + 1;
	}
    }
}