[LUGOS-PROG] gcc

Ales Kosir ales.kosir at hermes.si
Mon Dec 8 08:42:53 CET 2003


 "It is not defined in the C standard whether the increment should take
place before or after the assignment, in fact the entire result is
undefined."

Lep pozdrav,
Ales

-----Original Message-----
From: Ivan Gužvinec [mailto:ivan.guzvinec at telemach.net] 
Sent: 8. december 2003 6:40
To: lugos-prog at lugos.si
Subject: Re: [LUGOS-PROG] gcc

aja... mea culpa
narobe dojel, kaj bi rad naredil.

zdj se mi nekako zdi smiselno, da bi pricakoval, da se ti dd poveca po
vsakem prirejanju, tako da probaj se s kako drugo verzijo gccja (2.x
recimo) in primerjaj rezultate. ce ti prevede enako, potem je velika
verjetnost, da ni bug ampak feature.

ti je dani primer ze delal tako kot pricakujes na kaki drugi verziji gccja?

lp,
Ivan

On Mon, 2003-12-08 at 06:12, Ivan Gužvinec wrote:
> Meni se zdi cisto pravilno delovanje "post-increment" operatorja.
> V tvojem stavku si ga uporabil 3x... ergo, izvedel se bo trikrat in 
> inkrementiral variablo za 3.
> 
> uporabi ga samo enkrat.
> recimo:
>     dall = (d1=*dd) + (d2=*dd) + (d3=*dd++);
> 
> lp,
> Ivan
> 
> On Mon, 2003-12-08 at 01:15, igor wrote: 
> > Razocaran sem nad gcc-jem (verzija 3.2.2 na RH9).
> > 
> > Stavek
> > 
> > dall = (d1=*dd++) + (d2=*dd++) + (d3=*dd++);
> > 
> > mi ne prevede v skladu z mojimi pricakovanji - ignorira oklepaje.
> > Mislim, da  ga prevede kot
> > d1=*d; d2=*d; d3=*d; dall=d1+d2+d3; d++; d++; d++;
> > 
> > (Jaz pa bi seveda rad, da naredi
> > d1=*d++; d2=*d++; d3=*d++; dall=d1+d2+d3; )
> > 
> > Po mojem mnenju je to hrosc v gcc-ju.
> > Preden prijavim/prijavimo hrosca me zanima se vase mnenje.
> > 
> > LP, igor
> > 
> > 
> > 
> > 



More information about the lugos-prog mailing list