mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-20 16:01:29 +00:00
more fixes
This commit is contained in:
@@ -114,10 +114,11 @@ proc createObj*(owner: PSym, info: TLineInfo): PType =
|
||||
rawAddSon(result, nil)
|
||||
incl result.flags, tfFinal
|
||||
result.n = newNodeI(nkRecList, info)
|
||||
let s = newSym(skType, getIdent("Env_" & info.toFilename & "_" & $info.line),
|
||||
owner, info)
|
||||
s.typ = result
|
||||
result.sym = s
|
||||
when false:
|
||||
let s = newSym(skType, getIdent("Env_" & info.toFilename & "_" & $info.line),
|
||||
owner, info)
|
||||
s.typ = result
|
||||
result.sym = s
|
||||
|
||||
proc rawAddField*(obj: PType; field: PSym) =
|
||||
assert field.kind == skField
|
||||
|
||||
@@ -217,6 +217,14 @@ when defined(debugSigHashes):
|
||||
|
||||
let db = open(connection="sighashes.db", user="araq", password="",
|
||||
database="sighashes")
|
||||
db.exec(sql"DROP TABLE IF EXISTS sighashes")
|
||||
db.exec sql"""CREATE TABLE sighashes(
|
||||
id integer primary key,
|
||||
hash varchar(5000) not null,
|
||||
type varchar(5000) not null,
|
||||
unique (hash, type))"""
|
||||
# select hash, type from sighashes where hash in
|
||||
# (select hash from sighashes group by hash having count(*) > 1) order by hash;
|
||||
|
||||
proc hashType*(t: PType; flags: set[ConsiderFlag] = {CoType}): SigHash =
|
||||
var c: MD5Context
|
||||
|
||||
@@ -461,7 +461,7 @@ proc rawNewObj(typ: PNimType, size: int, gch: var GcHeap): pointer =
|
||||
gcAssert(typ.kind in {tyRef, tyString, tySequence}, "newObj: 1")
|
||||
collectCT(gch)
|
||||
var res = cast[PCell](rawAlloc(gch.region, size + sizeof(Cell)))
|
||||
gcAssert typ.kind == tyString or size >= typ.base.size, "size too small"
|
||||
gcAssert typ.kind in {tyString, tySequence} or size >= typ.base.size, "size too small"
|
||||
gcAssert((cast[ByteAddress](res) and (MemAlign-1)) == 0, "newObj: 2")
|
||||
# now it is buffered in the ZCT
|
||||
res.typ = typ
|
||||
|
||||
Reference in New Issue
Block a user