bugfixes; step one for 'var T' as return type support
This commit is contained in:
parent
e7135c449d
commit
2f066395ba
27 changed files with 234 additions and 68 deletions
|
|
@ -832,7 +832,7 @@ proc genAddr(p: var TProc, n: PNode, r: var TCompRes) =
|
|||
s = n.sons[0].sym
|
||||
if s.loc.r == nil: InternalError(n.info, "genAddr: 3")
|
||||
case s.kind
|
||||
of skVar:
|
||||
of skVar, skResult:
|
||||
if mapType(n.typ) == etyObject:
|
||||
# make addr() a no-op:
|
||||
r.kind = etyNone
|
||||
|
|
@ -863,7 +863,7 @@ proc genSym(p: var TProc, n: PNode, r: var TCompRes) =
|
|||
if s.loc.r == nil:
|
||||
InternalError(n.info, "symbol has no generated name: " & s.name.s)
|
||||
case s.kind
|
||||
of skVar, skParam, skTemp:
|
||||
of skVar, skParam, skTemp, skResult:
|
||||
var k = mapType(s.typ)
|
||||
if k == etyBaseIndex:
|
||||
r.kind = etyBaseIndex
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue