For Instance: in xine-lib:
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include
-I../../include -I../../src -I../../src/xine-engine
-I../../src/xine-engine -I../../src/xine-utils -I../../src/input
-I../../src/input -I../../lib -I/usr/X11R6/include -mtune=pentiumpro
-O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-loops=4
-falign-jumps=4 -mpreferred-stack-boundary=2 -fexpensive-optimizations
-fschedule-insns2 -fno-strict-aliasing -ffast-math -funroll-loops
-finline-functions -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64
-DXINE_COMPILE -Wnested-externs -Wcast-align -Wchar-subscripts
-Wmissing-declarations -Wmissing-prototypes -MT color.lo -MD -MP -MF
.deps/color.Tpo -c color.c -fPIC -DPIC -o .libs/color.o
color.c: In function 'vscale_chroma_line':
color.c:498: error: invalid lvalue in increment
color.c:499: error: invalid lvalue in increment
make[3]: *** [color.lo] Error 1
make[3]: Leaving directory
`/home/casimiro/Softwares/Multimedia/xine/xine-lib-1.0/src/xine-utils'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/casimiro/Softwares/Multimedia/xine/xine-lib-1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/home/casimiro/Softwares/Multimedia/xine/xine-lib-1.0'
make: *** [all] Error 2
caused by:
for (x=0; x < (width / 4); x++) {
n1 = *(((unsigned int *) src1)++);
n2 = *(((unsigned int *) src2)++);
n3 = (n1 & 0xFF00FF00) >> 8;
n4 = (n2 & 0xFF00FF00) >> 8;
n1 &= 0x00FF00FF;
n2 &= 0x00FF00FF;
and that doesn't seem to be ´lazy code´...
Other example: while compiling libquicktime...
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/quicktime
-I../../include -
I../../include/ -DMMX -O3 -funroll-all-loops -fomit-frame-pointer
-falign-loops=
2 -falign-jumps=2 -falign-functions=2 -finline-functions -Wall -Winline
-march=p
entium -O3 -funroll-all-loops -fomit-frame-pointer -falign-loops=2
-falign-jumps
=2 -falign-functions=2 -finline-functions -Wall -Winline -MT RTjpeg.lo
-MD -MP -
MF .deps/RTjpeg.Tpo -c RTjpeg.c -fPIC -DPIC -o .libs/RTjpeg.o
In file included from RTjpeg.c:40:
RTjpeg.h:99: warning: 'packed' attribute ignored
RTjpeg.c: In function 'RTjpeg_b2s':
RTjpeg.c:101: error: invalid lvalue in
assignment
RTjpeg.c: In function 'RTjpeg_compressYUV420':
RTjpeg.c:2503: warning: pointer targets in initialization differ in
signedness
RTjpeg.c:2505: warning: pointer targets in initialization differ in
signedness
RTjpeg.c:2506: warning: pointer targets in initialization differ in
signedness
RTjpeg.c:2518: warning: pointer targets in passing argument 2 of
'RTjpeg_dctY' d
iffer in signedness
while the corresponding code is:
(uint8_t)strm[0]=(uint8_t)(data[RTjpeg_ZZ[0]]>254) ?
254:((data[RTjpeg_ZZ[0]]<0)?0:data[RTjpeg_ZZ[0]]);
And if I ´translate the code' to:
/* (uint8_t)strm[0]=(uint8_t)(data[RTjpeg_ZZ[0]]>254) ?
254:((data[RTjpeg_ZZ[0]]<0)?0:data[RTjpeg_ZZ[0]]); */
if (data[RTjpeg_ZZ[0]] > 254) {
strm[0]=(uint8_t)254;
} else {
if (data[RTjpeg_ZZ[0]]<0) {
strm[0]=(uint8_t)0;
} else {
strm[0]=(uint8_t)data[RTjpeg_ZZ[0]];
}
}
What happens is:
tmp/cc6v1FnN.s: Assembler messages:
/tmp/cc6v1FnN.s:1746: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1752: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1754: Error: suffix or operands invalid for `movq'
/tmp/cc6v1FnN.s:1756: Error: suffix or operands invalid for `movq'
/tmp/cc6v1FnN.s:1774: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1780: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1786: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:1788: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:1796: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1798: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:1805: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1809: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:1826: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1832: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:1834: Error: suffix or operands invalid for `movq'
/tmp/cc6v1FnN.s:1836: Error: suffix or operands invalid for `movq'
/tmp/cc6v1FnN.s:1844: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:1846: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1852: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1854: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:1864: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1870: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1872: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:1878: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:1932: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1935: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:1941: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1944: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:1949: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1956: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:1959: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:1962: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2030: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:2036: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:2042: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:2044: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:2052: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:2054: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:2061: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:2065: Error: suffix or operands invalid for `punpckhwd'
/tmp/cc6v1FnN.s:2082: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:2088: Error: suffix or operands invalid for `punpcklwd'
/tmp/cc6v1FnN.s:2090: Error: suffix or operands invalid for `movq'
/tmp/cc6v1FnN.s:2092: Error: suffix or operands invalid for `movq'
/tmp/cc6v1FnN.s:2100: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2102: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2108: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2110: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2120: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2126: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2128: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2134: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2188: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2191: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2197: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2200: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2205: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2212: Error: suffix or operands invalid for `paddw'
/tmp/cc6v1FnN.s:2215: Error: suffix or operands invalid for `psubw'
/tmp/cc6v1FnN.s:2218: Error: suffix or operands invalid for `psubw'
make: *** [RTjpeg.lo] Error 1
The same happens in several pieces of code. In some cases we have
problems with asm in temp files created by gcc.
I don't think that upgrading is a bad idea, but I do think that
pointing
problems asap is healthier than pretending everithing is OK. I also
dont despise the efforts of people who's pushing gcc to release 4.
Regards,
Casimiro
The same
Arjan van de Ven wrote:
On Fri, 2005-04-15 at 21:07 -0300, Casimiro de Almeida Barreto wrote:
Hello,
Today I concluded migration from FC3 to FC4 rc2. Besides
upgrading 610 packages I discovered that gcc is screwed:
problems in asm and several other bugs make the compiler
unusable for any practical purpose.
you give absolutely no concrete information to support your statement.
Please provide at least 2 or 3 examples to support what you say.
(if you don't nobody will take your argument serious; just look at that
lilo-vs-grub thread recently).
I don't want to think that you are playing the roll of troll on this
mailing list and give you a chance to correct the first impression many
will get out of your original mail; however you should be aware that the
style of your posting sort of smells as if you are just trolling the
mainling list here.
--
=======================================================================
As informações contidas nesta mensagem são confidenciais e endereçadas
somente ao destinatário acima especificado. Se você receber esta
mensagem por erro, favor notificar o originador imediatamente. Fica,
desde já, notificado de que o uso, divulgação, cópia ou alteração
desautorizada desta mensagem são estritamente proibidos e passÃveis de
sanções legais civeis e criminais.
Este e-mail deve estar digitalmente assinado utilizando assinatura
GNUPG. Caso a assinatura esteja corrompida, favor notificar o
originador imediatamente, pois isto pode indicar que a mensagem foi
lida ou corrompida por terceiros.
=======================================================================
The information contained in this message is confidential and intended
to the recipients specified in the headers. If you received this message
by error, notify the originator immediately. The unauthorized use,
disclosure, copy or alteration of this message are strictly forbidden
and subjected to civil and criminal sanctions.
This e-mail must be digitally signed using GNUPG signature. Should the
signature be corrupted, please notify the sender immediately for that
may imply that the message was read or tampered by unauthorized people.