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