X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6d4434a0ebdb34758d95faec8b47088a3f760df2..439ff233e2bd6371039af0bd43b5016626f63a9c:/src/smpi/smpi_global.c diff --git a/src/smpi/smpi_global.c b/src/smpi/smpi_global.c index 24e869c468..07b04a1f74 100644 --- a/src/smpi/smpi_global.c +++ b/src/smpi/smpi_global.c @@ -286,16 +286,29 @@ void smpi_global_destroy(void) /* Fortran specific stuff */ /* With smpicc, the following weak symbols are used */ /* With smpiff, the following weak symbols are replaced by those in libf2c */ -int __attribute__((weak)) smpi_simulated_main(int argc, char** argv) { +int __attribute__((weak)) xargc; +char** __attribute__((weak)) xargv; +void __attribute__((weak)) user_main__(){ xbt_die("Should not be in this smpi_simulated_main"); - return 1; + return; +} + +int __attribute__((weak)) smpi_simulated_main__(int argc, char** argv) { + smpi_process_init(&argc, &argv); + user_main__(); + //xbt_die("Should not be in this smpi_simulated_main"); + return 0; } int __attribute__((weak)) main(int argc, char** argv) { - return MAIN__(smpi_simulated_main,argc,argv); + return smpi_main(smpi_simulated_main__,argc,argv); } -int MAIN__(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]) +int __attribute__((weak)) MAIN__(){ + return smpi_main(smpi_simulated_main__,xargc, xargv); +}; + +int smpi_main(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]) { srand(SMPI_RAND_SEED); @@ -341,7 +354,7 @@ int MAIN__(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]) fflush(stderr); if (MC_is_active()) - MC_modelcheck(); + MC_modelcheck_safety(); else SIMIX_run();