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:".
I've reported this issue already here: http://d.puremagic.com/issues/show_bug.cgi?id=1356
Fixed dmd 1.023 and 2.007
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル