bugfix: c2nim and pas2nim work again

This commit is contained in:
Araq
2012-09-26 02:22:22 +02:00
parent 92b0d64018
commit ca447be43e
3 changed files with 8 additions and 4 deletions

View File

@@ -923,8 +923,9 @@ proc declaration(p: var TParser): PNode =
addSon(pragmas, newIdentNodeP("cdecl", p))
elif pfStdcall in p.options.flags:
addSon(pragmas, newIdentNodeP("stdcall", p))
addSon(result, exportSym(p, name, origName), ast.emptyNode) # no generics
addSon(result, params, pragmas)
# no pattern, no exceptions:
addSon(result, exportSym(p, name, origName), ast.emptyNode, ast.emptyNode)
addSon(result, params, pragmas, ast.emptyNode) # no exceptions
case p.tok.xkind
of pxSemicolon:
getTok(p)

View File

@@ -15,7 +15,7 @@ const
defaultAsmMarkerSymbol* = '!'
VersionMajor* = 0
VersionMinor* = 9
VersionPatch* = 0
VersionPatch* = 1
VersionAsString* = $VersionMajor & "." & $VersionMinor & "." & $VersionPatch
RodFileVersion* = "1210" # modify this if the rod-format changes!

View File

@@ -1346,10 +1346,13 @@ proc parseRoutine(p: var TParser): PNode =
skipCom(p, result)
expectIdent(p)
addSon(result, identVis(p))
addSon(result, ast.emptyNode) # generic parameters
# patterns, generic parameters:
addSon(result, ast.emptyNode)
addSon(result, ast.emptyNode)
addSon(result, parseParamList(p))
opt(p, pxSemicolon)
addSon(result, parseRoutineSpecifiers(p, noBody))
addSon(result, ast.emptyNode)
if (p.section == seInterface) or noBody:
addSon(result, ast.emptyNode)
else: