diff options
author | schnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2005-09-25 20:12:31 +0000 |
---|---|---|
committer | schnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2005-09-25 20:12:31 +0000 |
commit | 7ae35016d12ff7b61001369b1cae4bcd91a0272d (patch) | |
tree | 2f4f96e89a8052edbafd17d8c6cba6d58879b674 /lib/sbin/GridFuncStuff.pl | |
parent | 4c329aa346c783b8f1cb9519976fba8de931be96 (diff) |
Make some internal macros safer by adding parentheses
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4140 17b73243-c579-4c4c-a9d2-2d5706c11dac
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, ''); |