summaryrefslogtreecommitdiff
path: root/lib/sbin/create_fortran_stuff.pl
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2002-05-20 14:07:36 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2002-05-20 14:07:36 +0000
commit3f6c7a77eee5addaa3eca660ad0baedc5e04e5f8 (patch)
tree430aa9cd3d431ace3827a0786bba5e6ac2ba8b36 /lib/sbin/create_fortran_stuff.pl
parent23c746c442dc67e290609679071f2462e4515741 (diff)
Added array parameters.
Added accumulator parameters - needs a bit more error checking. Preliminary support for aliasing parameters - disabled until it works properly. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2829 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/sbin/create_fortran_stuff.pl')
-rw-r--r--lib/sbin/create_fortran_stuff.pl39
1 files changed, 32 insertions, 7 deletions
diff --git a/lib/sbin/create_fortran_stuff.pl b/lib/sbin/create_fortran_stuff.pl
index 2e3c881c..1bd517a4 100644
--- a/lib/sbin/create_fortran_stuff.pl
+++ b/lib/sbin/create_fortran_stuff.pl
@@ -84,9 +84,18 @@ sub CreateFortranThornParameterBindings
foreach $parameter (sort(keys %these_parameters))
{
# Alias the parameter unless it is one we want.
- if(($rhparameter_db->{"\U$thorn SHARES $friend\E variables"} =~ m:( )*$parameter( )*:) && (length($1) > 0)||length($2)>0||$1 eq $rhparameter_db->{"\U$thorn SHARES $friend\E variables"})
+ if(($rhparameter_db->{"\U$thorn SHARES $friend\E variables"} =~ m:( )*$parameter( )*:) &&
+ (length($1) > 0)||length($2)>0||$1 eq $rhparameter_db->{"\U$thorn SHARES $friend\E variables"})
{
- $alias_names{$parameter} = $parameter;
+ # See if we are sharing it AS something
+ my $name = $rhparameter_db->{"\U$thorn $parameter\E alias"};
+
+ if(! $name)
+ {
+ $name = "$parameter";
+ }
+
+ $alias_names{$parameter} = $name;
}
else
{
@@ -136,18 +145,34 @@ sub CreateFortranCommonDeclaration
foreach $parameter (&order_params($rhparameters,$rhparameter_db))
{
- $type = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E type"};
+ my $type = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E type"};
+
+ my $type_string = &get_fortran_type_string($type);
+
+ my $array_size = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E array_size"};
+
+ my $suffix = '';
- $type_string = &get_fortran_type_string($type);
+ if($array_size)
+ {
+ $suffix = "($array_size)";
+ }
if($aliases == 0)
{
- $line = "$type_string $parameter";
- $definition .= "$sepchar$parameter";
+ my $name = $rhparameter_db->{"\U$rhparameters->{$parameter} $parameter\E alias"};
+
+ if(! $name)
+ {
+ $name = "$parameter";
+ }
+
+ $line = "$type_string $name$suffix";
+ $definition .= "$sepchar$name";
}
else
{
- $line = "$type_string $rhaliases->{$parameter}";
+ $line = "$type_string $rhaliases->{$parameter}$suffix";
$definition .= "$sepchar$rhaliases->{$parameter}";
}