fixes recently introduced regression

This commit is contained in:
Andreas Rumpf 2016-12-21 12:15:47 +01:00
commit 22ce05ef16

View file

@ -732,11 +732,9 @@ proc genProcNoForward(m: BModule, prc: PSym) =
# dependency to a compilerproc: # dependency to a compilerproc:
discard cgsym(m, prc.name.s) discard cgsym(m, prc.name.s)
return return
if sfImportc in prc.flags: if lfNoDecl in prc.loc.flags:
fillProcLoc(m, prc) fillProcLoc(m, prc)
if lfHeader in prc.loc.flags:
useHeader(m, prc) useHeader(m, prc)
elif lfNoDecl notin prc.loc.flags:
genProcPrototype(m, prc) genProcPrototype(m, prc)
elif prc.typ.callConv == ccInline: elif prc.typ.callConv == ccInline:
# We add inline procs to the calling module to enable C based inlining. # We add inline procs to the calling module to enable C based inlining.
@ -762,13 +760,17 @@ proc genProcNoForward(m: BModule, prc: PSym) =
symInDynamicLib(q, prc) symInDynamicLib(q, prc)
else: else:
symInDynamicLibPartial(m, prc) symInDynamicLibPartial(m, prc)
else: elif sfImportc notin prc.flags:
var q = findPendingModule(m, prc) var q = findPendingModule(m, prc)
fillProcLoc(q, prc) fillProcLoc(q, prc)
useHeader(m, prc) useHeader(m, prc)
genProcPrototype(m, prc) genProcPrototype(m, prc)
if q != nil and not containsOrIncl(q.declaredThings, prc.id): if q != nil and not containsOrIncl(q.declaredThings, prc.id):
genProcAux(q, prc) genProcAux(q, prc)
else:
fillProcLoc(m, prc)
useHeader(m, prc)
if sfInfixCall notin prc.flags: genProcPrototype(m, prc)
proc requestConstImpl(p: BProc, sym: PSym) = proc requestConstImpl(p: BProc, sym: PSym) =
var m = p.module var m = p.module