fixed #96 as good as technically possible (debug frames are allocated on the C stack)

This commit is contained in:
Araq
2012-01-29 01:53:09 +01:00
parent 2dd0f8eeab
commit 9083f01fd2
3 changed files with 10 additions and 10 deletions

View File

@@ -35,12 +35,12 @@ proc reverse*[T](a: var openArray[T]) =
reverse(a, 0, a.high)
const
onlySafeCode = true
onlySafeCode = false
proc merge[T](a, b: var openArray[T], lo, m, hi: int,
cmp: proc (x, y: T): int, order: TSortOrder) =
template `<-` (a, b: expr) =
when true:
when false:
a = b
elif onlySafeCode:
shallowCopy(a, b)

View File

@@ -2129,16 +2129,16 @@ template assert*(cond: expr, msg = "") =
## Use ``assert`` for debugging purposes only.
bind raiseAssert, InstantiationInfo
when compileOption("assertions"):
if not cond:
{.line.}:
{.line.}:
if not cond:
raiseAssert(astToStr(cond) & ' ' & msg)
template doAssert*(cond: expr, msg = "") =
## same as `assert` but is always turned on and not affected by the
## ``--assertions`` command line switch.
bind raiseAssert, InstantiationInfo
if not cond:
{.line: InstantiationInfo().}:
{.line: InstantiationInfo().}:
if not cond:
raiseAssert(astToStr(cond) & ' ' & msg)