This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..." (Richard Kenner) writes:

> > > > Note that -fwrapv also _enables_ some transformations on signed
> > > > integers that are disabled otherwise.  We for example constant fold
> > > > -CST for -fwrapv while we do not if signed overflow is undefined.
> > > > Would you change those?
> > > 
> > > I don't understand the rationale for not wrapping constant folding when
> > > signed overflow is undefined: what's the harm in "defining" it as wrapping
> > > for that purpose?  If it's undefined, then why does it matter what we
> > > fold it to?  So we might as well fold it to what traditional code expects.
> > 
> > If flag_wrapv is false, we can't do any optimization which may
> > introduce signed overflow when it did not already exist.  
> But how would that happen here?  If we constant-fold something that would
> have overflowed by wrapping, we are ELIMINATING a signed overflow, not
> INTRODUCING one.  Or do I misunderstand what folding we're talking about here? is what led to the patch.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]