[PATCH]Incorrect TREE_OVERFLOW copying

Joseph S. Myers jsm@polyomino.org.uk
Mon Aug 16 18:08:00 GMT 2004


On Mon, 16 Aug 2004, Nathan Sidwell wrote:

> > This seems illustrative of the problems of TREE_OVERFLOW and
> > TREE_CONSTANT_OVERFLOW - I don't have much more confidence in the accuracy
> > of their settings or uses after this patch than before it - and as I've
> > noted I'd like to get rid of them, leaving front ends to receive and track 
> I think we're on the same page about that!

Well, I'd hope to be able to get rid of them but don't know when.  Are 
there any specific benefits of removing them with regard to sharing 
constants (i.e. a significant number of constants differing only in those 
flags) or are the benefits simply the general ones of getting rid of 
ill-defined and badly used flags?  (And are there any other flags used on 
INTEGER_CSTs?)

Unlike many features listed on my C99 roadmap for which the listed 
ordering is fairly arbitrary, for getting rid of the overflow flags there 
is a total ordering of dependencies:

(a) The next bit of the objc-improvements-branch merge.

(b) Conversion of C declarators away from trees (I have a patch, which 
depends on (a)).  Hopefully this might also show a small performance 
improvement.

(c) Further such conversions, e.g. of declaration specifiers (so that 
various flags can be tracked in the associated structures).

(d) Constant expressions reimplementation (the main present use of the 
overflow flags being to do a particular aspect of this, warning for 
overflow in constant expressions, being one aspect that actually works 
reasonably well at present), which causes overflow to be tracked 
separately according to a precise model.  This is not something I 
specifically propose as a feature for 3.5, although it would solve some 
current testsuite regressions, unless it should happen to be done by the 
end of Stage 2.

(e) At this point consequent various cleanups are possible, which don't 
depend on each other.  One is getting rid of overflow flags.

-- 
Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
    jsm@polyomino.org.uk (personal mail)
    jsm28@gcc.gnu.org (Bugzilla assignments and CCs)



More information about the Gcc-patches mailing list