nixpkgs/pkgs/servers/dante/clang-osint-m4.patch
Randy Eckenrode 7b4e8f91da
dante: fix build with clang 16
Fix two configure checks that fail on clang 16 due to unexpected errors:

* Undefined type `uint8_t` by including `stdint.h`; and
* Unused `sa_len_ptr` by incrementing the target of the pointer.
2023-10-21 13:06:42 -04:00

35 lines
932 B
Diff

diff -ur a/osdep.m4 b/osdep.m4
--- a/osdep.m4 2017-01-18 09:11:20.000000000 -0500
+++ b/osdep.m4 2023-10-21 12:43:59.464797030 -0400
@@ -381,6 +381,7 @@
unset have_sa_len
AC_MSG_CHECKING([for sa_len in sockaddr])
AC_TRY_COMPILE([
+#include <stdint.h>
#include <sys/types.h>
#include <sys/socket.h>
], [struct sockaddr sa;
@@ -397,12 +398,13 @@
unset sa_len_type_found
for type in uint8_t "unsigned char"; do
AC_TRY_COMPILE([
+#include <stdint.h>
#include <sys/types.h>
#include <sys/socket.h>], [
struct sockaddr sa;
$type *sa_len_ptr;
sa_len_ptr = &sa.sa_len;
-sa_len_ptr++; /* use to avoid warning/error */],
+(*sa_len_ptr)++; /* use to avoid warning/error */],
[AC_DEFINE_UNQUOTED(sa_len_type, [$type], [sa_len type])
sa_len_type_found=t
break])
@@ -636,6 +638,7 @@
in_port_t, in_addr_t],
, ,
[
+#include <stdint.h>
#include <sys/types.h>
#include <netinet/in.h>
])