On Thu, 26 Apr 2007 08:03:48 -0700 Jeff Cohen <[EMAIL PROTECTED]> wrote: >Reid Spencer wrote: >> On Thu, 26 Apr 2007 07:16:31 -0700 >> Jeff Cohen <[EMAIL PROTECTED]> wrote: >>> My nightly tester failed last night for the following reason: >>> >>> cvs update: conflicts found in lib/AsmParser/llvmAsmParser.cpp.cvs >>> C lib/AsmParser/llvmAsmParser.cpp.cvs >>> >>> >>> Needless to say, the tester is not in the business of modifying >>> source code, but it manages to modify a file under cvs control anyway >>> and do so in a way that conflicts with subsequent changes. >> >> The nightly tester doesn't do "update", only "checkout", so I'm >> not sure how you got this last night. Sure this didn't come from >> your wrapper script? >Yes, it came from my wrapper script, which updates the LLVM tree used to build >llvm-gcc. This is an unavoidable task in running the nightly tester unless I >want everything using C/C++ to fail.
Yes, I understand, but it is also incumbent upon your wrapper script to make sure it doesn't fail. Try removing the *.cvs files in utils/TableGen lib/AsmParser and tools/llvm-upgrade before you do the update. This should avoid the problem. To ensure your bison is used for the build, touch your .y files as well. >> >>> >>> The way bison files are managed needs to be fixed so that files under >>> cvs control do not change unless a human wants them to change. >> >> >> That is exactly the current situation. The problem is that >> someone checked in a new version of the .cvs file while you also >> had uncommitted changes (from running bison locally). > >No, that is not the current situation. No human wanted those files to change, >unless the mere act of building LLVM constitutes consent to modify files under >cvs control. In that case, why not have it auto-commit the changes as well? >Absurd? Exactly. > >> However, I agree in general that these files are awkward to deal >> with. There's only two solutions I can think of: (a) rewrite the >> parser to be recursive descent and avoid use of bison, or (b) >> require all platforms to have bison. Neither are attractive. > >Not true. I handle this with Visual Studio. Bison is not required, nor does >the act of running it alter a file under source control. It isn't hard to do. > Just don't modify the *.cvs files automatically. Have a separate makefile >target to do that. Will people sometimes forget to do that? Yes. And >someone will notice and point it out. And no one will have to deal with bogus >conflicts again, or have to prevent modified *.cvs files from being committed >when no changes were made to any *.y files, yet they got modified anyway. That's not a bad idea. You'll need to convince Chris, however :) > >> I'm interested because I'd like to fix this as part of the scons >> work. >> >> Reid. >> >> >> >> > _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits