Henrik Bach
2004-Aug-17 22:45 UTC
[LLVMdev] tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, line 114
Hi Chris>From: Chris Lattner <sabre at nondot.org> >Date: Fri, 13 Aug 2004 16:23:53 -0500 (CDT) > >On Fri, 13 Aug 2004, Henrik Bach wrote: > > > I got this error: > > ------------------------------- > > gmake[3]: Entering directory `/usr/local/src/llvm/lib/Target/X86' > > Building X86.td register information header with tblgen > > tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, >line > > 114 > > gmake[3]: *** [X86GenRegisterInfo.h.inc] Abort trap (core dumped) > > gmake[3]: Leaving directory `/usr/local/src/llvm/lib/Target/X86' > > gmake[2]: *** [all] Error 1 > > gmake[2]: Leaving directory `/usr/local/src/llvm/lib/Target' > > gmake[1]: *** [Target/.makeall] Error 2 > > gmake[1]: Leaving directory `/usr/local/src/llvm/lib' > > gmake: *** [all] Error 1 > > ------------------------------- > >I have no idea off hand, but it looks like your version of flex is doing >something funny. Can you go into the debugger, and find out what is in >"Buffer" and what "Length" is? >I think I've found the error: The Buffer contains: include "../Target.td" and length is 23. The file that tablegen is looking for is therefore: "../Target.td". However, in the assertion you assert an empty buffer and that is not what you want, I suppose. If you change line 114 to != instead ==, then the assertion doesn't fail. The next problem, on my system (Interix - you remember - Hey, some LLVM program is working :O ), is however, that it cannot find the ../Target.td file. At the moment I see some more bugs luring ahead in the TableGen code. More on that later. /Henrik>-Chris > >-- >http://llvm.cs.uiuc.edu/ >http://nondot.org/sabre/ > >_______________________________________________ >LLVM Developers mailing list >LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev_________________________________________________________________ Opret en gratis Hotmail-konto http://www.hotmail.com med udsigt til 250 MB lagerkapacitet
Chris Lattner
2004-Aug-18 02:39 UTC
[LLVMdev] tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, line 114
On Wed, 18 Aug 2004, Henrik Bach wrote:> I think I've found the error: > > The Buffer contains: include "../Target.td" and length is 23. > The file that tablegen is looking for is therefore: "../Target.td". > > However, in the assertion you assert an empty buffer and that is not what > you want, I suppose. If you change line 114 to != instead ==, then the > assertion doesn't fail.No, that can't be right. The regex being used is: include[ \t\n]+\"[^"]*\" Given that, the buffer you pasted makes perfect sense, but the length (which comes from yylen) should be 22, not 23. Because yylen is 22, tblgen is inspecting the char past the ", thus the assertion. Changing the assertion papers over the problem, leading to this problem:> The next problem, on my system (Interix - you remember - Hey, some LLVM > program is working :O ), is however, that it cannot find the ../Target.td > file. At the moment I see some more bugs luring ahead in the TableGen code. > More on that later.I'm sure this is because you hacked the assertion, but didn't fix the problem. The question is: why is an extra char being included at the end of the buffer? -Chris -- http://llvm.org/ http://nondot.org/sabre/
Misha Brukman
2004-Aug-18 03:09 UTC
[LLVMdev] tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, line 114
On Tue, Aug 17, 2004 at 09:39:23PM -0500, Chris Lattner wrote:> > The next problem, on my system (Interix - you remember - Hey, some > > LLVM program is working :O ), is however, that it cannot find the > > ../Target.td file. At the moment I see some more bugs luring ahead > > in the TableGen code. More on that later. > > I'm sure this is because you hacked the assertion, but didn't fix the > problem. The question is: why is an extra char being included at the > end of the buffer?Does Windows-style double-char line terminator have anything to do with it? -- Misha Brukman :: http://misha.brukman.net :: http://llvm.cs.uiuc.edu
Possibly Parallel Threads
- [LLVMdev] tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, line 114
- [LLVMdev] tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, line 114
- [LLVMdev] tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, line 114
- [LLVMdev] tblgen: Assertion failed: "Buffer[Length-1] == '"'", file FileLexer.l, line 114
- [LLVMdev] POSIX compliance