diff --git a/configure.ac b/configure.ac
index 20d2b9eccba57aee3d1eae546f5c69df5b6f4be4..ceab8e360c23ad09758557c095d5d4548b9d4627 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1839,8 +1839,12 @@ if test "$enable_warn" != "no"; then
     # Add a "choke on warning" flag if it exists
     if test "$enable_warn" = "error"; then
        case "$ax_cv_c_compiler_vendor" in
-          intel | gnu | clang | oneapi)
+          intel | clang | oneapi)
              CFLAGS="$CFLAGS -Werror"
+	  ;;
+	  gnu)
+             #  Fix for issue with IPO and GCC 14
+             CFLAGS="$CFLAGS -Werror -Wno-alloc-size-larger-than"
           ;;
        esac
     fi
diff --git a/src/common_io.c b/src/common_io.c
index 8cbdaceb3329cf1b1c7317b42c8183fb5ec862de..93f05d858bb10acb8cd65c4e6e1099f339452497 100644
--- a/src/common_io.c
+++ b/src/common_io.c
@@ -1627,7 +1627,7 @@ void io_collect_gparts_neutrino_to_write(
  */
 void io_make_snapshot_subdir(const char* dirname) {
 
-  if (strcmp(dirname, ".") != 0 && strnlen(dirname, PARSER_MAX_LINE_SIZE) > 0) {
+  if (strcmp(dirname, ".") != 0 && strnlen(dirname, FILENAME_BUFFER_SIZE) > 0) {
     safe_checkdir(dirname, /*create=*/1);
   }
 }
diff --git a/src/partition.c b/src/partition.c
index 52654d09dcd730c1ed5bedd3c164ad1afcf8bdc9..48d12cc8c905a067f2a7fcf317e67e6ac6db6469 100644
--- a/src/partition.c
+++ b/src/partition.c
@@ -364,7 +364,7 @@ struct counts_mapper_data {
       if (cid < lcid) lcid = cid;                                              \
     }                                                                          \
     int nused = ucid - lcid + 1;                                               \
-    if ((lcounts = (double *)calloc(sizeof(double), nused)) == NULL)           \
+    if ((lcounts = (double *)calloc(nused, sizeof(double))) == NULL) \
       error("Failed to allocate counts thread-specific buffer");               \
     for (int k = 0; k < num_elements; k++) {                                   \
       const int cid =                                                          \
diff --git a/tests/difffloat.py b/tests/difffloat.py
index da662113a86fda130fe7417ee5d634d48053cb4a..cfa16970730bc365b284a78f8a757bd459a9b741 100644
--- a/tests/difffloat.py
+++ b/tests/difffloat.py
@@ -18,6 +18,7 @@
 ##############################################################################
 
 from numpy import *
+del min
 import sys
 
 abs_tol = 1e-7