[ET Trac] #2571: runtime failure due to useing character*8 in DECLARE_CCTK_ARGUMENTS_CHECKED macro

Erik Schnetter trac-noreply at einsteintoolkit.org
Wed Oct 20 20:55:25 CDT 2021


#2571: runtime failure due to useing character*8 in DECLARE_CCTK_ARGUMENTS_CHECKED macro

 Reporter: Roland Haas
   Status: new
Milestone: 
  Version: development version
     Type: bug
 Priority: major
Component: Cactus

Comment (by Erik Schnetter):

A declaration `character*8` as input argument is really strange. one would only use that if one knows that the length is 8, similar to passing a character array in C \(instead of a character pointer\).

Usually one would write `character*(*)`, and the compiler then passes the actual string length as additional \(hidden\) argument, and uses that length in the callee.

In this case I rather think that the Fortran code is a mistranslation from C, and that the code generating the `_CHECKED` macro is wrong. `dtbetax_p` should be declared as `CCTK_REAL dtbetax_p(ash0, ash1, ash2)` instead. None of the Cactus grid function or parameter passing arguments or declaration use Fortran `character` variables.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2571/runtime-failure-due-to-useing-character-8
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/trac/attachments/20211021/69cf45bc/attachment.html 


More information about the Trac mailing list