From f98352a49800b5b8536af49af3bcee0ca6b54a44 Mon Sep 17 00:00:00 2001 From: Araq Date: Tue, 2 Oct 2018 15:49:30 +0200 Subject: [PATCH] compiler: fixes path generation for .line pragma --- compiler/pragmas.nim | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/compiler/pragmas.nim b/compiler/pragmas.nim index 94790440f5..31c24effe5 100644 --- a/compiler/pragmas.nim +++ b/compiler/pragmas.nim @@ -601,11 +601,15 @@ proc pragmaLine(c: PContext, n: PNode) = if c.config.projectPath.isEmpty: n.info.fileIndex = fileInfoIdx(c.config, AbsoluteFile(x.strVal)) else: - # XXX this is still suspicous: - let dir = toFullPath(c.config, n.info).splitFile.dir - let rel = if isAbsolute(x.strVal): relativeTo(AbsoluteFile(x.strVal), c.config.projectPath) - else: RelativeFile(x.strVal) - n.info.fileIndex = fileInfoIdx(c.config, AbsoluteDir(dir) / rel) + when false: + # XXX this is still suspicous: + let dir = toFullPath(c.config, n.info).splitFile.dir + let rel = if isAbsolute(x.strVal): relativeTo(AbsoluteFile(x.strVal), c.config.projectPath) + else: RelativeFile(x.strVal) + n.info.fileIndex = fileInfoIdx(c.config, AbsoluteDir(dir) / rel) + else: + n.info.fileIndex = fileInfoIdx(c.config, AbsoluteFile toFullPath(c.config, n.info)) + n.info.line = uint16(y.intVal) else: localError(c.config, n.info, "tuple expected")