bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Intel icc finds too many errors in guile 1.8.8 to compile


From: Ludovic Courtès
Subject: Re: Intel icc finds too many errors in guile 1.8.8 to compile
Date: Sat, 03 Oct 2009 11:43:05 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hi,

Neil Jerram <address@hidden> writes:

> "I.Gutheil" <address@hidden> writes:

[...]

>> debug.c(62): error #188: enumerated type mixed with another type
>>     scm_dynwind_begin (0);
>>
>> This could be "corrected" by declaring
>> in dynwind.h
>> SCM_API void scm_dynwind_begin (int) instead of the derived datatype
>> which could only be 1
>> and in dynwind.c
>>
>> void
>> scm_dynwind_begin (int flags)
>> ...
>
> Agreed; using enums here is just asking for trouble.  I've changed it to
> #defines.

Per C99 Section 6.4.4.3, “an identifier declared as an enumeration
constant has type int”, so ICC is pedantic.

I think having disjoint ‘scm_t_wind_flags’ and ‘scm_t_dynwind_flags’
types was helpful to indicate which flags are valid for which function.
Thus, I’d rather have fixed it by adding a named enumeration constant
for 0 in each of these types.

At any rate, I think we should probably keep “typedef int
scm_t_wind_flags;” and “typedef int scm_t_dynwind_flags”.

What do you think?

Thanks,
Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]