Technique for finding regressions in the C++ parser

Janis Johnson janis187@us.ibm.com
Mon Dec 2 09:46:00 GMT 2002


On Sun, Dec 01, 2002 at 12:06:13AM -0500, Phil Edwards wrote:
> On Fri, Nov 29, 2002 at 09:34:16PM -0500, Craig Rodrigues wrote:
> > (2)  Check out gcc from the read-only CVS repository with the CVSROOT
> >      :pserver:anoncvs@subversions.gnu.org:/cvsroot/gcc
> >      (be kind to developers who use the read/write repository)
> >      according to the instructions at http://gcc.gnu.org/cvs.html
> [...]
> > You can repeat steps (2)-(4), but use the cvs co -D [DATE] to check out
> > a version of GCC from a different date.
> 
> If you plan on doing a lot of cvs commands, I recommend grabbing a subset
> of the repository itself.  Then do the checkout locally.  Subsequent CVS
> commands run with no waiting -- even kinder to the developers using the
> read/write repo.
> 
> Instructions at
> 
>     http://gcc.gnu.org/rsync.html
> 
> The first download is a PITA for slow connections.  (The 450MB mentioned
> on that page is outdated -- now that the freakin' gigantic Ada stuff is
> in the repo, it's about a gig, but you can pass --exclude='gcc/gcc/ada/'
> (note the trailing slash, and you'll need to exclude other directories too)
> to the rsync command.)
> 
> 
> > You can then do:
> > cvs diff -D [DATE1] -D [DATE2] [file] 
> > to find out what changes occured on a file or directory.
> 
> "cvs log -N" and "cvs annotate" are also very handy here.

Great stuff, both of you!

Phil, what other directories can be excluded for building just cc1plus,
or if only building C and C++ compilers and libraries?  Building only
cc1plus is fine for an ICE, but for many C++ bugs it's necessary to
build libstdc++ as well, since somethings a bug turns out to be there
when you (meaning, actually, someone like me who is easily surprised by
C++) expect it to be in the compiler.

I'll put something together for the web pages.

Janis



More information about the Gcc mailing list