This is the mail archive of the gcc-patches@gcc.gnu.org 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]

Re: CVS Problem: java/parse.c and java/parse-scan.c deleted


On Sep  6, 2001, "John David Anglin" <dave@hiauly1.hia.nrc.ca> wrote:

>> * I check out fresh from CVS
>> * I build the code, which creates parse.c and parse-scan.c
>> * I update some time later, and somebody changed parse.y in the meantime
>> 
>> ==> Uh oh.  `gcc_update' touches `parse.c'.  That isn't the right
>> thing -- I'll never see the changes to parse.y.

> That's correct but you have added `parse.c' to your source tree.  It is
> clearly dangerous to use the same directory for checkouts and building.
> It could be argued that the above behaviour is in fact correct.  It is
> consistent with the treatment of generated files that are in the CVS.

Except that generated files are supposed to be checked in too, so your
update will get them and all you have to do is to check their relative
timestamps are correct, which is what gcc_update does.  However, if we
add files that are not in CVS to gcc_update, we'll run into problems
because they just shoudln't be there.

If gcc_update were to do anything about generated files no in CVS, my
suggestion is that it should remove them if it finds they're not newer
than their dependencies.  But since this would add more duplication
(dependencies have to be maintained both in Makefiles and in
gcc_update, and they have to be kept in sync), I'd rather not do it,
since it's not necessary for correctness.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me


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