diff options
author | Araq <rumpf_a@web.de> | 2011-03-10 22:12:39 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-03-10 22:12:39 +0100 |
commit | 0fee9f9924cbbb6b18191d9c731542feac1ac682 (patch) | |
tree | 854ddff3dbfe11a5c1e5b30596209b546cac300f | |
parent | 6fdb0f034ecd0bffddcc56ccf6fc1e97d073b806 (diff) | |
download | Nim-0fee9f9924cbbb6b18191d9c731542feac1ac682.tar.gz |
always compile with at least O1; bugfix set initialization for interactive mode
-rwxr-xr-x | config/nimrod.cfg | 12 | ||||
-rwxr-xr-x | rod/cgen.nim | 9 | ||||
-rwxr-xr-x | rod/evals.nim | 2 |
3 files changed, 18 insertions, 5 deletions
diff --git a/config/nimrod.cfg b/config/nimrod.cfg index 6ae5049d0..f45be780a 100755 --- a/config/nimrod.cfg +++ b/config/nimrod.cfg @@ -74,9 +74,17 @@ icc.options.linker = "-cxxlib" @end gcc.options.debug = "-g" @if macosx: - gcc.options.always = "-w -fasm-blocks" + @if not release: + gcc.options.always = "-w -fasm-blocks -O1" + @else: + gcc.options.always = "-w -fasm-blocks" + @end @else: - gcc.options.always = "-w" + @if not release: + gcc.options.always = "-w -O1" + @else: + gcc.options.always = "-w" + @end @end gcc.options.speed = "-O3 -fno-strict-aliasing" gcc.options.size = "-Os" diff --git a/rod/cgen.nim b/rod/cgen.nim index 13b96c19b..f13f5991a 100755 --- a/rod/cgen.nim +++ b/rod/cgen.nim @@ -11,7 +11,8 @@ # than the old one. It also generates better code. import - ast, astalgo, strutils, nhashes, trees, platform, magicsys, extccomp, options, + ast, astalgo, strutils, nhashes, trees, platform, magicsys, extccomp, + options, nversion, nimsets, msgs, crc, bitsets, idents, lists, types, ccgutils, os, times, ropes, math, passes, rodread, wordrecg, rnimsyn, treetab, cgmeth, rodutils @@ -42,7 +43,8 @@ type cfsTypeInit3, # section 3 for init of type information cfsDebugInit, # section for init of debug information cfsDynLibInit, # section for init of dynamic library binding - cfsDynLibDeinit # section for deinitialization of dynamic libraries + cfsDynLibDeinit # section for deinitialization of dynamic + # libraries TCTypeKind = enum # describes the type kind of a C type ctVoid, ctChar, ctBool, ctUInt, ctUInt8, ctUInt16, ctUInt32, ctUInt64, ctInt, ctInt8, ctInt16, ctInt32, ctInt64, ctFloat, ctFloat32, ctFloat64, @@ -225,7 +227,8 @@ proc ropecg(m: BModule, frmt: TFormatStr, args: openarray[PRope]): PRope = if i - 1 >= start: app(result, copy(frmt, start, i - 1)) -proc appcg(m: BModule, c: var PRope, frmt: TFormatStr, args: openarray[PRope]) = +proc appcg(m: BModule, c: var PRope, frmt: TFormatStr, + args: openarray[PRope]) = app(c, ropecg(m, frmt, args)) diff --git a/rod/evals.nim b/rod/evals.nim index d5e8cf3d0..37e080d44 100755 --- a/rod/evals.nim +++ b/rod/evals.nim @@ -244,6 +244,8 @@ proc getNullValue(typ: PType, info: TLineInfo): PNode = addSon(p, newSymNode(field, info)) addSon(p, getNullValue(t.sons[i], info)) addSon(result, p) + of tySet: + result = newNodeIT(nkCurly, info, t) else: InternalError("getNullValue") proc evalVar(c: PEvalContext, n: PNode): PNode = |