bug#41467: Compiling extensions using Guile 3.0.2 headers doesn't work with clang without -std=c11

Vadim Zeitlin <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
 Hello,

 I'm am not sure how useful this is because I don't know anything about
Guile, but I contribute to the SWIG project which generates Guile bindings
among other things and I noticed that one of the CI builds started failing
since the upgrade from 2.2.7 to 3.0.2 version due to the errors like this:

---------------------------------- >8 --------------------------------------
In file included from example_wrap.c:739:
In file included from /usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile.h:35:
In file included from /usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/array-handle.h:27:
In file included from /usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/numbers.h:29:
/usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/print.h:79:3: error: redefinition of typedef 'scm_print_state' is a C11 feature [-Werror,-Wtypedef-redefinition]
} scm_print_state;
  ^
/usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/scm.h:824:32: note: previous definition is here
typedef struct scm_print_state scm_print_state;
                               ^
In file included from example_wrap.c:739:
In file included from /usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile.h:38:
In file included from /usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/async.h:25:
In file included from /usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/threads.h:27:
/usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/dynstack.h:37:3: error: redefinition of typedef 'scm_t_dynstack' is a C11 feature [-Werror,-Wtypedef-redefinition]
} scm_t_dynstack;
  ^
/usr/local/Cellar/guile/3.0.2/include/guile/3.0/libguile/scm.h:825:29: note: previous definition is here
typedef struct scm_dynstack scm_t_dynstack;
                            ^
---------------------------------- >8 --------------------------------------

(see e.g. https://travis-ci.org/github/swig/swig/jobs/683649601 for the
actual build output).

 We're going to work around this in SWIG by adding -std=c11 to the compiler
options, but it would probably be better to avoid this problem without it
too, unless Guile really requires C11.

 Best regards,
VZ
signature.asc (application/pgp-signature, 196 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)

iEYEABECAAYFAl7IORgACgkQBupB3k9sHobAaACeNgeBuOzsYM8t5i2KfyKRc0aM
EYwAmgJFXhNfKUdYxtnCRPFeZ8fBbBar
=bfgA
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.