2009/11/29 Ludovic Courtès <l...@gnu.org>: > Hi, > > Linas Vepstas <linasveps...@gmail.com> writes: > >> --- libguile/tags.h.orig 2009-11-28 19:18:36.000000000 -0600 >> +++ libguile/tags.h 2009-11-28 19:18:52.000000000 -0600 >> @@ -110,7 +110,7 @@ >> /* This is the default, which provides an intermediate level of compile time >> * type checking while still resulting in very efficient code. >> */ >> - typedef struct { char scm_unused_field; } * SCM; >> + typedef struct ___stuff___ { char scm_unused_field; } * SCM; > > There must be something else because this is exactly the same as in 1.8 > and 1.9.4 and Lilypond compiles with these.
Well, no, If I look at 1.8.7 I see the following in tags.h: typedef struct scm_unused_struct * SCM; or typedef scm_t_bits SCM; The struct is clearly named in this case. I did not look at 1.9.4. I provided a very short sample program that elicits the bug .. you can play with it. Running gcc -E on it quickly revealed what was happening. --linas