diff options
Diffstat (limited to 'lib/sbin/GridFuncStuff.pl')
-rw-r--r-- | lib/sbin/GridFuncStuff.pl | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/sbin/GridFuncStuff.pl b/lib/sbin/GridFuncStuff.pl index 1bc910a6..0bf6bea3 100644 --- a/lib/sbin/GridFuncStuff.pl +++ b/lib/sbin/GridFuncStuff.pl @@ -92,30 +92,30 @@ sub CreateVariableBindings push(@data, ' const char *implementation, const char *varname);'); push(@data, ''); - push(@data, '#define PASS_GROUPSIZE(group, dir) CCTKGROUPNUM_##group >= 0 ? \\'); - push(@data, ' CCTK_ArrayGroupSizeI(GH, dir, CCTKGROUPNUM_##group) : &_cctk_zero'); + push(@data, '#define PASS_GROUPSIZE(group, dir) (CCTKGROUPNUM_##group >= 0 ? \\'); + push(@data, ' CCTK_ArrayGroupSizeI(GH, dir, CCTKGROUPNUM_##group) : &_cctk_zero)'); push(@data, ''); - push(@data, '#define PASS_GROUPLEN(thorn, group) CCTKGROUPNUM_##group >= 0 ? \\'); - push(@data, ' CCTKi_GroupLengthAsPointer(#thorn "::" #group) : &_cctk_zero'); + push(@data, '#define PASS_GROUPLEN(thorn, group) (CCTKGROUPNUM_##group >= 0 ? \\'); + push(@data, ' CCTKi_GroupLengthAsPointerI(CCTKGROUPNUM_##group) : &_cctk_zero)'); push(@data, ''); push(@data, '/*'); push(@data, ' * References to non-existing or non-allocated variables should be passed'); push(@data, ' * as NULL pointers in order to catch any invalid access immediately'); push(@data, ' * However, this runtime debugging feature may cause problems'); push(@data, ' * with some fortran compilers which require all fortran routine arguments'); - push(@data, ' * to refer to a valid memory location (eg. to enable the code optimizer'); + push(@data, ' * to refer to a valid memory location (e.g. to enable the code optimizer'); push(@data, ' * to generate conditional load/store instructions if applicable).'); push(@data, ' * For this reason, we pass NULL pointers only for debugging configurations,'); push(@data, ' * and a pointer to a user-accessable memory location (a local dummy variable)'); push(@data, ' * otherwise.'); push(@data, ' */'); push(@data, '#ifdef CCTK_DEBUG'); - push(@data, '#define PASS_REFERENCE(var, level) CCTKARGNUM_##var >= 0 ? \\'); - push(@data, ' GH->data[CCTKARGNUM_##var][level] : 0'); + push(@data, '#define PASS_REFERENCE(var, level) (CCTKARGNUM_##var >= 0 ? \\'); + push(@data, ' GH->data[CCTKARGNUM_##var][level] : (void *) 0)'); push(@data, '#else'); - push(@data, '#define PASS_REFERENCE(var, level) CCTKARGNUM_##var >= 0 && \\'); - push(@data, ' GH->data[CCTKARGNUM_##var][level] ? \\'); - push(@data, ' GH->data[CCTKARGNUM_##var][level] : _cctk_dummy_var'); + push(@data, '#define PASS_REFERENCE(var, level) (CCTKARGNUM_##var >= 0 && \\'); + push(@data, ' GH->data[CCTKARGNUM_##var][level] ? \\'); + push(@data, ' GH->data[CCTKARGNUM_##var][level] : _cctk_dummy_var)'); push(@data, '#endif'); push(@data, ''); |