Weird behaviour when using -release in dmd
Mikko Aarnos via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jun 6 03:10:24 PDT 2014
Hello all, I have a program which works perfectly when compiled
without -release:
parser "a implies b equivalent not b implies not a"
Input: ((a implies b) equivalent ((not b) implies (not a)))
CNF: (((((not a) or b) or (not b)) and (((not a) or b) or a)) and
(((b or (not a
)) or a) and ((b or (not a)) or (not b))))
Time(in ms) = 0
However, when I add -release, this happens:
parser "a implies b equivalent not b implies not a"
object.Error: assert(0) or HLT instruction
----------------
0x0040220C
0x0040208F
0x0040206B
0x00403AAF
0x004084C8
0x0040849B
0x004083B4
0x0040454B
0x74F0338A in BaseThreadInitThunk
0x774A9F72 in RtlInitializeExceptionChain
0x774A9F45 in RtlInitializeExceptionChain
Does anybody here have any idea what could cause this? The error
seems to happen in a completely innocent part of code without any
reason so I haven't the faintest idea what could cause it. I can
post the source code if necessary, it's not long (under 1000
lines including unit tests) but it's probably pretty hard to read
on some parts, mainly the parser.
-Mikko Aarnos
More information about the Digitalmars-d-learn
mailing list