diff --git a/koch.nim b/koch.nim index 7059e87a587c9..8ce61a21a9cf9 100644 --- a/koch.nim +++ b/koch.nim @@ -286,11 +286,13 @@ proc boot(args: string) = copyExe(findStartNim(), 0.thVersion) for i in 0..2: echo "iteration: ", i+1 - let extraOption = if i == 0: - "--skipUserCfg" + var extraOption = "" + if i == 0: + extraOption.add " --skipUserCfg" # forward compatibility: for bootstrap (1st iteration), avoid user flags # that could break things, see #10030 - else: "" + extraOption.add " -d:nimBoostrapCsources0_19_0" + # remove this when csources get updated exec i.thVersion & " $# $# $# --nimcache:$# compiler" / "nim.nim" % [bootOptions, extraOption, args, smartNimcache] if sameFileContent(output, i.thVersion): diff --git a/lib/system.nim b/lib/system.nim index fb52ee9eb2132..28fb37e4dcf85 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -569,7 +569,12 @@ type trace: string else: trace: seq[StackTraceEntry] - raiseId: uint # set when exception is raised + when defined(nimBoostrapCsources0_19_0): + # see #10315, bootstrap with `nim cpp` from csources gave error: + # error: no member named 'raise_id' in 'Exception' + raiseId: uint # set when exception is raised + else: + raiseId: uint # set when exception is raised up: ref Exception # used for stacking exceptions. Not exported! Defect* = object of Exception ## \