ports/lang/guile2/files/patch-libguile_gen-scmconfig.c
Andrew "RhodiumToad" Gierth 85fe592a0c lang/guile[23]: prefer long over long long for scm_off_t
When long and long long are both the same size as off_t, prefer long
for scm_off_t even though it should make no difference, because llvm16
seems to consider them distinct types as arguments in function pointer
types. Also it seems cleaner.

fixes mailutils with GUILE=on on llvm16 on amd64.

Fixes:		94218d3a91
PR:		260960
2023-08-09 15:01:14 +02:00

21 lines
685 B
C

--- libguile/gen-scmconfig.c.orig 2016-06-17 09:37:10 UTC
+++ libguile/gen-scmconfig.c
@@ -138,6 +138,7 @@
#include <libguile/gen-scmconfig.h>
+#define _ANSI_SOURCE
#include <stdio.h>
#include <string.h>
@@ -382,6 +383,10 @@ main (int argc, char *argv[])
pf ("typedef int scm_t_off;\n");
pf ("#define SCM_T_OFF_MAX INT_MAX\n");
pf ("#define SCM_T_OFF_MIN INT_MIN\n");
+#elif SIZEOF_OFF_T == SIZEOF_LONG_LONG && SIZEOF_OFF_T != SIZEOF_LONG
+ pf ("typedef long long int scm_t_off;\n");
+ pf ("#define SCM_T_OFF_MAX LLONG_MAX\n");
+ pf ("#define SCM_T_OFF_MIN LLONG_MIN\n");
#else
pf ("typedef long int scm_t_off;\n");
pf ("#define SCM_T_OFF_MAX LONG_MAX\n");