Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Access to SIMIX data without resorting to a request (and thus do not rely specificall...
[simgrid.git] / src / smpi / smpif2c.in
index ce1272a..1d6c4d0 100755 (executable)
@@ -20,8 +20,7 @@ foreach my $fortran (@ARGV) {
    print $tmp "#define INTEGER_STAR_8\n";
    print $tmp "#endif\n";
    print $tmp "#include <stdlib.h>\n";
-   print $tmp "#include <smpif.h>\n\n";
-   print $tmp "int __attribute__((weak)) __rank(void) {\n  static __thread int rank = -1;\n\n  if(rank < 0) {\n    rank = smpi_global_rank();\n  }\n  return rank;\n}\n\n";
+   print $tmp "#include <smpif.h>\n";
    while(<F2C>) {
       chomp;
       if(/\/\* Common Block Declarations \*\//) {
@@ -31,7 +30,7 @@ foreach my $fortran (@ARGV) {
          if(/^} (.*?);/) {
             $_ = "}* __attribute__((weak)) $1 = NULL;\n";
          } elsif(/^#define\s*(\S*)\s*\(?([^.]*)(\..*?)?\)?$/) {
-            $_ = "#define $1 $2\[__rank()\]";
+            $_ = "#define $1 $2\[smpi_process_index()\]";
             if(defined $3) {
                $_ .= $3;
             }