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

Sevan Janiyan <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,
Redefinitions are part of C11 and compilers which support C11 and 
default to C11 mode would have masked the issue which is why we are 
here. Because of the redefinitions, it is not possible to build Guile 
with older compilers which only support C99.
I hit this issue attempting to build Guile 3.0.9 with GCC 4.0.1.
The first error being
   CC       libgnu_la-regex.lo
In file included from ../libguile/threads.h:27,
                  from glthread/lock.h:27,
                  from regex_internal.h:56,
                  from regex.c:71:
../libguile/dynstack.h:37: error: redefinition of typedef 'scm_t_dynstack'
../libguile/scm.h:825: error: previous declaration of 'scm_t_dynstack' 
was here
In file included from ../libguile/smob.h:28,
                  from ../libguile/threads.h:29,
                  from glthread/lock.h:27,
                  from regex_internal.h:56,
                  from regex.c:71:
../libguile/print.h:79: error: redefinition of typedef 'scm_print_state'
../libguile/scm.h:824: error: previous declaration of 'scm_print_state' 
was here
make[4]: *** [libgnu_la-regex.lo] Error 1

There's more issues after addressing these. I will follow up with a 
patch of what I took out for the build to succeed (not necessarily 
correct but to highlight where the issues are).


Sevan
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.