compiler: fixes path generation for .line pragma

This commit is contained in:
Araq 2018-10-02 15:49:30 +02:00
commit f98352a498

View file

@ -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")