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


Reply via email to