On Tue, 2017-05-23 at 14:11 +0200, Jakub Jelinek wrote: > On Tue, May 23, 2017 at 06:48:15AM -0400, Aldy Hernandez wrote:
[...] > > --- /dev/null > > +++ b/gcc/range.h > > + > > +You should have received a copy of the GNU General Public License > > +along with GCC; see the file COPYING3. If not see > > +<http://www.gnu.org/licenses/>. */ > > + > > +#ifndef GCC_RANGE_H > > +#define GCC_RANGE_H > > +#define MAX_RANGES 6 > > + > > +typedef class irange *irange_p; > > +enum irange_type { RANGE_PLAIN, RANGE_INVERT }; The irange class needs a leading comment, which would go a long way to documenting the patch as a whole, I think (i.e. I'm not just nit -picking here :) ) > > +class GTY(()) irange > > +{ > > + private: > > + bool overflow; > > + size_t n; > > + void prepend (wide_int x, wide_int y); > > + void append (wide_int x, wide_int y); > > + void remove (unsigned i, unsigned j); > > + void canonicalize (); > > + /* This is stupid. These two should be private, but the GTY > > + machinery can't look inside an irange. */ > > + public: > > + tree type; > > + wide_int bounds[MAX_RANGES]; > > + > > +public: > ... > > + void Union (wide_int x, wide_int y); > > + bool Union (const irange &r); > > + bool Union (const irange &r1, const irange &r2); > > Do we really want methods starting with capital letters? > I understand why you can't use union, but I don't think we use > CamelCase > anywhere. FWIW in the JIT, I have a class switch_ (i.e. with a trailing underscore). Maybe we should use trailing underscores for names that clash with reserved words? Dave