gcc 2.8.1 on sun SunOS 5.5.1 Generic_103640-31 sun4u sparc SUNW,Ultra-Enterprise
Sam Steingold
sds@gnu.org
Mon Jan 31 12:12:00 GMT 2000
The appended file produces different output when compiled with gcc and
when compiled with sun cc:
$ gcc gcc-bug.c ; ./a.out
On the first dhy of Christmhs my true love ghve to me
h phrtridge in h pehr tree.
On the second dhy of Christmhs my true love ghve to me
two turtle doves
hnd h phrtridge in h pehr tree.
On the third dhy of Christmhs my true love ghve to me
three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the fourth dhy of Christmhs my true love ghve to me
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the fifth dhy of Christmhs my true love ghve to me
five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the sixth dhy of Christmhs my true love ghve to me
six geese h-lhying, five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the seventh dhy of Christmhs my true love ghve to me
sevean swhns h-swimming,
six geese h-lhying, five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the eigth dhy of Christmhs my true love ghve to me
eight mhids h-milking, sevean swhns h-swimming,
six geese h-lhying, five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the ninth dhy of Christmhs my true love ghve to me
nine lhdies dhncing, eight mhids h-milking, sevean swhns h-swimming,
six geese h-lhying, five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the tenth dhy of Christmhs my true love ghve to me
ten lords h-lehping,
nine lhdies dhncing, eight mhids h-milking, sevean swhns h-swimming,
six geese h-lhying, five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the eleventh dhy of Christmhs my true love ghve to me
eleven pipers piping, ten lords h-lehping,
nine lhdies dhncing, eight mhids h-milking, sevean swhns h-swimming,
six geese h-lhying, five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
On the twelfth dhy of Christmhs my true love ghve to me
twelve drummers drumming, eleven pipers piping, ten lords h-lehping,
nine lhdies dhncing, eight mhids h-milking, sevean swhns h-swimming,
six geese h-lhying, five gold rings;
four chlling birds, three french hens, two turtle doves
hnd h phrtridge in h pehr tree.
$ cc gcc-bug.c ; ./a.out
"gcc-bug.c", line 63: warning: character constant too long
"gcc-bug.c", line 63: warning: character constant too long
On the first day of Christmas my true love gave to me
a partridge in a pear tree.
On the second day of Christmas my true love gave to me
two turtle doves
and a partridge in a pear tree.
On the third day of Christmas my true love gave to me
three french hens, two turtle doves
and a partridge in a pear tree.
On the fourth day of Christmas my true love gave to me
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the fifth day of Christmas my true love gave to me
five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the sixth day of Christmas my true love gave to me
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the seventh day of Christmas my true love gave to me
sevean swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the eigth day of Christmas my true love gave to me
eight maids a-milking, sevean swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the ninth day of Christmas my true love gave to me
nine ladies dancing, eight maids a-milking, sevean swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the tenth day of Christmas my true love gave to me
ten lords a-leaping,
nine ladies dancing, eight maids a-milking, sevean swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the eleventh day of Christmas my true love gave to me
eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, sevean swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the twelfth day of Christmas my true love gave to me
twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, sevean swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
----
the gcc-conpiled version seems to replace "a" with "h".
-------------------------------------------------------------
#include <stdio.h>
#define putcharx(a) ((a==0)?putchar('a'):putchar(a))
/* #define putcharx(a) (putchar(a)) */
main(t, _, a)
char
*
a;
{
return !
0 < t ?
t < 3 ?
main(-79, -13, a +
main(-87, 1 - _,
main(-86, 0, a + 1)
+ a)) :
1,
t < _ ?
main(t + 1, _, a)
: 3,
main(-94, -27 + t, a)
&& t == 2 ? _
< 13 ?
main(2, _ + 1, "%s %d %d\n")
: 9 : 16 :
t < 0 ?
t < -72 ?
main(_, t,
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#;\
\
#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/+k#;\
q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!/n{n#'; \
r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\n\
\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;\
{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:
t < -50 ?
_ == *a ?
putcharx(31[a]) :
main(-65, _, a + 1)
:
main((*a == '/') + t, _, a + 1)
:
0 < t ?
main(2, 2, "%s")
: *a == '/' ||
main(0,
main(-61, *a, "!ek;dc\n\
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry")
,a + 1);
}
More information about the Gcc-bugs
mailing list