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