D.gnu - slightly moronic gdc error: string template parameters plus unittest
I have the following line somewhere in my source. class database(RECORD) { //RECORD[] list; record!("name", char[])[] list; } Now, if I switch unittests on, gdc (0.23, MinGW 4.1.2) emits the following code: .stabs "record!("name",char[]) []:Tt(1,30)=s8length:(1,7),0,32;ptr:(1,31)=*(1,32)=xsrecord:,32,32;;",128,0,55,0 Note the "outer" '"'s and the "inner" '"'s. Unsurprisingly, the assembler barfs on this. -- still laughing, downs
Apr 04 2007
I wrote:I have the following line somewhere in my source. class database(RECORD) { //RECORD[] list; record!("name", char[])[] list; } Now, if I switch unittests onAlso seems to happen in debug mode. Basically, anything that makes gdc emit the stabs entry., gdc (0.23, MinGW 4.1.2) emits the following code: .stabs "record!("name",char[]) []:Tt(1,30)=s8length:(1,7),0,32;ptr:(1,31)=*(1,32)=xsrecord: 32,32;;",128,0,55,0 Note the "outer" '"'s and the "inner" '"'s. Unsurprisingly, the assembler barfs on this. -- still laughing, downs
Apr 05 2007
I wrote:I have the following line somewhere in my source. class database(RECORD) { //RECORD[] list; record!("name", char[])[] list; } Now, if I switch unittests on, gdc (0.23, MinGW 4.1.2) emits the following code: .stabs "record!("name",char[]) []:Tt(1,30)=s8length:(1,7),0,32;ptr:(1,31)=*(1,32)=xsrecord: 32,32;;",128,0,55,0 Note the "outer" '"'s and the "inner" '"'s. Unsurprisingly, the assembler barfs on this. -- still laughing, downsManually escaping the inside ""s in the .s file (.stabs "record!(\"name\" ... ") seems to make it work; maybe we should do that.
Apr 05 2007