Hello all,

I'm tracking down some mysterious platform-dependent problems and am wondering just how
interoperable 0-sized arrays are with C.  For example,

void func (int *array, ...)

interface
  subroutine func (array, ...) bind(c)
    integer(c_int) :: array(*)
  end subroutine
end interface

Will this work with 0-sized actual arguments?  Of course I'm assuming
that the C pointer will never be de-referenced in this case.  Basically,
I'm wondering if some sensibly-valued address gets passed.

And more specifically, does C_LOC return some sensible dummy value for a 0-sized array argument, again with the caveat that you shouldn't attempt to use it for anything.

Thanks,
  Neil