[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> I thought I noticed a message relating to the Windows port of Allegro
> compiled with icc a few days ago but I can't find it now.
Yes, dated 02/23 in the "GCC 3.4" thread.
> Anyway, what I wanted to say is related to the Linux port of Allegro.
> I tried compiling Allegro (the C-only version, obviously) using the Intel
> compiler (version 8.0) a few weeks ago. I get a lot of warnings about the
> order of operations being undefined (I assume that has to do with code
> ordering, but I haven't looked into that) but it compiles fine otherwise.
Interesting. Could you post one example of code that triggers the warning?
> However, I was unable to do benchmark tests using the test program since
> all text output appeared as a vertical line of black pixels. I did a quick
> test and recompiled the C only version with gcc 3.3.1 and the problem
> didn't show up there. I haven't had time to narrow it down further.
Did you try to compile without optimization?
> There is also a problem compiling a program that #includes the allegro.h
> header file with icc. The Intel compiler #defines the symbols __i386__ and
> __GNUC__, making Allegro assuem it is ok to use inline asm - which is in
> AT&T syntax and obviously doesn't work with the Intel compiler.
Yes, this is a shame.
> Some preprocessor trickery should take care of that though (the Intel
> compiler defines the symbol __INTEL_COMPILER, so the inline asm code could
> probably be wrapped in #if defined __i386__ && !defined __INTEL_COMPILER).
> I could probably submet a patch later today if wanted, though it may be
> better to wait until after the 4.1.13 release.
I'm leaning towards rejecting such a patch on the ground that it is perfectly
correct and we should not try to endorse the unacceptable behaviour of ICC.
--
Eric Botcazou