Lineinfo fix (#10871)

This commit is contained in:
Arne Döring
2019-03-21 06:54:42 +01:00
committed by Andreas Rumpf
parent 514674cb38
commit 3794338aba
3 changed files with 20 additions and 1 deletions

View File

@@ -20,6 +20,7 @@ proc hasNoInit(call: PNode): bool {.inline.} =
proc fixupCall(p: BProc, le, ri: PNode, d: var TLoc,
callee, params: Rope) =
genLineDir(p, ri)
var pl = callee & ~"(" & params
# getUniqueType() is too expensive here:
var typ = skipTypes(ri.sons[0].typ, abstractInst)

View File

@@ -2453,7 +2453,7 @@ proc expr(p: BProc, n: PNode, d: var TLoc) =
putIntoDest(p, d, n, genLiteral(p, n))
of nkCall, nkHiddenCallConv, nkInfix, nkPrefix, nkPostfix, nkCommand,
nkCallStrLit:
genLineDir(p, n)
genLineDir(p, n) # may be redundant, it is generated in fixupCall as well
let op = n.sons[0]
if n.typ.isNil:
# discard the value:

View File

@@ -0,0 +1,18 @@
discard """
outputsub: '''tcall_with_default_arg.nim(16) anotherFoo'''
exitcode: 1
"""
# issue: #5604
proc fail() =
raise newException(ValueError, "dead")
proc getDefault(): int = 123
proc bar*(arg1: int = getDefault()) =
fail()
proc anotherFoo(input: string) =
bar()
anotherFoo("123")