Thread overview
[Issue 1613] New: DMD hangs on syntax error
Oct 25, 2007
d-bugmail
Oct 25, 2007
d-bugmail
Nov 02, 2007
d-bugmail
Nov 04, 2007
d-bugmail
October 25, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1613

           Summary: DMD hangs on syntax error
           Product: D
           Version: 1.022
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: minor
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: ary@esperanto.org.ar


Compiling this piece of code:

--
int x = {
--

makes dmd's parser loop inifitenly, consuming the machine's memory. It also happens in 1.020.

Although no one would ever write such a code, if the parser is ported and used for an IDE, it may freeze the IDE (I found it in Descent). There, it's very normal if the user stops typing at "{".

Fix: in parser.d, Parser::parseInitializer, after the first loop after "braces = 1;", in the swich of the loop add a "case TOKeof:" which breaks out of the for (I'm seeing a goto there :-P). A "break" must also be added in the next while(1) loop, also in a new "case TOKeof:".


-- 

October 25, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1613


matti.niemenmaa+dbugzilla@iki.fi changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|minor                       |normal
           Keywords|                            |ice-on-invalid-code, patch
         OS/Version|Windows                     |All
           Platform|PC                          |All
            Version|1.022                       |1.020




-- 

November 02, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1613





------- Comment #1 from aziz.kerim@gmail.com  2007-11-02 15:56 -------
I've reported this issue already here: http://d.puremagic.com/issues/show_bug.cgi?id=1356


-- 

November 04, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1613


bugzilla@digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #2 from bugzilla@digitalmars.com  2007-11-03 21:50 -------
Fixed dmd 1.023 and 2.007


--