We are using pgf90 5.2-2 on dual Opteron 64bit-mode on SuSe 9.1 Professional.
Commnad line: “pgf90 -g …”
In our application (www.cactuscode.org) we have f90 routing calling C routine with varlists arguments. For example we have on an f90 routine the following call:
call CCTK_Reduce(ierr, cctkGH, -1, Reduction_Handle, & 1, 107, rho_max, 1, VarIndex)
to the following C routine:
void CCTK_FCALL cctk_reduce_ (int *fortranreturn, const cGH **GH, const int *proc, const int *operation_handle, const int *num_out_vals, const int *type_out_vals, void *out_vals, const int *num_in_fields, ... );
Now in the calling the argument got messed up and the stack got currupted. Infact this C routine in turns call:
int CCTK_Reduce(const cGH *GH, int proc, int operation_handle, int num_out_vals, int type_out_vals, void *out_vals, int num_in_fields, ...);
and after some “C” subcall a memory exeception is generated. The debuging session show that in the stack no trace of the Fortarn interface function “cctk_reduce_” is shown.
Rerunning the debugging session a traceing by hand the calling flow everything go well but “cctk_reduce_” receive a bad sequence of argument.
There are workaround for this problem ?
Thanky you for any suggestions