summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2017-04-26 10:27:42 +0200
committerAndreas Rumpf <rumpf_a@web.de>2017-04-26 10:27:42 +0200
commit7b1568d19c565f8ce411eb37fe0d0032c6e0c93c (patch)
tree81b87b5c9bf03de458b174a422e5fce38b7e114d /compiler
parent1aede6d31136b7932c1e144e0476ff8dd96ecb1f (diff)
downloadNim-7b1568d19c565f8ce411eb37fe0d0032c6e0c93c.tar.gz
make -d:nimdiff feature more robust
Diffstat (limited to 'compiler')
-rw-r--r--compiler/cgen.nim7
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/cgen.nim b/compiler/cgen.nim
index fd15d0793..b27d9cbce 100644
--- a/compiler/cgen.nim
+++ b/compiler/cgen.nim
@@ -1315,8 +1315,11 @@ proc shouldRecompile(code: Rope, cfile: Cfile): bool =
   if optForceFullMake notin gGlobalOptions:
     if not equalsFile(code, cfile.cname):
       if isDefined("nimdiff"):
-        copyFile(cfile.cname, cfile.cname & ".backup")
-        echo "diff ", cfile.cname, ".backup ", cfile.cname
+        if fileExists(cfile.cname):
+          copyFile(cfile.cname, cfile.cname & ".backup")
+          echo "diff ", cfile.cname, ".backup ", cfile.cname
+        else:
+          echo "new file ", cfile.cname
       writeRope(code, cfile.cname)
       return
     if existsFile(cfile.obj) and os.fileNewer(cfile.obj, cfile.cname):