(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
assumed_rank_22_aux.c
       1  /* Called by assumed_rank_22.f90.  */
       2  
       3  #include <ISO_Fortran_binding.h>
       4  #include <assert.h>
       5  
       6  void
       7  c_assumed (CFI_cdesc_t *x, int num)
       8  {
       9    assert (num == 0 || num == 20 || num == 40 || num == 60 || num == 80
      10  	  || num == 100);
      11    assert (x->elem_len == sizeof (int));
      12    assert (x->rank == 3);
      13    assert (x->type == CFI_type_int32_t);
      14  
      15    assert (x->attribute == CFI_attribute_other);
      16    assert (x->dim[0].lower_bound == 0);
      17    assert (x->dim[1].lower_bound == 0);
      18    assert (x->dim[2].lower_bound == 0);
      19    assert (x->dim[0].extent == 5);
      20    assert (x->dim[1].extent == 4);
      21    if (num == 0)
      22      assert (x->dim[2].extent == -1);
      23    else if (num == 20)
      24      assert (x->dim[2].extent == 1);
      25    else if (num == 40)
      26      {
      27        /* FIXME: - dg-output = 'c_assumed ... OK' checked in .f90 file. */
      28        /* assert (x->dim[2].extent == 0); */
      29        if (x->dim[2].extent == 0)
      30  	__builtin_printf ("c_assumed - 40 - OK\n");
      31        else
      32  	__builtin_printf ("error: c_assumed num=%d: "
      33  		      "x->dim[2].extent = %d != 0\n",
      34  		      num, x->dim[2].extent);
      35      }
      36    else if (num == 60)
      37      assert (x->dim[2].extent == 2);
      38    else if (num == 80)
      39      assert (x->dim[2].extent == 2);
      40    else if (num == 100)
      41      {
      42        /* FIXME: - dg-output = 'c_assumed ... OK' checked in .f90 file. */
      43        /* assert (x->dim[2].extent == 0); */
      44        if (x->dim[2].extent == 0)
      45  	__builtin_printf ("c_assumed - 100 - OK\n");
      46        else
      47  	__builtin_printf ("error: c_assumed num=%d: "
      48  		      "x->dim[2].extent = %d != 0\n",
      49  		      num, x->dim[2].extent);
      50      }
      51    else
      52      assert (0);
      53  }
      54  
      55  void
      56  c_allocated (CFI_cdesc_t *x)
      57  {
      58    assert (x->elem_len == sizeof (int));
      59    assert (x->rank == 3);
      60    assert (x->type == CFI_type_int32_t);
      61    assert (x->attribute == CFI_attribute_allocatable);
      62    assert (x->dim[0].lower_bound == -1);
      63    assert (x->dim[1].lower_bound == 1);
      64    assert (x->dim[2].lower_bound == -1);
      65    assert (x->dim[0].extent == 5);
      66    assert (x->dim[1].extent == 4);
      67    assert (x->dim[2].extent == 1);
      68  }