Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Ticket #125 (new defect)

Opened 10 years ago

Descent hangs on things that would normally hang the compiler

Reported by: fraserofthenight Assigned to:
Priority: major Component: descent.core
Version: Keywords:
Cc:

Description

On tasks that hang the compiler, Descent also hangs, consuming a lot of CPU power and becoming unresponsive.

For example, add the following to a module: const char[] c = hang();

char[] hang() {

while(true) { } return "hello";

}

Since this is an IDE, becoming unresponsive is not an option. A possible workaround (I'll look into this) is to surround certain parts of the compiler (maybe just the interpreter) with a timeout, and if compilation is taking too long return some sort of sentinel for the parts whose semantic failed.