Hi Larry (mostly) et al, this sounds like something STD could try to steal:
* <http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html> > Okay, this may be going a bit far, but how else are you going > to fall completely in love with a compiler? > > $ cat t.c > void f0() { > <<<<<<< HEAD > int x; > ======= > int y; > >>>>>>> whatever > } > $ clang t.c > t.c:2:1: error: version control conflict marker in file > <<<<<<< HEAD > ^ > $ gcc t.c > t.c: In function ‘f0’: > t.c:2: error: expected expression before ‘<<’ token > t.c:4: error: expected expression before ‘==’ token > t.c:6: error: expected expression before ‘>>’ token > > Yep, clang actually detects the merge conflict and parses one > side of the conflict. You don't want to get tons of nonsense > from your compiler on such a simple error, do you? As I understood it from a YAPC keynote a year or two ago, STD already has the speculative parse machinery in place. It seems like this should be implementable with reasonable effort? Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/>