Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Stick with brutal C-style casts (and fix compilation errors).
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 9 Jul 2020 09:35:54 +0000 (11:35 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 9 Jul 2020 09:36:22 +0000 (11:36 +0200)
src/smpi/internals/smpi_shared.cpp

index 88417cd..b2653ab 100644 (file)
@@ -142,8 +142,8 @@ static void *smpi_shared_malloc_local(size_t size, const char *file, int line)
 }
 
 // Align functions, from http://stackoverflow.com/questions/4840410/how-to-align-a-pointer-in-c
-#define ALIGN_UP(n, align) ((static_cast<int64_t>(n) + static_cast<int64_t>(align) - 1) & -static_cast<int64_t>(align))
-#define ALIGN_DOWN(n, align) (static_cast<int64_t>(n) & -static_cast<int64_t>(align))
+#define ALIGN_UP(n, align) (((int64_t)(n) + (int64_t)(align) - 1) & -(int64_t)(align))
+#define ALIGN_DOWN(n, align) ((int64_t)(n) & -(int64_t)(align))
 
 constexpr unsigned PAGE_SIZE      = 0x1000;
 constexpr unsigned HUGE_PAGE_SIZE = 1U << 21;