Guile 2.0.9 still has problems.  Extracted from the current build log:

    gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I.. -I../autoopts 
-D_FORTIFY_SOURCE=2 \
         -pthread -I/usr/include/guile/2.0   -g -O2 -fstack-protector \
         --param=ssp-buffer-size=4 -Wformat -Werror=format-security \
         -Wall -Wno-format-contains-nul -c -o autogen-ag.o \
         `test -f 'ag.c' || echo './'`ag.c
    In file included from /usr/include/guile/2.0/libguile/array-handle.h:28:0,
                 from /usr/include/guile/2.0/libguile.h:34,
                 from autogen.h:60,
                 from ag.c:7:
    /usr/include/guile/2.0/libguile/error.h:40:24: error: expected ')' before 
'__attribute__'
    /usr/include/guile/2.0/libguile/error.h:40:24: error: expected ',' or ';' 
before ')' token

and then from error.h (I had to download a copy):

     39 SCM_API void scm_error (SCM key, const char *subr, const char *message,
     40                         SCM args, SCM rest) SCM_NORETURN;

and finally, __scm.h:

     79 #ifdef __GNUC__
     80 #define SCM_NORETURN __attribute__ ((noreturn))
     81 #else
     82 #define SCM_NORETURN
     83 #endif

I've added a script called, "fix-guile.sh" that is _supposed_ to
replace "((noreturn))" with "((__noreturn__))" and stash the
result locally.  I am not able to tell what happens in your build.
I need to use the gl_STDNORETURN_H macro from gnulib.  That module
winds up creating a #define for noreturn thus:

    #ifndef noreturn
    #if 1200 <= _MSC_VER
    # define noreturn /*empty*/
    #else
    # define noreturn _Noreturn
    #endif
    #endif /* noreturn */

There are two fixes:

1. find out why __scm.h is not fixed (It is supposed to be...)

2. get a more recent Guile that uses __noreturn__ instead of noreturn.
   (Guile 2.0.11 fixes the noreturn problem.)


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to