Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
flang also does need some help
authorAugustin Degomme <adegomme@users.noreply.github.com>
Wed, 25 Jul 2018 23:52:29 +0000 (01:52 +0200)
committerAugustin Degomme <adegomme@users.noreply.github.com>
Wed, 25 Jul 2018 23:52:29 +0000 (01:52 +0200)
src/smpi/internals/smpi_global.cpp
tools/cmake/MakeLib.cmake

index abcc6c0..98b9353 100644 (file)
@@ -44,11 +44,11 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_kernel, smpi, "Logging specific to SMPI (ke
 
 #if defined(__INTEL_COMPILER) || defined(__ICC)
   extern "C" void for_rtl_init_ (int *, char **);
-#elif defined(__GNUC__)
-  extern "C" void _gfortran_set_args(int, char **);
 #elif defined(__FLANG)
   extern "C" void __io_set_argc(int);
   extern "C" void __io_set_argv(char **);
+#elif defined(__GNUC__)
+  extern "C" void _gfortran_set_args(int, char **);
 #endif
 
 #ifndef RTLD_DEEPBIND
@@ -435,11 +435,11 @@ static int smpi_run_entry_point(smpi_entry_point_type entry_point, std::vector<s
   simgrid::smpi::ActorExt::init(&argc, &argvptr);
 #if defined(__INTEL_COMPILER) || defined(__ICC)
   for_rtl_init_ (&argc, argvptr);
-#elif defined(__GNUC__)
-  _gfortran_set_args(argc, argvptr);
 #elif defined(__FLANG)
   __io_set_argc(argc);
   __io_set_argv(argvptr);
+#elif defined(__GNUC__)
+  _gfortran_set_args(argc, argvptr);
 #endif 
   int res = entry_point(argc, argvptr);
   if (res != 0){
index c6aba0d..24b8b07 100644 (file)
@@ -102,6 +102,9 @@ if(enable_smpi)
       SET(SIMGRID_DEP "${SIMGRID_DEP} -lifcore")
     elseif(CMAKE_Fortran_COMPILER_ID MATCHES "PGI|Flang")
       SET(SIMGRID_DEP "${SIMGRID_DEP} -lflang")
+      if("${CMAKE_SYSTEM}" MATCHES "FreeBSD")
+        set(SIMGRID_DEP "${SIMGRID_DEP} -lexecinfo")
+      endif()
     endif()
   endif()