diff options
Diffstat (limited to 'compiler/semstmts.nim')
-rwxr-xr-x | compiler/semstmts.nim | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index d68d0da1a..74ebae204 100755 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -892,13 +892,12 @@ proc evalInclude(c: PContext, n: PNode): PNode = addSon(result, n) for i in countup(0, sonsLen(n) - 1): var f = checkModuleName(n.sons[i]) - if f.len > 0: - var fileIndex = f.fileInfoIdx - if ContainsOrIncl(c.includedFiles, fileIndex): - LocalError(n.info, errRecursiveDependencyX, f.extractFilename) + if f != InvalidFileIDX: + if ContainsOrIncl(c.includedFiles, f): + LocalError(n.info, errRecursiveDependencyX, f.toFilename) else: - addSon(result, semStmt(c, gIncludeFile(f))) - Excl(c.includedFiles, fileIndex) + addSon(result, semStmt(c, gIncludeFile(c.module, f))) + Excl(c.includedFiles, f) proc setLine(n: PNode, info: TLineInfo) = for i in 0 .. <safeLen(n): setLine(n.sons[i], info) |