Re: [AD] Allegro on icc

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


> For instance:
>
> ./src/colblend.c(901): remark #981: operands are evaluated in unspecified
> order
>      return BLEND(15, 255 - ((255 - getr15(x)) * (255 - getr15(y))) / 256,
>             ^

Clueless.  Maybe a false positive.

> I also get a lot of these:
>
> ./src/colblend.c(938): remark #424: extra ";" ignored
>   SET_BLENDER_FUNC(trans);

This is a valid ISO C90 warning (-ansi -pedantic is required with GCC).

> and I also get a lot of these:
>
> ./src/dispsw.c(442): warning #556: a value of type "void *" cannot be
> assigned to an entity of type "void (*)(struct BITMAP *)"
>         info->other->vtable->release = info->release;

Same as above.

> icc is actually a C++ compiler,  which may explain some of these warnings.
> It should treat C files as C files though, not as C++ files so I think
> that warning is actually a case ofthecompiler being over pedantic.

It seems to be stricter than GCC in default mode.

> I hadn't tried. Interesingly enough, the complaints about unspecified
> order of operator evaluation don't appear, confirming that these are
> indeed related to the optimizer. I did, however, now notice the following
> warning:
>
> ./src/font.c(32): warning #1368: excess initializers are ignored
>   static FONT_GLYPH f_0x20 = { 8, 8, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> 0x00, 0x00 } };
>
> Recompiling only that file with gcc the issue and produces the correct
> output. I'll recompile with full optimizations and build the font.c file
> with gcc (and the same optimization switches as for icc) and post some
> timing tests (there's no automatic benchmark testing, is there?) in a
> moment.

Might be related to the __GNUC__ issue.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/