From 2782e885915e5405f878517358370255aea9488d Mon Sep 17 00:00:00 2001 From: Araq Date: Sat, 16 Mar 2013 20:07:36 +0100 Subject: fixes #323 --- compiler/c2nim/cparse.nim | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'compiler/c2nim/cparse.nim') diff --git a/compiler/c2nim/cparse.nim b/compiler/c2nim/cparse.nim index 9f7a7bf36..b964ed976 100755 --- a/compiler/c2nim/cparse.nim +++ b/compiler/c2nim/cparse.nim @@ -955,15 +955,22 @@ proc enumSpecifier(p: var TParser): PNode = result = newNodeP(nkConstSection, p) getTok(p, result) var i = 0 + var hasUnknown = false while true: var name = skipIdentExport(p) var val: PNode if p.tok.xkind == pxAsgn: getTok(p, name) val = constantExpression(p) - if val.kind == nkIntLit: i = int(val.intVal)+1 - else: parMessage(p, errXExpected, "int literal") + if val.kind == nkIntLit: + i = int(val.intVal)+1 + hasUnknown = false + else: + hasUnknown = true else: + if hasUnknown: + parMessage(p, warnUser, "computed const value may be wrong: " & + name.renderTree) val = newIntNodeP(nkIntLit, i, p) inc(i) var c = createConst(name, ast.emptyNode, val, p) -- cgit 1.4.1-2-gfad0