diff options
author | Araq <rumpf_a@web.de> | 2013-08-30 22:47:14 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2013-08-30 22:47:14 +0200 |
commit | 4d9b2f671ad1c8109c8478c9a78e05e25def5f78 (patch) | |
tree | 5b5c5cec62749430c9adb1525c9ad138dab2db9b | |
parent | cf689f7472241fed99ec5678b8c483f206d0f6e4 (diff) | |
download | Nim-4d9b2f671ad1c8109c8478c9a78e05e25def5f78.tar.gz |
fixes #578
-rw-r--r-- | compiler/magicsys.nim | 2 | ||||
-rw-r--r-- | compiler/semstmts.nim | 2 | ||||
-rw-r--r-- | tests/reject/texprstmt.nim | 12 | ||||
-rw-r--r-- | tools/niminst/niminst.nim | 22 |
4 files changed, 25 insertions, 13 deletions
diff --git a/compiler/magicsys.nim b/compiler/magicsys.nim index 88ae2cb12..0c0b87222 100644 --- a/compiler/magicsys.nim +++ b/compiler/magicsys.nim @@ -74,7 +74,7 @@ proc getSysType(kind: TTypeKind): PType = of tyUInt64: result = sysTypeFromName("uint64") of tyFloat: result = sysTypeFromName("float") of tyFloat32: result = sysTypeFromName("float32") - of tyFloat64: result = sysTypeFromName("float64") + of tyFloat64: return sysTypeFromName("float64") of tyFloat128: result = sysTypeFromName("float128") of tyBool: result = sysTypeFromName("bool") of tyChar: result = sysTypeFromName("char") diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index a15b3e10a..0ee950faf 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -1205,7 +1205,7 @@ proc semStmtList(c: PContext, n: PNode): PNode = if n.sons[i].typ == EnforceVoidContext or usesResult(n.sons[i]): voidContext = true n.typ = EnforceVoidContext - elif i != last or voidContext: + if i != last or voidContext: discardCheck(n.sons[i]) else: n.typ = n.sons[i].typ diff --git a/tests/reject/texprstmt.nim b/tests/reject/texprstmt.nim new file mode 100644 index 000000000..b32394d8d --- /dev/null +++ b/tests/reject/texprstmt.nim @@ -0,0 +1,12 @@ +discard """ + line: 10 + errormsg: "value returned by statement has to be discarded" +""" + +# bug #578 + +proc test: string = + result = "blah" + result[1 .. -1] + +echo test() diff --git a/tools/niminst/niminst.nim b/tools/niminst/niminst.nim index faad2fb15..4ee60f853 100644 --- a/tools/niminst/niminst.nim +++ b/tools/niminst/niminst.nim @@ -382,24 +382,24 @@ proc removeDuplicateFiles(c: var TConfigData) = for cpuB in 1..c.cpus.len: if osB != osA or cpuB != cpuA: var orig = buildDir(osB, cpuB) / f - if ExistsFile(orig) and ExistsFile(dup) and + if existsFile(orig) and existsFile(dup) and sameFileContent(orig, dup): # file is identical, so delete duplicate: - RemoveFile(dup) + removeFile(dup) c.cfiles[osA][cpuA][i] = orig proc writeInstallScripts(c: var TConfigData) = if c.installScript: - writeFile(installShFile, GenerateInstallScript(c), "\10") + writeFile(installShFile, generateInstallScript(c), "\10") if c.uninstallScript: - writeFile(deinstallShFile, GenerateDeinstallScript(c), "\10") + writeFile(deinstallShFile, generateDeinstallScript(c), "\10") proc srcdist(c: var TConfigData) = if not existsDir(getOutputDir(c) / "src"): createDir(getOutputDir(c) / "src") for x in walkFiles(c.libpath / "lib/*.h"): echo(getOutputDir(c) / "src" / extractFilename(x)) - CopyFile(dest=getOutputDir(c) / "src" / extractFilename(x), source=x) + copyFile(dest=getOutputDir(c) / "src" / extractFilename(x), source=x) for osA in 1..c.oses.len: for cpuA in 1..c.cpus.len: var dir = getOutputDir(c) / buildDir(osA, cpuA) @@ -417,18 +417,18 @@ proc srcdist(c: var TConfigData) = for i in 0 .. c.cfiles[osA][cpuA].len-1: let dest = dir / extractFilename(c.cfiles[osA][cpuA][i]) let relDest = buildDir(osA, cpuA) / extractFilename(c.cfiles[osA][cpuA][i]) - CopyFile(dest=dest, source=c.cfiles[osA][cpuA][i]) + copyFile(dest=dest, source=c.cfiles[osA][cpuA][i]) c.cfiles[osA][cpuA][i] = relDest # second pass: remove duplicate files removeDuplicateFiles(c) - writeFile(getOutputDir(c) / buildShFile, GenerateBuildShellScript(c), "\10") - writeFile(getOutputDir(c) / buildBatFile32, GenerateBuildBatchScript(c, tWin32), "\13\10") - writeFile(getOutputDir(c) / buildBatFile64, GenerateBuildBatchScript(c, tWin64), "\13\10") + writeFile(getOutputDir(c) / buildShFile, generateBuildShellScript(c), "\10") + writeFile(getOutputDir(c) / buildBatFile32, generateBuildBatchScript(c, tWin32), "\13\10") + writeFile(getOutputDir(c) / buildBatFile64, generateBuildBatchScript(c, tWin64), "\13\10") writeInstallScripts(c) # --------------------- generate inno setup ----------------------------------- proc setupDist(c: var TConfigData) = - var scrpt = GenerateInnoSetup(c) + var scrpt = generateInnoSetup(c) var n = "build" / "install_$#_$#.iss" % [toLower(c.name), c.version] writeFile(n, scrpt, "\13\10") when defined(windows): @@ -437,7 +437,7 @@ proc setupDist(c: var TConfigData) = var outcmd = if c.outdir.len == 0: "build" else: c.outdir var cmd = "$# $# /O$# $#" % [quoteIfContainsWhite(c.innoSetup.path), c.innoSetup.flags, outcmd, n] - Echo(cmd) + echo(cmd) if execShellCmd(cmd) == 0: removeFile(n) else: |