Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make global variables "const".
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 6 Feb 2023 13:55:57 +0000 (14:55 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 6 Feb 2023 13:55:57 +0000 (14:55 +0100)
include/xbt/misc.h
src/xbt/xbt_main.cpp

index 11d92d7..da34afa 100644 (file)
 SG_BEGIN_DECL
 
 /** Cache the size of a memory page for the current system. */
-XBT_PUBLIC_DATA int xbt_pagesize;
+XBT_PUBLIC_DATA const int xbt_pagesize;
 
 /** Cache the number of bits of addresses inside a given page, log2(xbt_pagesize). */
-XBT_PUBLIC_DATA int xbt_pagebits;
+XBT_PUBLIC_DATA const int xbt_pagebits;
 
 /** Helps ensuring that header version (SIMGRID_VERSION_MAJOR and friends) and dynamic library version do match. */
 XBT_PUBLIC void sg_version_check(int lib_version_major, int lib_version_minor, int lib_version_patch);
index 7825a35..7574526 100644 (file)
@@ -45,8 +45,8 @@ simgrid::config::Flag<bool> cfg_dbg_clean_atexit{
     "Whether to cleanup SimGrid at exit. Disable it if your code segfaults after its end.",
     true};
 
-int xbt_pagesize;
-int xbt_pagebits = 0;
+const int xbt_pagesize = static_cast<int>(sysconf(_SC_PAGESIZE));
+const int xbt_pagebits = static_cast<int>(log2(xbt_pagesize));
 
 /* Declare xbt_preinit and xbt_postexit as constructor/destructor of the library.
  * This is crude and rather compiler-specific, unfortunately.
@@ -62,9 +62,6 @@ void sthread_disable()
 
 static void xbt_preinit()
 {
-  xbt_pagesize = static_cast<int>(sysconf(_SC_PAGESIZE));
-  xbt_pagebits = static_cast<int>(log2(xbt_pagesize));
-
   xbt_log_preinit();
   xbt_dict_preinit();
   atexit(xbt_postexit);