Fix CI, drop 0.19.6 support

This commit is contained in:
Ganesh Viswanathan 2020-01-09 17:50:09 -06:00
commit b1a56279ff
10 changed files with 30 additions and 58 deletions

View file

@ -10,14 +10,12 @@ addons:
language: c
env:
- BRANCH=0.19.6
- BRANCH=0.20.2
- BRANCH=1.0.4
- BRANCH=devel
cache:
directories:
- "$HOME/.choosenim/toolchains/nim-0.19.6"
- "$HOME/.choosenim/toolchains/nim-0.20.2"
- "$HOME/.choosenim/toolchains/nim-1.0.4"

View file

@ -9,7 +9,6 @@ matrix:
environment:
matrix:
- NIM_VERSION: 0.19.6
- NIM_VERSION: 0.20.2
- NIM_VERSION: 1.0.4

View file

@ -4,4 +4,4 @@ Module that should import everything so that `nim doc --project nimtero/all` run
# TODO: make sure it does import everything.
import "."/[cimport, build, types, plugin, compat]
import "."/[cimport, build, types, plugin]

View file

@ -4,7 +4,7 @@ import compiler/[ast, astalgo, idents, options, renderer]
import "."/treesitter/api
import "."/[compat, globals, getters]
import "."/[globals, getters]
proc addConst(nimState: NimState, node: TSNode) =
# #define X Y
@ -137,7 +137,7 @@ proc newArrayTree(nimState: NimState, node: TSNode, typ, size: PNode): PNode =
proc getTypeArray(nimState: NimState, node: TSNode): PNode
proc getTypeProc(nimState: NimState, name: string, node: TSNode): PNode
proc newIdentDefs(nimState: NimState, name: string, node: TSNode, offset: uint64, exported = false): PNode =
proc newIdentDefs(nimState: NimState, name: string, node: TSNode, offset: SomeInteger, exported = false): PNode =
# Create nkIdentDefs tree for specified proc parameter or object field
#
# For proc, param should not be exported

View file

@ -2,8 +2,6 @@ import hashes, macros, osproc, sets, strformat, strutils, tables
import os except findExe, sleep
import "."/[compat]
proc sanitizePath*(path: string, noQuote = false, sep = $DirSep): string =
result = path.multiReplace([("\\\\", sep), ("\\", sep), ("/", sep)])
if not noQuote:
@ -648,7 +646,7 @@ proc getGccPaths*(mode = "c"): seq[string] =
break
if inc:
var
path = line.strip().myNormalizedPath()
path = line.strip().normalizedPath()
if path notin result:
result.add path
@ -667,13 +665,13 @@ proc getGccLibPaths*(mode = "c"): seq[string] =
if "LIBRARY_PATH=" in line:
for path in line[13 .. ^1].split(PathSep):
var
path = path.strip().myNormalizedPath()
path = path.strip().normalizedPath()
if path notin result:
result.add path
break
elif '\t' in line:
var
path = line.strip().myNormalizedPath()
path = line.strip().normalizedPath()
if path notin result:
result.add path

View file

@ -21,7 +21,7 @@ const CIMPORT {.used.} = 1
include "."/globals
import "."/[build, compat, paths, types]
import "."/[build, paths, types]
export types
proc interpPath(dir: string): string=

View file

@ -1,22 +1,18 @@
import macros, strformat
when (NimMajor, NimMinor, NimPatch) >= (0, 19, 9):
from os import parentDir, getCurrentCompilerExe, DirSep
proc getNimRootDir(): string =
#[
hack, but works
alternatively (but more complex), use (from a nim file, not nims otherwise
you get Error: ambiguous call; both system.fileExists):
import "$nim/testament/lib/stdtest/specialpaths.nim"
nimRootDir
]#
fmt"{currentSourcePath}".parentDir.parentDir.parentDir
else:
proc getCurrentCompilerExe*(): string =
"nim"
from os import parentDir, getCurrentCompilerExe, DirSep
proc getNimRootDir(): string =
#[
hack, but works
alternatively (but more complex), use (from a nim file, not nims otherwise
you get Error: ambiguous call; both system.fileExists):
import "$nim/testament/lib/stdtest/specialpaths.nim"
nimRootDir
]#
fmt"{currentSourcePath}".parentDir.parentDir.parentDir
const
DirSep = when defined(windows): '\\' else: '/'
const
DirSep = when defined(windows): '\\' else: '/'
proc execAction(cmd: string): string =
var
@ -80,4 +76,4 @@ proc buildDocs*(files: openArray[string], path: string, baseDir = getProjectPath
for i in 0 .. paramCount():
if paramStr(i) == "--publish":
echo execAction(&"cd {path} && ghp-import --no-jekyll -fp {path}")
break
break

View file

@ -4,7 +4,7 @@ import regex
import compiler/[ast, idents, lineinfos, msgs, pathutils, renderer]
import "."/[build, compat, globals, plugin, treesitter/api]
import "."/[build, globals, plugin, treesitter/api]
const gReserved = """
addr and as asm
@ -236,11 +236,11 @@ proc getLit*(str: string): PNode =
proc isNil*(node: TSNode): bool =
node.tsNodeIsNull()
proc len*(node: TSNode): uint =
proc len*(node: TSNode): int =
if not node.isNil:
result = node.tsNodeNamedChildCount().uint
result = node.tsNodeNamedChildCount().int
proc `[]`*(node: TSNode, i: BiggestUInt): TSNode =
proc `[]`*(node: TSNode, i: SomeInteger): TSNode =
if i < node.len():
result = node.tsNodeNamedChild(i.uint32)
@ -652,6 +652,6 @@ proc loadPlugin*(gState: State, sourcePath: string) =
proc expandSymlinkAbs*(path: string): string =
try:
result = path.expandSymlink().absolutePath(path.parentDir()).myNormalizedPath()
result = path.expandSymlink().absolutePath(path.parentDir()).normalizedPath()
except:
result = path

View file

@ -2,7 +2,7 @@ import os, osproc, strformat, strutils, times
import "."/treesitter/[api, c, cpp]
import "."/[ast2, compat, globals, getters]
import "."/[ast2, globals, getters]
proc process(gState: State, path: string) =
doAssert existsFile(path), &"Invalid path {path}"

View file

@ -1,26 +1,7 @@
# see https://github.com/nimterop/nimterop/issues/79
when (NimMajor, NimMinor, NimPatch) < (0, 19, 9):
# clean this up once upgraded; adapted from std/time_t
when defined(nimdoc):
type
impl = distinct int64
Time = impl
elif defined(windows):
when defined(i386) and defined(gcc):
type Time {.importc: "time_t", header: "<time.h>".} = distinct int32
else:
type Time {.importc: "time_t", header: "<time.h>".} = distinct int64
elif defined(posix):
import posix
type
time_t* = Time
time64_t* = Time
else:
import std/time_t as time_t_temp
type
time_t* = time_t_temp.Time
time64_t* = time_t_temp.Time
import std/time_t as time_t_temp
type
time_t* = time_t_temp.Time
time64_t* = time_t_temp.Time
when defined(cpp):
# http://www.cplusplus.com/reference/cwchar/wchar_t/