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: Neil Jerram
Subject: Re: Intel icc finds too many errors in guile 1.8.8 to compile
Date: Fri, 02 Oct 2009 22:21:48 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

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

> Hello all,
> did anyone try to compile the guile codes with another compiler but the gcc?
> When I tried to use the icc, I got
> gen-scmconfig.c(257): error #279: controlling expression is constant
>     if (SCM_I_GSC_C_INLINE)
>         ^
>
> gen-scmconfig.c(321): error #279: controlling expression is constant
>     if (SCM_I_GSC_T_INT64)
>         ^
>
> gen-scmconfig.c(333): error #279: controlling expression is constant
>     if (SCM_I_GSC_T_UINT64)

Presumably that only happens with an option like -Werror?

If so, the solution is not to use that option.

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

> I get a lot of remarks that
>
>  operands are evaluated in unspecified order
>
> and
> remark #193: zero used for undefined preprocessing identifier
> "HAVE_SYS_STDTYPES_H"
>  (for example)

In general I would say that those remarks don't matter.  Are there any
that you think indicate actual problems?

> but finally I came to a compiler error which I could not correct:
>
> eval.c(4114): error #589: transfer of control bypasses initialization of:
>             variable "orig_sym" (declared at line 4038)
>        goto handle_a_macro;

Do you still see this?  Looking at the code now, there are no labels
between where orig_sym is declared and initialized, and where it's used;
so I can't see a problem.

> And just for eval.c I get about 700 remarks like
> eval.c(6021): remark #981: operands are evaluated in unspecified order
>       return SCM_I_XEVAL (x, env);
>              ^
> (which is the last one)

As above, I doubt that any of these are real problems.  If you want to
clean up your icc build, can you disable those remarks?

Regards,
        Neil




reply via email to

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