mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-27 19:06:31 +00:00
fixed #96 as good as technically possible (debug frames are allocated on the C stack)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user