Comments (8)
related to #22852
from nim.
!nim c
proc foo() =
for _ in @[1, 3, 5]:
discard "abcde"[25..<10]
break
echo "Passed"
when isMainModule:
foo()
from nim.
!nim c --gc:refc
proc foo() =
for _ in @[1, 3, 5]:
discard "abcde"[25..<10]
break
echo "Passed"
when isMainModule:
foo()
from nim.
It seems to be an issue of goto exception
from nim.
Removing the break
hides the issue.
The diff between the two generated codes is illuminating. Without the break
, the flow jumps much farther to BeforeRet_
and the unitialized value isn't dereferenced at all.
from nim.
!nim c
proc foo() =
for _ in @[1, 3, 5]:
discard "abcde"[25..<10]
break
echo "Passed"
when isMainModule:
foo()
from nim.
🐧 Linux bisect by @ringabout (member)
devel 👎 FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
Traceback (most recent call last)
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Segmentation fault (core dumped)
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp'
assertions.nim(34) raiseAssert
Error: unhandled exception: errGenerated [AssertionDefect]
IR
Compiled filesize98.38 Kb (100,736 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA;
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA {
NI a;
NI b;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NimStringV2, X5BX5D___temp_u91)(NimStringV2 s_p0, tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA x_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2413)(NimStringV2* s_p0);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4608)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA, dotdot___temp_u34)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u128)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u254)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_6 = { 5 | NIM_STRLIT_FLAG, "abcde" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_7 = {5, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_6};
static const struct {
NI cap; NIM_CHAR data[147+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_8 = { 147 | NIM_STRLIT_FLAG, "/home/runner/.choosenim/toolchains/nim-#devel/lib/system/iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_9 = {147, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_8};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_11 = { 6 | NIM_STRLIT_FLAG, "Passed" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_10 = {{6, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_11}}
;
extern NIM_THREADVAR TFrame* framePtr__system_u2688;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4392;
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = ((NI)((*(*s_p0).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
if (!T3_) goto LA5_;
nimPrepareStrMutationImpl__system_u2413(s_p0);
}
LA5_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u2688 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u2688).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u2688;
framePtr__system_u2688 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4608();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u2688 = (*framePtr__system_u2688).prev;
}
static N_INLINE(NimStringV2, X5BX5D___temp_u91)(NimStringV2 s_p0, tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA x_p1) {
NimStringV2 result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-#devel/lib/system/indices.nim");
{ a = x_p1.a;
if (nimSubInt(x_p1.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); goto BeforeRet_;
};
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto BeforeRet_;
};
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI)0) || (L) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
}
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= result.len){ raiseIndexError2(i,result.len-1); goto BeforeRet_;
}
nimPrepareStrMutationV2((&result));
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); goto BeforeRet_;
};
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= s_p0.len){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),s_p0.len-1); goto BeforeRet_;
}
result.p->data[i] = s_p0.p->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); goto BeforeRet_;
};
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA, dotdot___temp_u34)(NI a_p0, NI b_p1) {
tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-#devel/lib/system.nim");
result.a = a_p0;
result.b = b_p1;
popFrame();
return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4392);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void) {
NIM_BOOL* nimErr_;
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
{
tySequence__qwqHTkRvwhrRyENtudHQ7g colontmp_;
NI* _;
NI i;
NI L;
NI T3_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
_ = (NI*)0;
colontmp_.len = 3; colontmp_.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(3, sizeof(NI), NIM_ALIGNOF(NI));
colontmp_.p->data[0] = ((NI)1);
colontmp_.p->data[1] = ((NI)3);
colontmp_.p->data[2] = ((NI)5);
i = ((NI)0);
T3_ = colontmp_.len;
L = T3_;
{
while (1) {
NimStringV2 colontmpD_;
tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA T7_;
if (!(i < L)) goto LA5;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
if (i < 0 || i >= colontmp_.len){ raiseIndexError2(i,colontmp_.len-1); goto LA6_;
}
_ = (&colontmp_.p->data[i]);
T7_ = dotdot___temp_u34(((NI)25), ((NI)9));
colontmpD_ = X5BX5D___temp_u91(TM__SRd76hP9cMfCzdUO857UhQQ_7, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
(void)(colontmpD_);
if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
eqdestroy___temp_u128(colontmp_);
goto LA1;
i += ((NI)1);
{
NI T10_;
T10_ = colontmp_.len;
if (!!((T10_ == L))) goto LA11_;
failedAssertImpl__stdZassertions_u254(TM__SRd76hP9cMfCzdUO857UhQQ_9);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA11_: ;
{
LA6_:;
}
{
if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
} LA5: ;
}
{
LA2_:;
}
{
eqdestroy___temp_u128(colontmp_);
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_10, 1);
}BeforeRet_: ;
popFrame();
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
#if 0
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 0
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
(*inner)();
#else
PreMain();
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
foo__temp_u1();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
Stats
- Started
2024-03-25T02:44:57
- Finished
2024-03-25T02:44:58
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
stable 👎 FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
Traceback (most recent call last)
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Segmentation fault (core dumped)
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp'
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize96.27 Kb (98,576 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ;
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ {
NI a;
NI b;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NimStringV2, X5BX5D___temp_u93)(NimStringV2 s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2440)(NimStringV2* s_p0);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4621)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u36)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u130)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u310)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_6 = { 5 | NIM_STRLIT_FLAG, "abcde" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_7 = {5, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_6};
static const struct {
NI cap; NIM_CHAR data[146+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_9 = { 146 | NIM_STRLIT_FLAG, "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/iterators.nim(246, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_10 = {146, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_9};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_12 = { 6 | NIM_STRLIT_FLAG, "Passed" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_11 = {{6, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_12}}
;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4403;
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = ((NI)((*(*s_p0).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
if (!T3_) goto LA5_;
nimPrepareStrMutationImpl__system_u2440(s_p0);
}
LA5_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4020 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4020).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4020;
framePtr__system_u4020 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4621();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4020 = (*framePtr__system_u4020).prev;
}
static N_INLINE(NimStringV2, X5BX5D___temp_u93)(NimStringV2 s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1) {
NimStringV2 result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/indices.nim");
{ a = x_p1.a;
if (nimSubInt(x_p1.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); goto BeforeRet_;
};
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto BeforeRet_;
};
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI)0) || (L) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
}
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= result.len){ raiseIndexError2(i,result.len-1); goto BeforeRet_;
}
nimPrepareStrMutationV2((&result));
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); goto BeforeRet_;
};
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= s_p0.len){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),s_p0.len-1); goto BeforeRet_;
}
result.p->data[i] = s_p0.p->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); goto BeforeRet_;
};
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u36)(NI a_p0, NI b_p1) {
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system.nim");
result.a = a_p0;
result.b = b_p1;
popFrame();
return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4403);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void) {
NIM_BOOL* nimErr_;
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
{
tySequence__qwqHTkRvwhrRyENtudHQ7g colontmp_;
NI* _;
NI i;
NI L;
NI T3_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
_ = (NI*)0;
colontmp_.len = 3; colontmp_.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(3, sizeof(NI), NIM_ALIGNOF(NI));
colontmp_.p->data[0] = ((NI)1);
colontmp_.p->data[1] = ((NI)3);
colontmp_.p->data[2] = ((NI)5);
i = ((NI)0);
T3_ = colontmp_.len;
L = T3_;
{
while (1) {
NimStringV2 colontmpD_;
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ T7_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
if (!(i < L)) goto LA5;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
if (i < 0 || i >= colontmp_.len){ raiseIndexError2(i,colontmp_.len-1); goto LA6_;
}
_ = (&colontmp_.p->data[i]);
T7_ = dotdot___temp_u36(((NI)25), ((NI)9));
colontmpD_ = X5BX5D___temp_u93(TM__SRd76hP9cMfCzdUO857UhQQ_7, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
(void)(colontmpD_);
if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
eqdestroy___temp_u130(colontmp_);
goto LA1;
if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); goto LA6_;
};
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
{
NI T10_;
T10_ = colontmp_.len;
if (!!((T10_ == L))) goto LA11_;
failedAssertImpl__stdZassertions_u310(TM__SRd76hP9cMfCzdUO857UhQQ_10);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA11_: ;
{
LA6_:;
}
{
if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
} LA5: ;
}
{
LA2_:;
}
{
eqdestroy___temp_u130(colontmp_);
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_11, 1);
}BeforeRet_: ;
popFrame();
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
#if 0
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 0
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
(*inner)();
#else
PreMain();
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
foo__temp_u1();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
Stats
- Started
2024-03-25T02:44:58
- Finished
2024-03-25T02:44:59
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
2.0.2 👎 FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
Traceback (most recent call last)
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Segmentation fault (core dumped)
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp'
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize96.27 Kb (98,576 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ;
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ {
NI a;
NI b;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NimStringV2, X5BX5D___temp_u93)(NimStringV2 s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2440)(NimStringV2* s_p0);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4621)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u36)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u130)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u310)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_6 = { 5 | NIM_STRLIT_FLAG, "abcde" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_7 = {5, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_6};
static const struct {
NI cap; NIM_CHAR data[146+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_9 = { 146 | NIM_STRLIT_FLAG, "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/iterators.nim(246, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_10 = {146, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_9};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_12 = { 6 | NIM_STRLIT_FLAG, "Passed" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_11 = {{6, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_12}}
;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4403;
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = ((NI)((*(*s_p0).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
if (!T3_) goto LA5_;
nimPrepareStrMutationImpl__system_u2440(s_p0);
}
LA5_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4020 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4020).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4020;
framePtr__system_u4020 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4621();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4020 = (*framePtr__system_u4020).prev;
}
static N_INLINE(NimStringV2, X5BX5D___temp_u93)(NimStringV2 s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1) {
NimStringV2 result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/indices.nim");
{ a = x_p1.a;
if (nimSubInt(x_p1.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); goto BeforeRet_;
};
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto BeforeRet_;
};
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI)0) || (L) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
}
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= result.len){ raiseIndexError2(i,result.len-1); goto BeforeRet_;
}
nimPrepareStrMutationV2((&result));
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); goto BeforeRet_;
};
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= s_p0.len){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),s_p0.len-1); goto BeforeRet_;
}
result.p->data[i] = s_p0.p->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); goto BeforeRet_;
};
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u36)(NI a_p0, NI b_p1) {
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system.nim");
result.a = a_p0;
result.b = b_p1;
popFrame();
return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4403);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void) {
NIM_BOOL* nimErr_;
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
{
tySequence__qwqHTkRvwhrRyENtudHQ7g colontmp_;
NI* _;
NI i;
NI L;
NI T3_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
_ = (NI*)0;
colontmp_.len = 3; colontmp_.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(3, sizeof(NI), NIM_ALIGNOF(NI));
colontmp_.p->data[0] = ((NI)1);
colontmp_.p->data[1] = ((NI)3);
colontmp_.p->data[2] = ((NI)5);
i = ((NI)0);
T3_ = colontmp_.len;
L = T3_;
{
while (1) {
NimStringV2 colontmpD_;
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ T7_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
if (!(i < L)) goto LA5;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
if (i < 0 || i >= colontmp_.len){ raiseIndexError2(i,colontmp_.len-1); goto LA6_;
}
_ = (&colontmp_.p->data[i]);
T7_ = dotdot___temp_u36(((NI)25), ((NI)9));
colontmpD_ = X5BX5D___temp_u93(TM__SRd76hP9cMfCzdUO857UhQQ_7, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
(void)(colontmpD_);
if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
eqdestroy___temp_u130(colontmp_);
goto LA1;
if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); goto LA6_;
};
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
{
NI T10_;
T10_ = colontmp_.len;
if (!!((T10_ == L))) goto LA11_;
failedAssertImpl__stdZassertions_u310(TM__SRd76hP9cMfCzdUO857UhQQ_10);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA11_: ;
{
LA6_:;
}
{
if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
} LA5: ;
}
{
LA2_:;
}
{
eqdestroy___temp_u130(colontmp_);
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_11, 1);
}BeforeRet_: ;
popFrame();
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
#if 0
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 0
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
(*inner)();
#else
PreMain();
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
foo__temp_u1();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
Stats
- Started
2024-03-25T02:44:59
- Finished
2024-03-25T02:45:00
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.6.14 👎 FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
fatal.nim(54) sysFatal
Error: unhandled exception: options.nim(645, 14) `false` errGenerated [AssertionDefect]
IR
Compiled filesize104.76 Kb (107,272 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__3rC59cFdCULJbp2tHLSZMXQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__z9aX9aBGjlpDIC58y9bKcsmzA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__3rC59cFdCULJbp2tHLSZMXQ kind;
tySet_tyEnum_TNimTypeFlag__z9aX9aBGjlpDIC58y9bKcsmzA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w;
struct TNimNode {
tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___temp_69)(NimStringDesc* s, tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ x);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ, dotdot___temp_33)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it", 147);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
NI T1_;
a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
T1_ = (NI)0;
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___temp_69)(NimStringDesc* s, tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ x) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system.nim");
result = NIM_NIL;
a = x.a;
if (nimSubInt(x.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= (result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= (s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s ? s->Sup.len : 0)-1); }
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ, dotdot___temp_33)(NI a, NI b) {
tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_1)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI* _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI*)0;
colontmp_ = NIM_NIL;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI) 1);
colontmp_->data[1] = ((NI) 3);
colontmp_->data[2] = ((NI) 5);
i = ((NI) 0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if (i < 0 || i >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = (&colontmp_->data[i]);
T5_ = dotdot___temp_33(((NI) 25), ((NI) 9));
T6_ = NIM_NIL;
T6_ = X5BX5D___temp_69(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__temp_1();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
}
Stats
- Started
2024-03-25T02:45:02
- Finished
2024-03-25T02:45:03
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.4.8 👎 FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
IR
Compiled filesize97.47 Kb (99,808 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/iterato"
"rs.nim(204, 11) `len(a) == L` the length of the seq changed whil"
"e iterating over it", 146);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system.nim");
result = (NimStringDesc*)0;
a = x.a;
if (nimSubInt(x.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if ((NU)(i) >= (NU)(result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NU)((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)) >= (NU)(s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s ? s->Sup.len : 0)-1); }
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI* _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI*)0;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)0;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTI__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI) 1);
colontmp_->data[1] = ((NI) 3);
colontmp_->data[2] = ((NI) 5);
i = ((NI) 0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = (&colontmp_->data[i]);
T5_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 25), ((NI) 9));
T6_ = (NimStringDesc*)0;
T6_ = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
Stats
- Started
2024-03-25T02:45:05
- Finished
2024-03-25T02:45:06
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.2.18 👎 FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeError]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
IR
Compiled filesize97.52 Kb (99,856 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NOINLINE(void, chckNil)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/iterat"
"ors.nim(189, 11) `len(a) == L` the length of the seq changed whi"
"le iterating over it", 147);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) (((NI) 2000))))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system.nim");
result = NIM_NIL;
a = x.a;
if (nimSubInt(x.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if ((NU)(i) >= (NU)(result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NU)((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)) >= (NU)(s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s ? s->Sup.len : 0)-1); }
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
chckNil((void*)(&result));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI)0;
colontmp_ = NIM_NIL;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTI__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI) 1);
colontmp_->data[1] = ((NI) 3);
colontmp_->data[2] = ((NI) 5);
i = ((NI) 0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = colontmp_->data[i];
T5_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 25), ((NI) 9));
T6_ = NIM_NIL;
T6_ = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
Stats
- Started
2024-03-25T02:45:08
- Finished
2024-03-25T02:45:08
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.0.10 👎 FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 [RangeError]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
IR
Compiled filesize92.56 Kb (94,784 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
static N_INLINE(NI, subInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_NOINLINE(void, chckNil)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
NIM_CONST struct {
TGenericSeq Sup;
NI data[3];
} TM__SRd76hP9cMfCzdUO857UhQQ_3 = {{3, 3 | NIM_STRLIT_FLAG}, {((NI) 1),
((NI) 3),
((NI) 5)}};
NIM_CONST tySequence__qwqHTkRvwhrRyENtudHQ7g* TM__SRd76hP9cMfCzdUO857UhQQ_2 = ((tySequence__qwqHTkRvwhrRyENtudHQ7g*)&TM__SRd76hP9cMfCzdUO857UhQQ_3);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/iterat"
"ors.nim(189, 11) `len(a) == L` the length of the seq changed whi"
"le iterating over it", 147);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_12, "Passed", 6);
NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_11 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_12)}
;
static N_INLINE(NI, subInt)(NI a, NI b) { NI result;
{ result = (NI)0;
result = (NI)((NU64)(a) - (NU64)(b));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (((NI) 0) <= (NI)(result ^ a));
if (T3_) goto LA4_;
T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
LA4_: ;
if (!T3_) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
raiseOverflow();
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, addInt)(NI a, NI b) { NI result;
{ result = (NI)0;
result = (NI)((NU64)(a) + (NU64)(b));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (((NI) 0) <= (NI)(result ^ a));
if (T3_) goto LA4_;
T3_ = (((NI) 0) <= (NI)(result ^ b));
LA4_: ;
if (!T3_) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
raiseOverflow();
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, chckRange)(NI i, NI a, NI b) { NI result;
{ result = (NI)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (a <= i);
if (!(T3_)) goto LA4_;
T3_ = (i <= b);
LA4_: ;
if (!T3_) goto LA5_;
result = i;
goto BeforeRet_;
}
goto LA1_;
LA5_: ;
{
raiseRangeError(((NI64) (i)));
}
LA1_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(void, nimFrame)(TFrame* s) { NI T1_;
T1_ = (NI)0;
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA4_;
T1_ = ((NI) 0);
}
goto LA2_;
LA4_: ;
{
T1_ = ((NI) ((NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1))));
}
LA2_: ;
(*s).calldepth = ((NI16) (T1_));
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) (((NI) 2000))))) goto LA9_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA9_: ;
}
static N_INLINE(void, popFrame)(void) { framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) { NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system.nim");
result = (NimStringDesc*)0;
a = x.a;
TM__SRd76hP9cMfCzdUO857UhQQ_4 = subInt(x.b, a);
TM__SRd76hP9cMfCzdUO857UhQQ_5 = addInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4), ((NI) 1));
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
result = mnewString(((NI)chckRange(L, ((NI) 0), ((NI) IL64(9223372036854775807)))));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i_2 < L)) goto LA3;
i = i_2;
if ((NU)(i) >= (NU)(result ? result->Sup.len : 0)) raiseIndexError2(i,(result ? result->Sup.len : 0)-1);
TM__SRd76hP9cMfCzdUO857UhQQ_6 = addInt(i, a);
if ((NU)((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6)) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6),(s ? s->Sup.len : 0)-1);
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6)];
TM__SRd76hP9cMfCzdUO857UhQQ_7 = addInt(i_2, ((NI) 1));
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) { void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) { nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b) { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
chckNil((void*)(&result));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void) { nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI _;
NI i;
NI L;
_ = (NI)0;
i = ((NI) 0);
L = ((NI) 3);
{
while (1) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T4_;
NimStringDesc* T5_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_9;
if (!(i < L)) goto LA3;
if ((NU)(i) >= (NU)(TM__SRd76hP9cMfCzdUO857UhQQ_2 ? TM__SRd76hP9cMfCzdUO857UhQQ_2->Sup.len : 0)) raiseIndexError2(i,(TM__SRd76hP9cMfCzdUO857UhQQ_2 ? TM__SRd76hP9cMfCzdUO857UhQQ_2->Sup.len : 0)-1);
_ = TM__SRd76hP9cMfCzdUO857UhQQ_2->data[i];
T4_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 25), ((NI) 9));
T5_ = (NimStringDesc*)0;
T5_ = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8), T4_);
(void)(T5_);
goto LA1;
TM__SRd76hP9cMfCzdUO857UhQQ_9 = addInt(i, ((NI) 1));
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_9);
{
if (!!((((NI) 3) == L))) goto LA8_;
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10));
}
LA8_: ;
} LA3: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_11, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) { nimGC_setStackBottom(locals);
}
void PreMainInner(void) {
}
int cmdCount;
char** cmdLine;
char** gEnv;
void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
Stats
- Started
2024-03-25T02:45:10
- Finished
2024-03-25T02:45:11
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
Stats
- GCC
11.4.0
- Clang
14.0.0
- NodeJS
19.1
- Created
2024-03-25T02:44:28Z
- Comments
3
- Commands
nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
🤖 Bug found in 17 minutes
bisecting 7
commits at 0
commits per second
from nim.
🐧 Linux bisect by @ringabout (member)
devel 👎 FAIL
Output
Error: Command failed: nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-#devel/lib/system/indices.nim []
/home/runner/.choosenim/toolchains/nim-#devel/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp'
assertions.nim(34) raiseAssert
Error: unhandled exception: errGenerated [AssertionDefect]
IR
Compiled filesize106.84 Kb (109,400 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__ClA3xuAkmIebTG0trkhp7w;
typedef NU8 tySet_tyEnum_TNimTypeFlag__lkZ7PEzlp5IUJlUpsPWkog;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p_p0, NI op_p1);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p_p0);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__ClA3xuAkmIebTG0trkhp7w kind;
tySet_tyEnum_TNimTypeFlag__lkZ7PEzlp5IUJlUpsPWkog flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__IIT6i6x8UigmmmGU9bo5uUw;
struct TNimNode {
tyEnum_TNimNodeKind__IIT6i6x8UigmmmGU9bo5uUw kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ_p0, NI len_p1);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NimStringDesc*, X5BX5D___temp_u84)(NimStringDesc* s_p0, tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA x_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u3151)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA, dotdot___temp_u33)(NI a_p0, NI b_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u69)(NimStringDesc* msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args_p0, NI args_p0Len_0);
static N_INLINE(void, initStackBottomWith)(void* locals_p0);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom_p0);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystematsexceptionsdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_7, "/home/runner/.choosenim/toolchains/nim-#devel/lib/system/iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it", 147);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_9, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_8 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_9)}
;
extern NIM_THREADVAR TFrame* framePtr__system_u2625;
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
NI T1_;
a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
T1_ = (NI)0;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u2625 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u2625).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u2625;
framePtr__system_u2625 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u3151();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u2625 = (*framePtr__system_u2625).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___temp_u84)(NimStringDesc* s_p0, tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA x_p1) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-#devel/lib/system/indices.nim");
result = NIM_NIL;
a = x_p1.a;
if (nimSubInt(x_p1.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI)0) || (L) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI)0), ((NI)IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= (result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= (s_p0 ? s_p0->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s_p0 ? s_p0->Sup.len : 0)-1); }
result->data[i] = s_p0->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
}
static N_INLINE(tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA, dotdot___temp_u33)(NI a_p0, NI b_p1) {
tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-#devel/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA));
result.a = a_p0;
result.b = b_p1;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI* _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI*)0;
colontmp_ = NIM_NIL;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI)1);
colontmp_->data[1] = ((NI)3);
colontmp_->data[2] = ((NI)5);
i = ((NI)0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__vuwRJgdcPWbEO9cIdyL6bxA T5_;
NimStringDesc* T6_;
if (!(i < L)) goto LA4;
if (i < 0 || i >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = (&colontmp_->data[i]);
T5_ = dotdot___temp_u33(((NI)25), ((NI)9));
T6_ = NIM_NIL;
T6_ = X5BX5D___temp_u84(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
i += ((NI)1);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__stdZassertions_u69(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_7));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_8, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals_p0) {
nimGC_setStackBottom(locals_p0);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
#if 1
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystematsexceptionsdotnim_DatInit000();
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystematsexceptionsdotnim_DatInit000();
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 1
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
#else
PreMain();
initStackBottomWith((void *)&inner);
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__temp_u1();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
}
Stats
- Started
2024-03-25T02:46:52
- Finished
2024-03-25T02:46:52
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
stable 👎 FAIL
Output
Error: Command failed: nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/indices.nim []
/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp'
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize106.81 Kb (109,376 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__tkzilgOTS67iC3a7h549aiw;
typedef NU8 tySet_tyEnum_TNimTypeFlag__9aI2dAe9cy2LQ7Dp9cypyl4rA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p_p0, NI op_p1);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p_p0);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__tkzilgOTS67iC3a7h549aiw kind;
tySet_tyEnum_TNimTypeFlag__9aI2dAe9cy2LQ7Dp9cypyl4rA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__wYCe8vXIm9cHBnYL2fAWT2A;
struct TNimNode {
tyEnum_TNimNodeKind__wYCe8vXIm9cHBnYL2fAWT2A kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ_p0, NI len_p1);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NimStringDesc*, X5BX5D___temp_u86)(NimStringDesc* s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u3134)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u35)(NI a_p0, NI b_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u85)(NimStringDesc* msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args_p0, NI args_p0Len_0);
static N_INLINE(void, initStackBottomWith)(void* locals_p0);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom_p0);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystematsexceptionsdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/iterators.nim(246, 11) `len(a) == L` the length of the seq changed while iterating over it", 146);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern NIM_THREADVAR TFrame* framePtr__system_u2601;
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
NI T1_;
a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
T1_ = (NI)0;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u2601 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u2601).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u2601;
framePtr__system_u2601 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u3134();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u2601 = (*framePtr__system_u2601).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___temp_u86)(NimStringDesc* s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/indices.nim");
result = NIM_NIL;
a = x_p1.a;
if (nimSubInt(x_p1.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI)0) || (L) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI)0), ((NI)IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= (result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= (s_p0 ? s_p0->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s_p0 ? s_p0->Sup.len : 0)-1); }
result->data[i] = s_p0->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
}
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u35)(NI a_p0, NI b_p1) {
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ));
result.a = a_p0;
result.b = b_p1;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI* _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI*)0;
colontmp_ = NIM_NIL;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI)1);
colontmp_->data[1] = ((NI)3);
colontmp_->data[2] = ((NI)5);
i = ((NI)0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if (i < 0 || i >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = (&colontmp_->data[i]);
T5_ = dotdot___temp_u35(((NI)25), ((NI)9));
T6_ = NIM_NIL;
T6_ = X5BX5D___temp_u86(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__stdZassertions_u85(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals_p0) {
nimGC_setStackBottom(locals_p0);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
#if 1
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystematsexceptionsdotnim_DatInit000();
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystematsexceptionsdotnim_DatInit000();
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 1
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
#else
PreMain();
initStackBottomWith((void *)&inner);
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__temp_u1();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
}
Stats
- Started
2024-03-25T02:46:53
- Finished
2024-03-25T02:46:53
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
2.0.2 👎 FAIL
Output
Error: Command failed: nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/indices.nim []
/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp'
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize106.81 Kb (109,376 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__tkzilgOTS67iC3a7h549aiw;
typedef NU8 tySet_tyEnum_TNimTypeFlag__9aI2dAe9cy2LQ7Dp9cypyl4rA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p_p0, NI op_p1);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p_p0);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__tkzilgOTS67iC3a7h549aiw kind;
tySet_tyEnum_TNimTypeFlag__9aI2dAe9cy2LQ7Dp9cypyl4rA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__wYCe8vXIm9cHBnYL2fAWT2A;
struct TNimNode {
tyEnum_TNimNodeKind__wYCe8vXIm9cHBnYL2fAWT2A kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ_p0, NI len_p1);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NimStringDesc*, X5BX5D___temp_u86)(NimStringDesc* s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u3134)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u35)(NI a_p0, NI b_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u85)(NimStringDesc* msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args_p0, NI args_p0Len_0);
static N_INLINE(void, initStackBottomWith)(void* locals_p0);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom_p0);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystematsexceptionsdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/iterators.nim(246, 11) `len(a) == L` the length of the seq changed while iterating over it", 146);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern NIM_THREADVAR TFrame* framePtr__system_u2601;
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
NI T1_;
a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
T1_ = (NI)0;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u2601 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u2601).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u2601;
framePtr__system_u2601 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u3134();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u2601 = (*framePtr__system_u2601).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___temp_u86)(NimStringDesc* s_p0, tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ x_p1) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system/indices.nim");
result = NIM_NIL;
a = x_p1.a;
if (nimSubInt(x_p1.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI)0) || (L) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI)0), ((NI)IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= (result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= (s_p0 ? s_p0->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s_p0 ? s_p0->Sup.len : 0)-1); }
result->data[i] = s_p0->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
}
static N_INLINE(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ, dotdot___temp_u35)(NI a_p0, NI b_p1) {
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-2.0.2/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ));
result.a = a_p0;
result.b = b_p1;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_u1)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI* _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI*)0;
colontmp_ = NIM_NIL;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI)1);
colontmp_->data[1] = ((NI)3);
colontmp_->data[2] = ((NI)5);
i = ((NI)0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__Lvf9biZHqTuFCIXux82nvqQ T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if (i < 0 || i >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = (&colontmp_->data[i]);
T5_ = dotdot___temp_u35(((NI)25), ((NI)9));
T6_ = NIM_NIL;
T6_ = X5BX5D___temp_u86(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__stdZassertions_u85(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals_p0) {
nimGC_setStackBottom(locals_p0);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
#if 1
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystematsexceptionsdotnim_DatInit000();
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystematsexceptionsdotnim_DatInit000();
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 1
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
#else
PreMain();
initStackBottomWith((void *)&inner);
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__temp_u1();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
}
Stats
- Started
2024-03-25T02:46:54
- Finished
2024-03-25T02:46:54
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.6.14 👎 FAIL
Output
Error: Command failed: nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
fatal.nim(54) sysFatal
Error: unhandled exception: options.nim(645, 14) `false` errGenerated [AssertionDefect]
IR
Compiled filesize104.76 Kb (107,272 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__3rC59cFdCULJbp2tHLSZMXQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__z9aX9aBGjlpDIC58y9bKcsmzA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__3rC59cFdCULJbp2tHLSZMXQ kind;
tySet_tyEnum_TNimTypeFlag__z9aX9aBGjlpDIC58y9bKcsmzA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w;
struct TNimNode {
tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_1)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___temp_69)(NimStringDesc* s, tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ x);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ, dotdot___temp_33)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it", 147);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
NI T1_;
a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
T1_ = (NI)0;
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___temp_69)(NimStringDesc* s, tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ x) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system.nim");
result = NIM_NIL;
a = x.a;
if (nimSubInt(x.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if (i < 0 || i >= (result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) < 0 || (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4) >= (s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s ? s->Sup.len : 0)-1); }
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ, dotdot___temp_33)(NI a, NI b) {
tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__temp_1)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI* _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI*)0;
colontmp_ = NIM_NIL;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI) 1);
colontmp_->data[1] = ((NI) 3);
colontmp_->data[2] = ((NI) 5);
i = ((NI) 0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__ZwT1AdT5SpvzfXpu31YpBQ T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if (i < 0 || i >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = (&colontmp_->data[i]);
T5_ = dotdot___temp_33(((NI) 25), ((NI) 9));
T6_ = NIM_NIL;
T6_ = X5BX5D___temp_69(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot14atslibatssystemdotnim_Init000();
atmtempdotnim_DatInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__temp_1();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
}
Stats
- Started
2024-03-25T02:46:57
- Finished
2024-03-25T02:46:58
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.4.8 👎 FAIL
Output
Error: Command failed: nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
IR
Compiled filesize97.47 Kb (99,808 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/iterato"
"rs.nim(204, 11) `len(a) == L` the length of the seq changed whil"
"e iterating over it", 146);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system.nim");
result = (NimStringDesc*)0;
a = x.a;
if (nimSubInt(x.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if ((NU)(i) >= (NU)(result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NU)((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)) >= (NU)(s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s ? s->Sup.len : 0)-1); }
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI* _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI*)0;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)0;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTI__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI) 1);
colontmp_->data[1] = ((NI) 3);
colontmp_->data[2] = ((NI) 5);
i = ((NI) 0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = (&colontmp_->data[i]);
T5_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 25), ((NI) 9));
T6_ = (NimStringDesc*)0;
T6_ = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
Stats
- Started
2024-03-25T02:47:00
- Finished
2024-03-25T02:47:01
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.2.18 👎 FAIL
Output
Error: Command failed: nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 notin 0 .. 9223372036854775807 [RangeError]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
IR
Compiled filesize97.52 Kb (99,856 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NOINLINE(void, chckNil)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_6, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/iterat"
"ors.nim(189, 11) `len(a) == L` the length of the seq changed whi"
"le iterating over it", 147);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "Passed", 6);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) (((NI) 2000))))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system.nim");
result = NIM_NIL;
a = x.a;
if (nimSubInt(x.b, a, &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2), ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
if (!(i_2 < L)) goto LA3;
i = i_2;
if ((NU)(i) >= (NU)(result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
if ((NU)((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)) >= (NU)(s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4),(s ? s->Sup.len : 0)-1); }
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4)];
if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_5)) { raiseOverflow(); };
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
chckNil((void*)(&result));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void) {
nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI _;
tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
NI i;
NI L;
NI T2_;
_ = (NI)0;
colontmp_ = NIM_NIL;
colontmp_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTI__qwqHTkRvwhrRyENtudHQ7g_), 3);
colontmp_->data[0] = ((NI) 1);
colontmp_->data[1] = ((NI) 3);
colontmp_->data[2] = ((NI) 5);
i = ((NI) 0);
T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
L = T2_;
{
while (1) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T5_;
NimStringDesc* T6_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i < L)) goto LA4;
if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
_ = colontmp_->data[i];
T5_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 25), ((NI) 9));
T6_ = NIM_NIL;
T6_ = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_6), T5_);
(void)(T6_);
goto LA1;
if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
{
NI T9_;
T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
if (!!((T9_ == L))) goto LA10_;
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
}
LA10_: ;
} LA4: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
Stats
- Started
2024-03-25T02:47:03
- Finished
2024-03-25T02:47:04
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
1.0.10 👎 FAIL
Output
Error: Command failed: nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim foo
/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system.nim []
/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/fatal.nim sysFatal
Error: unhandled exception: value out of range: -15 [RangeError]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
IR
Compiled filesize92.56 Kb (94,784 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct TGenericSeq TGenericSeq;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
static N_INLINE(NI, subInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_NOINLINE(void, chckNil)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
NIM_CONST struct {
TGenericSeq Sup;
NI data[3];
} TM__SRd76hP9cMfCzdUO857UhQQ_3 = {{3, 3 | NIM_STRLIT_FLAG}, {((NI) 1),
((NI) 3),
((NI) 5)}};
NIM_CONST tySequence__qwqHTkRvwhrRyENtudHQ7g* TM__SRd76hP9cMfCzdUO857UhQQ_2 = ((tySequence__qwqHTkRvwhrRyENtudHQ7g*)&TM__SRd76hP9cMfCzdUO857UhQQ_3);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "abcde", 5);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/iterat"
"ors.nim(189, 11) `len(a) == L` the length of the seq changed whi"
"le iterating over it", 147);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_12, "Passed", 6);
NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_11 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_12)}
;
static N_INLINE(NI, subInt)(NI a, NI b) { NI result;
{ result = (NI)0;
result = (NI)((NU64)(a) - (NU64)(b));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (((NI) 0) <= (NI)(result ^ a));
if (T3_) goto LA4_;
T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
LA4_: ;
if (!T3_) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
raiseOverflow();
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, addInt)(NI a, NI b) { NI result;
{ result = (NI)0;
result = (NI)((NU64)(a) + (NU64)(b));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (((NI) 0) <= (NI)(result ^ a));
if (T3_) goto LA4_;
T3_ = (((NI) 0) <= (NI)(result ^ b));
LA4_: ;
if (!T3_) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
raiseOverflow();
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, chckRange)(NI i, NI a, NI b) { NI result;
{ result = (NI)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (a <= i);
if (!(T3_)) goto LA4_;
T3_ = (i <= b);
LA4_: ;
if (!T3_) goto LA5_;
result = i;
goto BeforeRet_;
}
goto LA1_;
LA5_: ;
{
raiseRangeError(((NI64) (i)));
}
LA1_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(void, nimFrame)(TFrame* s) { NI T1_;
T1_ = (NI)0;
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA4_;
T1_ = ((NI) 0);
}
goto LA2_;
LA4_: ;
{
T1_ = ((NI) ((NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1))));
}
LA2_: ;
(*s).calldepth = ((NI16) (T1_));
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) (((NI) 2000))))) goto LA9_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA9_: ;
}
static N_INLINE(void, popFrame)(void) { framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) { NimStringDesc* result;
NI a;
NI L;
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
NI TM__SRd76hP9cMfCzdUO857UhQQ_5;
nimfr_("[]", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system.nim");
result = (NimStringDesc*)0;
a = x.a;
TM__SRd76hP9cMfCzdUO857UhQQ_4 = subInt(x.b, a);
TM__SRd76hP9cMfCzdUO857UhQQ_5 = addInt((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4), ((NI) 1));
L = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_5);
result = mnewString(((NI)chckRange(L, ((NI) 0), ((NI) IL64(9223372036854775807)))));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI) 0);
{
while (1) {
NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
if (!(i_2 < L)) goto LA3;
i = i_2;
if ((NU)(i) >= (NU)(result ? result->Sup.len : 0)) raiseIndexError2(i,(result ? result->Sup.len : 0)-1);
TM__SRd76hP9cMfCzdUO857UhQQ_6 = addInt(i, a);
if ((NU)((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6)) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2((NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6),(s ? s->Sup.len : 0)-1);
result->data[i] = s->data[(NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6)];
TM__SRd76hP9cMfCzdUO857UhQQ_7 = addInt(i_2, ((NI) 1));
i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) { void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) { nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b) { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimfr_("..", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
chckNil((void*)(&result));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, foo__EzBZaa239as9bFx8yeHDoTOw)(void) { nimfr_("foo", "/home/runner/work/Nim/Nim/temp.nim");
{
NI _;
NI i;
NI L;
_ = (NI)0;
i = ((NI) 0);
L = ((NI) 3);
{
while (1) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T4_;
NimStringDesc* T5_;
NI TM__SRd76hP9cMfCzdUO857UhQQ_9;
if (!(i < L)) goto LA3;
if ((NU)(i) >= (NU)(TM__SRd76hP9cMfCzdUO857UhQQ_2 ? TM__SRd76hP9cMfCzdUO857UhQQ_2->Sup.len : 0)) raiseIndexError2(i,(TM__SRd76hP9cMfCzdUO857UhQQ_2 ? TM__SRd76hP9cMfCzdUO857UhQQ_2->Sup.len : 0)-1);
_ = TM__SRd76hP9cMfCzdUO857UhQQ_2->data[i];
T4_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 25), ((NI) 9));
T5_ = (NimStringDesc*)0;
T5_ = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8), T4_);
(void)(T5_);
goto LA1;
TM__SRd76hP9cMfCzdUO857UhQQ_9 = addInt(i, ((NI) 1));
i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_9);
{
if (!!((((NI) 3) == L))) goto LA8_;
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10));
}
LA8_: ;
} LA3: ;
}
} LA1: ;
echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_11, 1);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) { nimGC_setStackBottom(locals);
}
void PreMainInner(void) {
}
int cmdCount;
char** cmdLine;
char** gEnv;
void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
foo__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
Stats
- Started
2024-03-25T02:47:06
- Finished
2024-03-25T02:47:06
- Duration
AST
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("foo"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkForStmt.newTree(
newIdentNode("_"),
nnkPrefix.newTree(
newIdentNode("@"),
nnkBracket.newTree(
newLit(1),
newLit(3),
newLit(5)
)
),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
newLit("abcde"),
nnkInfix.newTree(
newIdentNode("..<"),
newLit(25),
newLit(10)
)
)
),
nnkBreakStmt.newTree(
newEmptyNode()
)
)
),
nnkCommand.newTree(
newIdentNode("echo"),
newLit("Passed")
)
)
),
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("isMainModule"),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("foo")
)
)
)
)
)
Stats
- GCC
11.4.0
- Clang
14.0.0
- NodeJS
19.1
- Created
2024-03-25T02:46:22Z
- Comments
5
- Commands
nim c --gc:refc --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
🤖 Bug found in 18 minutes
bisecting 7
commits at 0
commits per second
from nim.
Related Issues (20)
- Nimsuggest - Methods marked with {.base.} trigger error on chk HOT 3
- Ref array causing Segfault HOT 4
- osproc.startProcess should support "not following symlinks" HOT 2
- When `move` meets` sink`, `= sink` hook function is not called HOT 4
- [ignore] bisect HOT 7
- Error: type mismatch: got <typedesc[A]>, but expected one of: A = proc (){.closure.}
- Default object values silently override generic types
- Enum Overloading Regression? HOT 4
- async `and` swallows errors
- Async `finally` swallows errors when it contains an `await` wrapped by `try/except`
- The `when nimvm` statement fails to compile when in a file called nimvm.nim HOT 4
- Regression from 2.0 to `devel` with `dirty` template HOT 3
- Async memory leak when raising exception on ORC HOT 1
- unicode.splitWhitespace() and strutils.splitWhitespace() have different results for ASCII string
- Wrong stack trace when exception is raised in template HOT 1
- Error: cannot evaluate at compile time: foo HOT 4
- nim check crashes
- Any differnece between value types and reference types for `=sink` ? HOT 1
- Simple destructor code gives invalid C HOT 4
- Compiler crashes with infinite recursion for nested generic instantiation with static[int]
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nim.