Thread overview |
---|
January 09, 2007 [Issue 825] New: dmd segmentation fault with large char[] template value parameter | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=825 Summary: dmd segmentation fault with large char[] template value parameter Product: D Version: 1.00 Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: kamm@incasoftware.de void bug(char[] string)() { writefln(string); writefln(string.length); } void main() { bug!("12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012")(); // I think the argument has 452 characters.. } compiles. Add one more character to the template value argument, and the linker returns the error bug.d:(.gnu.linkonce.t_Dmain+0x4): undefined reference to `_D3bug925__T3bugVG453aa453_31323637383930313 ...snip... 23334353637383930313233Z3bugFZv' Add another character and dmd crashes with: semantic3 bug code bug function main function bug Segmentation fault This actually came up in practice when using BCS' template parser generator, which takes the gammar as a template value parameter. Complex grammars will easily exceed the 452 character limitation. -- |
January 09, 2007 [Issue 825] dmd segmentation fault with large char[] template value parameter | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=825 ------- Comment #1 from shro8822@uidaho.edu 2007-01-09 12:25 ------- You can sidestep the issue to some extent, I have updated the parser generator to do this. It basicly only uses the huge parameter in the mixin its self not the underlying template. http://www.webpages.uidaho.edu/~shro8822/dparse.d BTW I'm glad to see that dparse is being used, and would be interested in hearing about it. -- |
January 28, 2007 [Issue 825] dmd segmentation fault with large char[] template value parameter | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=825 bugzilla@digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from bugzilla@digitalmars.com 2007-01-27 18:56 ------- Fixed DMD 1.001 -- |
February 15, 2007 [Issue 825] dmd segmentation fault with large char[] template value parameter | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=825 ------- Comment #3 from thomas-dloop@kuehne.cn 2007-02-15 03:42 ------- Added to DStress as http://dstress.kuehne.cn/run/l/large_id_02_A.d http://dstress.kuehne.cn/run/l/large_id_02_B.d -- |
February 28, 2007 [Issue 825] dmd segmentation fault with large char[] template value parameter | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=825 thomas-dloop@kuehne.cn changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |funisher@gmail.com ------- Comment #4 from thomas-dloop@kuehne.cn 2007-02-27 18:36 ------- *** Bug 698 has been marked as a duplicate of this bug. *** -- |
Copyright © 1999-2021 by the D Language Foundation