* that if realloc fails (which is true in every case when it returns
* NULL when size > 0), p is unchanged and still valid.
*/
-#if !defined(__clang__)
+#if __GNUC__ >= 12 && !defined(__clang__)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wuse-after-free"
#endif
newp = realloc(p, size);
}
return newp;
-#if !defined(__clang__)
+#if __GNUC__ >= 12 && !defined(__clang__)
# pragma GCC diagnostic pop
#endif
}
* every case when it returns NULL when size > 0 and n > 0), p is
* unchanged and still valid.
*/
-#if !defined(__clang__)
+#if __GNUC__ >= 12 && !defined(__clang__)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wuse-after-free"
#endif
(*xmalloc_error_handler)("reallocarray", n *size, file, line);
newp = reallocarray(p, n, size);
}
-#if !defined(__clang__)
+#if __GNUC__ >= 12 && !defined(__clang__)
# pragma GCC diagnostic pop
#endif
return newp;