Giter VIP home page Giter VIP logo

Comments (7)

ringabout avatar ringabout commented on June 16, 2024 1

!nim c

type
  Enum = enum
    a = 2
    b = 10

iterator items2(): Enum =
  for a in [a, b]:
    yield a

var s = newSeq[Enum]()
for i in items2():
  s.add i
doAssert s == @[a, b]

from nim.

ringabout avatar ringabout commented on June 16, 2024 1

!nim c

type
  Enum = enum
    a = 2
    b = 10

iterator items2(): Enum =
  for a in [a, b]:
    yield a

var s = newSeq[Enum]()
for i in items2():
  s.add i
echo s

from nim.

ringabout avatar ringabout commented on June 16, 2024 1

!nim c

type
  Enum = enum
    a = 2
    b = 10

iterator items2(): Enum =
  for a in [a, b]:
    yield a

var s = newSeq[Enum]()
for i in items2():
  s.add i
doAssert s == @[a, b]

from nim.

metagn avatar metagn commented on June 16, 2024 1

Type inference bug, minimized

type Enum = enum a, b

block:
  let a = b
  let x: Enum = a
  echo x # a

Type inference for enums overrides local symbols now but I thought this was removed because it's bad behavior, it was in semExpr for nkIdent, the commit the bisect links to just adapted type inference to yield

Edit: Here:

https://github.com/nim-lang/Nim/blob/devel/compiler%2Fsemexprs.nim#L3031-L3037

We can just remove these lines and see if CI passes, and backport it if it does, but on version-2-0 they might be directly inside semExpr under nkIdent rather than in resolveIdentToSym.

from nim.

github-actions avatar github-actions commented on June 16, 2024
🐧 Linux bisect by @ringabout (member)
devel πŸ‘Ž FAIL

Output


IR

Compiled filesize 0 bytes (0 bytes)

Stats

  • Started 2024-05-09T04:36:49
  • Finished 2024-05-09T04:36:49
  • Duration now

AST

stable πŸ‘Ž FAIL

Output


IR

Compiled filesize 0 bytes (0 bytes)

Stats

  • Started 2024-05-09T04:36:49
  • Finished 2024-05-09T04:36:49
  • Duration now

AST

2.0.2 πŸ‘Ž FAIL

Output


IR

Compiled filesize 0 bytes (0 bytes)

Stats

  • Started 2024-05-09T04:36:52
  • Finished 2024-05-09T04:36:52
  • Duration

AST

1.6.14 πŸ‘Ž FAIL

Output


IR

Compiled filesize 0 bytes (0 bytes)

Stats

  • Started 2024-05-09T04:36:54
  • Finished 2024-05-09T04:36:54
  • Duration now

AST

1.4.8 πŸ‘Ž FAIL

Output


IR

Compiled filesize 0 bytes (0 bytes)

Stats

  • Started 2024-05-09T04:36:57
  • Finished 2024-05-09T04:36:57
  • Duration now

AST

1.2.18 πŸ‘Ž FAIL

Output


IR

Compiled filesize 0 bytes (0 bytes)

Stats

  • Started 2024-05-09T04:36:59
  • Finished 2024-05-09T04:36:59
  • Duration now

AST

1.0.10 πŸ‘Ž FAIL

Output


IR

Compiled filesize 0 bytes (0 bytes)

Stats

  • Started 2024-05-09T04:37:01
  • Finished 2024-05-09T04:37:01
  • Duration now

AST

Stats
  • GCC 11.4.0
  • Clang 14.0.0
  • NodeJS 20.2
  • Created 2024-05-09T04:36:19Z
  • Comments 1
  • 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 15 minutes bisecting 7 commits at 0 commits per second

from nim.

github-actions avatar github-actions commented on June 16, 2024
🐧 Linux bisect by @ringabout (member)
devel πŸ‘ OK

Output

@[a, a]

IR

Compiled filesize 99.05 Kb (101,424 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__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
NI len; tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content* p;
};
struct NimStrPayload {
 NI cap;
 NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
 NI len;
 NimStrPayload* p;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content { NI cap; tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ, newSeq__temp_u168)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__temp_u217)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x_p0, tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___temp_u301)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ x_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u179)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ dest_p0);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4555)(void);
static N_INLINE(void, popFrame)(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[1+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_3 = { 1 | NIM_STRLIT_FLAG, "a" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_4 = {1, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_3};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_5 = { 1 | NIM_STRLIT_FLAG, "b" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_6 = {1, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_5};
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_2 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10)}
;
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ s__temp_u215;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_u216;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4339;
extern NIM_THREADVAR TFrame* framePtr__system_u2654;
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___temp_u4)(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA e_p0) {
 NimStringV2 result;
 switch (e_p0) {
 case ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2):
 {
  result = TM__SRd76hP9cMfCzdUO857UhQQ_4;
 }
 break;
 case ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10):
 {
  result = TM__SRd76hP9cMfCzdUO857UhQQ_6;
 }
 break;
 default: __builtin_unreachable();
 }
 return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (&nimInErrorMode__system_u4339);
 return result;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
 {
  if (!(framePtr__system_u2654 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s_p0).calldepth = ((NI16)0);
 }
 goto LA1_;
LA3_: ;
 {
  (*s_p0).calldepth = (NI16)((*framePtr__system_u2654).calldepth + ((NI16)1));
 }
LA1_: ;
 (*s_p0).prev = framePtr__system_u2654;
 framePtr__system_u2654 = s_p0;
 {
  if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
  callDepthLimitReached__system_u4555();
 }
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u2654 = (*framePtr__system_u2654).prev;
}
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) {
{
 NimStringV2 colontmpD_;
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 s__temp_u215 = newSeq__temp_u168(((NI)0));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI)0);
   {
    while (1) {
     tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA colontmpD__2;
     colontmpD__2 = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_2[(i)- 0];
     i__temp_u216 = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2);
     colontmpD__2 = i__temp_u216;
     add__temp_u217((&s__temp_u215), colontmpD__2);
     {
      if (!(((NI)1) <= ((NI) (i)))) goto LA8_;
      goto LA4;
     }
LA8_: ;
     i += ((NI)1);
    }
   } LA4: ;
  }
 }
 colontmpD_ = dollar___temp_u301(s__temp_u215);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 T10_[0] = colontmpD_;
 echoBinSafe(T10_, 1);
 {
  LA1_:;
 }
 {
  if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u179(s__temp_u215);
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-05-09T04:40:58
  • Finished 2024-05-09T04:40:59
  • Duration
stable πŸ‘ OK

Output

@[a, b]

IR

Compiled filesize 96.98 Kb (99,304 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__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
NI len; tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content* p;
};
struct NimStrPayload {
 NI cap;
 NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
 NI len;
 NimStrPayload* p;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content { NI cap; tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ, newSeq__temp_u207)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__temp_u256)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x_p0, tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA y_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___temp_u341)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ x_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u218)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ dest_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);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 1 | NIM_STRLIT_FLAG, "a" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {1, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_6 = { 1 | NIM_STRLIT_FLAG, "b" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_7 = {1, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_6};
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_2 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10)}
;
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ s__temp_u254;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_u255;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4403;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___temp_u4)(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA e_p0) {
 NimStringV2 result;
 switch (e_p0) {
 case ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2):
 {
  result = TM__SRd76hP9cMfCzdUO857UhQQ_5;
 }
 break;
 case ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10):
 {
  result = TM__SRd76hP9cMfCzdUO857UhQQ_7;
 }
 break;
 }
 return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (&nimInErrorMode__system_u4403);
 return result;
}
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;
}
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;
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_Init000();
 (*inner)();
#else
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_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) {
{
 NimStringV2 colontmpD_;
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 s__temp_u254 = newSeq__temp_u207(((NI)0));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI)0);
   {
    while (1) {
     tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA colontmpD__2;
     NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
     colontmpD__2 = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_2[(i)- 0];
     i__temp_u255 = a;
     colontmpD__2 = i__temp_u255;
     add__temp_u256((&s__temp_u254), colontmpD__2);
     {
      if (!(((NI)1) <= ((NI) (i)))) goto LA8_;
      goto LA4;
     }
LA8_: ;
     if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
     };
     if (TM__SRd76hP9cMfCzdUO857UhQQ_3 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_3 > 1){ raiseOverflow(); goto LA1_;
     }
     i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    }
   } LA4: ;
  }
 }
 colontmpD_ = dollar___temp_u341(s__temp_u254);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 T10_[0] = colontmpD_;
 echoBinSafe(T10_, 1);
 {
  LA1_:;
 }
 {
  if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u218(s__temp_u254);
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-05-09T04:40:59
  • Finished 2024-05-09T04:41:00
  • Duration
2.0.2 πŸ‘ OK

Output

@[a, b]

IR

Compiled filesize 96.98 Kb (99,312 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__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
NI len; tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content* p;
};
struct NimStrPayload {
 NI cap;
 NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
 NI len;
 NimStrPayload* p;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content { NI cap; tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ, newSeq__temp_u207)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__temp_u256)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x_p0, tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA y_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___temp_u341)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ x_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u218)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ dest_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);
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[1+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 1 | NIM_STRLIT_FLAG, "a" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {1, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_6 = { 1 | NIM_STRLIT_FLAG, "b" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_7 = {1, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_6};
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_2 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10)}
;
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ s__temp_u254;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_u255;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4403;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___temp_u4)(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA e_p0) {
 NimStringV2 result;
 switch (e_p0) {
 case ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2):
 {
  result = TM__SRd76hP9cMfCzdUO857UhQQ_5;
 }
 break;
 case ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10):
 {
  result = TM__SRd76hP9cMfCzdUO857UhQQ_7;
 }
 break;
 }
 return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (&nimInErrorMode__system_u4403);
 return result;
}
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;
}
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) {
{
 NimStringV2 colontmpD_;
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 s__temp_u254 = newSeq__temp_u207(((NI)0));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI)0);
   {
    while (1) {
     tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA colontmpD__2;
     NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
     colontmpD__2 = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_2[(i)- 0];
     i__temp_u255 = a;
     colontmpD__2 = i__temp_u255;
     add__temp_u256((&s__temp_u254), colontmpD__2);
     {
      if (!(((NI)1) <= ((NI) (i)))) goto LA8_;
      goto LA4;
     }
LA8_: ;
     if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
     };
     if (TM__SRd76hP9cMfCzdUO857UhQQ_3 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_3 > 1){ raiseOverflow(); goto LA1_;
     }
     i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    }
   } LA4: ;
  }
 }
 colontmpD_ = dollar___temp_u341(s__temp_u254);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 T10_[0] = colontmpD_;
 echoBinSafe(T10_, 1);
 {
  LA1_:;
 }
 {
  if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
deallocShared(colontmpD_.p);
}
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u218(s__temp_u254);
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-05-09T04:41:02
  • Finished 2024-05-09T04:41:02
  • Duration
1.6.14 πŸ‘ OK

Output

@[a, b]

IR

Compiled filesize 105.61 Kb (108,144 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__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q;
typedef struct tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg;
typedef struct tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ;
typedef struct tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg;
typedef struct tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g;
typedef struct tyObject_SmallChunk__sj9b0POpZpf2pwHAngQ4iuA tyObject_SmallChunk__sj9b0POpZpf2pwHAngQ4iuA;
typedef struct tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A;
typedef struct tyObject_LLChunk__EAcyYaYsVdVpPDOJNXsVvA tyObject_LLChunk__EAcyYaYsVdVpPDOJNXsVvA;
typedef struct tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw;
typedef struct tyObject_Trunk__N5u9b3R0O3g59awa8B9bs6qyg tyObject_Trunk__N5u9b3R0O3g59awa8B9bs6qyg;
typedef struct tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg;
typedef struct tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw;
typedef struct tyTuple__6nVTvmjorcAWafHl9cWGFuA tyTuple__6nVTvmjorcAWafHl9cWGFuA;
typedef struct tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg;
typedef struct tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA;
typedef struct tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
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 N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg {
void* bottom;
};
struct tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg {
NI len;
NI cap;
tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q** d;
};
typedef tyObject_SmallChunk__sj9b0POpZpf2pwHAngQ4iuA* tyArray__VYTQW7wK07xvH5Z4opKI1w[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A* tyArray__YkUf1j9c9b6JzhUdDj7S3KQA[32];
typedef tyArray__YkUf1j9c9b6JzhUdDj7S3KQA tyArray__MQbMf9bcijUF9a14VvUbfzqg[24];
typedef tyObject_Trunk__N5u9b3R0O3g59awa8B9bs6qyg* tyArray__sCQfOQF0EdBvLpqvNeg1Mg[256];
struct tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw {
tyArray__sCQfOQF0EdBvLpqvNeg1Mg data;
};
typedef tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* tyArray__Wt2k1c1BbnQ6Nj3SrdvfCw[2];
struct tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg {
tyArray__Wt2k1c1BbnQ6Nj3SrdvfCw link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__6nVTvmjorcAWafHl9cWGFuA {
tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A* Field0;
NI Field1;
};
typedef tyTuple__6nVTvmjorcAWafHl9cWGFuA tyArray__yUjlcLC9c9aIvr4MhTCDBnnA[30];
struct tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw {
NI len;
tyArray__yUjlcLC9c9aIvr4MhTCDBnnA chunks;
tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw* next;
};
struct tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g {
NI minLargeObj;
NI maxLargeObj;
tyArray__VYTQW7wK07xvH5Z4opKI1w freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__MQbMf9bcijUF9a14VvUbfzqg matrix;
tyObject_LLChunk__EAcyYaYsVdVpPDOJNXsVvA* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw chunkStarts;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* root;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* deleted;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* last;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg bottomData;
tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw heapLinks;
};
struct tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA {
NI counter;
NI max;
tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ* head;
tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ** data;
};
struct tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ {
tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg zct;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg decStack;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg tempStack;
NI recGcLock;
tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g region;
tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg stat;
tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA marked;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w;
struct TNimNode {
tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
TGenericSeq Sup;
tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__fEmfwfXkZgfvfVGgBu0R9aQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*, newSeq__temp_56)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5340)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
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_Cell__vT0lLseQRZ19aq7BbaJzO4Q*, usrToCell__system_5302)(void* usr);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, decRef__system_5347)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5345)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5296)(tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg* s, tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
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(NimStringDesc*, dollar___temp_134)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x);
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);
N_LIB_PRIVATE TNimType NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_;
N_LIB_PRIVATE TNimType NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_;
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA) 2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA) 10)}
;
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* s__temp_73;
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;
extern tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ gch__system_5249;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_74;
static N_NIMCALL(void, Marker_tySequence__fEmfwfXkZgfvfVGgBu0R9aQ)(void* p, NI op) {
 tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* a;
 NI T1_;
 a = (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*)p;
 T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__temp_73, 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(NI, pluspercent___system_696)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__system_5340)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*, usrToCell__system_5302)(void* usr) {
 tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 result = (tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/comparisons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__system_5345)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 addZCT__system_5296((&gch__system_5249.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__system_5347)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__system_5345(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 {
  tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*)0;
  T5_ = usrToCell__system_5302(src);
  incRef__system_5340(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*)0;
  T10_ = usrToCell__system_5302((*dest));
  decRef__system_5347(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
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(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) {
{
 TFrame FR_; FR_.len = 0;
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
}
{
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 asgnRef((void**) (&s__temp_73), newSeq__temp_56(((NI) 0)));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI) 0);
   {
    while (1) {
     NI T5_;
     NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
     i__temp_74 = a;
     asgnRef((void**) (&s__temp_73), (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*) incrSeqV3((TGenericSeq*)(s__temp_73), (&NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_)));
     T5_ = s__temp_73->Sup.len++;
     s__temp_73->data[T5_] = i__temp_74;
     {
      if (!(((NI) 1) <= ((NI) (i)))) goto LA8_;
      goto LA3;
     }
     LA8_: ;
     if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
     if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1){ raiseOverflow(); }
     i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
    }
   } LA3: ;
  }
 }
 nimZeroMem((void*)T10_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T10_[0] = dollar___temp_134(s__temp_73);
 echoBinSafe(T10_, 1);
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.size = sizeof(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA);
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.align = NIM_ALIGNOF(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA);
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.kind = 14;
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.base = 0;
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.flags = 1<<2;
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.size = sizeof(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*);
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.align = NIM_ALIGNOF(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*);
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.kind = 24;
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.base = (&NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_);
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.flags = 2;
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.marker = Marker_tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
}

Stats

  • Started 2024-05-09T04:41:05
  • Finished 2024-05-09T04:41:05
  • Duration
1.4.8 πŸ‘ OK

Output

@[a, b]

IR

Compiled filesize 106.02 Kb (108,560 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__K5QKUsFvWE9cHkZ9bUXhYOSQ tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg;
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;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg tyArray__2IabNbFx1rhFM1wHDQ9b5kQ[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ {
TGenericSeq Sup;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*, newSeq__qgwWxgCsoKGJnlgkmBqlUQ)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
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_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
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(NimStringDesc*, dollar___9asdNzTbxWtqZ1OGrivIJqg)(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* x);
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, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE TNimType NTI__dmBjsd4qLergxHiuaoLHkg_;
extern TNimType NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_;
static NIM_CONST tyArray__2IabNbFx1rhFM1wHDQ9b5kQ TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2),
((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10)}
;
N_LIB_PRIVATE tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* s__3LIKhS5Wi6V7579bNnofO5g;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
N_LIB_PRIVATE tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg i__Vuap9ai8jfbvRhF5w5oYzTw;
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__3LIKhS5Wi6V7579bNnofO5g, 0);
}
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(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/arithme"
"tics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 (*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/arithme"
"tics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/compari"
"sons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 (*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
  incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
  decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
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(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();
 tempDatInit000();
 (*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) {
{
 TFrame FR_; FR_.len = 0;
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
}
{
 tyArray__nHXaesL0DJZHyVS07ARPRA T14_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), newSeq__qgwWxgCsoKGJnlgkmBqlUQ(((NI) 0)));
 {
  {
   tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg a;
   NI i;
   a = (tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg)0;
   i = ((NI) 0);
   {
    if (!(((NI) (i)) <= ((NI) 1))) goto LA5_;
    {
     while (1) {
      NI T9_;
      NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
      a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
      i__Vuap9ai8jfbvRhF5w5oYzTw = a;
      asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) incrSeqV3((TGenericSeq*)(s__3LIKhS5Wi6V7579bNnofO5g), (&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_)));
      T9_ = s__3LIKhS5Wi6V7579bNnofO5g->Sup.len++;
      s__3LIKhS5Wi6V7579bNnofO5g->data[T9_] = i__Vuap9ai8jfbvRhF5w5oYzTw;
      {
       if (!(((NI) 1) <= ((NI) (i)))) goto LA12_;
       goto LA7;
      }
      LA12_: ;
      if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
      if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1){ raiseOverflow(); }
      i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
     }
    } LA7: ;
   }
   LA5_: ;
  }
 }
 nimZeroMem((void*)T14_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T14_[0] = dollar___9asdNzTbxWtqZ1OGrivIJqg(s__3LIKhS5Wi6V7579bNnofO5g);
 echoBinSafe(T14_, 1);
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__dmBjsd4qLergxHiuaoLHkg_.size = sizeof(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.align = NIM_ALIGNOF(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.kind = 14;
NTI__dmBjsd4qLergxHiuaoLHkg_.base = 0;
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__dmBjsd4qLergxHiuaoLHkg_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 1<<2;
}

Stats

  • Started 2024-05-09T04:41:08
  • Finished 2024-05-09T04:41:08
  • Duration
1.2.18 πŸ‘ OK

Output

@[a, b]

IR

Compiled filesize 97.74 Kb (100,088 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__K5QKUsFvWE9cHkZ9bUXhYOSQ tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg;
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;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg tyArray__2IabNbFx1rhFM1wHDQ9b5kQ[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ {
TGenericSeq Sup;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*, newSeq__qgwWxgCsoKGJnlgkmBqlUQ)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
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_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
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(NimStringDesc*, dollar___9asdNzTbxWtqZ1OGrivIJqg)(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* x);
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, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE TNimType NTI__dmBjsd4qLergxHiuaoLHkg_;
extern TNimType NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_;
static NIM_CONST tyArray__2IabNbFx1rhFM1wHDQ9b5kQ TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2),
((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10)}
;
N_LIB_PRIVATE tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* s__3LIKhS5Wi6V7579bNnofO5g;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
N_LIB_PRIVATE tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg i__Vuap9ai8jfbvRhF5w5oYzTw;
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__3LIKhS5Wi6V7579bNnofO5g, 0);
}
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(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/arithm"
"etics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 (*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/arithm"
"etics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/compar"
"isons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 (*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
  incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
  decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
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(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();
 tempDatInit000();
 (*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) {
{
 TFrame FR_; FR_.len = 0;
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
}
{
 tyArray__nHXaesL0DJZHyVS07ARPRA T14_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), newSeq__qgwWxgCsoKGJnlgkmBqlUQ(((NI) 0)));
 {
  {
   tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg a;
   NI i;
   a = (tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg)0;
   i = ((NI) 0);
   {
    if (!(((NI) (i)) <= ((NI) 1))) goto LA5_;
    {
     while (1) {
      NI T9_;
      NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
      a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
      i__Vuap9ai8jfbvRhF5w5oYzTw = a;
      asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) incrSeqV3((TGenericSeq*)(s__3LIKhS5Wi6V7579bNnofO5g), (&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_)));
      T9_ = s__3LIKhS5Wi6V7579bNnofO5g->Sup.len++;
      s__3LIKhS5Wi6V7579bNnofO5g->data[T9_] = i__Vuap9ai8jfbvRhF5w5oYzTw;
      {
       if (!(((NI) 1) <= ((NI) (i)))) goto LA12_;
       goto LA7;
      }
      LA12_: ;
      if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
      if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1){ raiseOverflow(); }
      i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
     }
    } LA7: ;
   }
   LA5_: ;
  }
 }
 nimZeroMem((void*)T14_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T14_[0] = dollar___9asdNzTbxWtqZ1OGrivIJqg(s__3LIKhS5Wi6V7579bNnofO5g);
 echoBinSafe(T14_, 1);
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__dmBjsd4qLergxHiuaoLHkg_.size = sizeof(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.kind = 14;
NTI__dmBjsd4qLergxHiuaoLHkg_.base = 0;
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__dmBjsd4qLergxHiuaoLHkg_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 1<<2;
}

Stats

  • Started 2024-05-09T04:41:10
  • Finished 2024-05-09T04:41:11
  • Duration
1.0.10 πŸ‘ OK

Output

@[a, b]

IR

Compiled filesize 92.77 Kb (94,992 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__K5QKUsFvWE9cHkZ9bUXhYOSQ tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg;
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;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg tyArray__2IabNbFx1rhFM1wHDQ9b5kQ[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ {
TGenericSeq Sup;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*, newSeq__qgwWxgCsoKGJnlgkmBqlUQ)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
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_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
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(NimStringDesc*, dollar___9asdNzTbxWtqZ1OGrivIJqg)(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* x);
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, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* s__3LIKhS5Wi6V7579bNnofO5g;
TNimType NTI__dmBjsd4qLergxHiuaoLHkg_;
extern TNimType NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg i__Vuap9ai8jfbvRhF5w5oYzTw;
NIM_CONST tyArray__2IabNbFx1rhFM1wHDQ9b5kQ TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2),
((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10)}
;
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__3LIKhS5Wi6V7579bNnofO5g, 0);
}
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(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 (*c).refcount = (NI)((NU64)((*c).refcount) + (NU64)(((NI) 8)));
 popFrame();
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (ptrdiff_t) (usr))) - (NU64)(((NI) 16)))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 (*c).refcount = (NI)((NU64)((*c).refcount) - (NU64)(((NI) 8)));
 {
  if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
  rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
 }
 LA3_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {	nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
  incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
  decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
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(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(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();
 tempDatInit000();
 (*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) {
{
 tyArray__nHXaesL0DJZHyVS07ARPRA T14_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
 asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), newSeq__qgwWxgCsoKGJnlgkmBqlUQ(((NI) 0)));
 {
  {
   tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg a;
   NI i;
   a = (tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg)0;
   i = ((NI) 0);
   {
    if (!(((NI) (i)) <= ((NI) 1))) goto LA5_;
    {
     while (1) {
      NI T9_;
      NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
      a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
      i__Vuap9ai8jfbvRhF5w5oYzTw = a;
      asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) incrSeqV3((TGenericSeq*)(s__3LIKhS5Wi6V7579bNnofO5g), (&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_)));
      T9_ = s__3LIKhS5Wi6V7579bNnofO5g->Sup.len++;
      s__3LIKhS5Wi6V7579bNnofO5g->data[T9_] = i__Vuap9ai8jfbvRhF5w5oYzTw;
      {
       if (!(((NI) 1) <= ((NI) (i)))) goto LA12_;
       goto LA7;
      }
      LA12_: ;
      TM__SRd76hP9cMfCzdUO857UhQQ_7 = addInt(i, ((NI) 1));
      if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1) raiseOverflow();
      i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
     }
    } LA7: ;
   }
   LA5_: ;
  }
 }
 nimZeroMem((void*)T14_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T14_[0] = dollar___9asdNzTbxWtqZ1OGrivIJqg(s__3LIKhS5Wi6V7579bNnofO5g);
 echoBinSafe(T14_, 1);
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__dmBjsd4qLergxHiuaoLHkg_.size = sizeof(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.kind = 14;
NTI__dmBjsd4qLergxHiuaoLHkg_.base = 0;
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__dmBjsd4qLergxHiuaoLHkg_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 1<<2;
}

Stats

  • Started 2024-05-09T04:41:12
  • Finished 2024-05-09T04:41:13
  • Duration
Stats
  • GCC 11.4.0
  • Clang 14.0.0
  • NodeJS 20.2
  • Created 2024-05-09T04:40: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 18 minutes bisecting 7 commits at 0 commits per second

from nim.

github-actions avatar github-actions commented on June 16, 2024
🐧 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
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/.choosenim/toolchains/nim-#devel/lib/std/assertions.nim failedAssertImpl
/home/runner/.choosenim/toolchains/nim-#devel/lib/std/assertions.nim raiseAssert
/home/runner/.choosenim/toolchains/nim-#devel/lib/system/fatal.nim sysFatal
Error: unhandled exception: /home/runner/work/Nim/Nim/temp.nim(11, 1) `s == @[a, b]`  [AssertionDefect]
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp'
assertions.nim(34)       raiseAssert
Error: unhandled exception: errGenerated [AssertionDefect]

IR

Compiled filesize 98.14 Kb (100,496 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__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
NI len; tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content* p;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
struct NimStrPayload {
 NI cap;
 NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
 NI len;
 NimStrPayload* p;
};
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content { NI cap; tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ, newSeq__temp_u168)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__temp_u217)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x_p0, tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA y_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___temp_u241)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ x_p0, tySequence__fEmfwfXkZgfvfVGgBu0R9aQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u235)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u179)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ dest_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4555)(void);
static N_INLINE(void, popFrame)(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[57+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_3 = { 57 | NIM_STRLIT_FLAG, "/home/runner/work/Nim/Nim/temp.nim(11, 1) `s == @[a, b]` " };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_4 = {57, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_3};
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_2 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10)}
;
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ s__temp_u215;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_u216;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4339;
extern NIM_THREADVAR TFrame* framePtr__system_u2654;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (&nimInErrorMode__system_u4339);
 return result;
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
 {
  if (!(framePtr__system_u2654 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s_p0).calldepth = ((NI16)0);
 }
 goto LA1_;
LA3_: ;
 {
  (*s_p0).calldepth = (NI16)((*framePtr__system_u2654).calldepth + ((NI16)1));
 }
LA1_: ;
 (*s_p0).prev = framePtr__system_u2654;
 framePtr__system_u2654 = s_p0;
 {
  if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
  callDepthLimitReached__system_u4555();
 }
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u2654 = (*framePtr__system_u2654).prev;
}
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) {
{
 tySequence__fEmfwfXkZgfvfVGgBu0R9aQ colontmpD_;
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 s__temp_u215 = newSeq__temp_u168(((NI)0));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI)0);
   {
    while (1) {
     tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA colontmpD__2;
     colontmpD__2 = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_2[(i)- 0];
     i__temp_u216 = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2);
     colontmpD__2 = i__temp_u216;
     add__temp_u217((&s__temp_u215), colontmpD__2);
     {
      if (!(((NI)1) <= ((NI) (i)))) goto LA8_;
      goto LA4;
     }
LA8_: ;
     i += ((NI)1);
    }
   } LA4: ;
  }
 }
 {
  NIM_BOOL T12_;
  colontmpD_.len = 2; colontmpD_.p = (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content*) newSeqPayload(2, sizeof(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA), NIM_ALIGNOF(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA));
  colontmpD_.p->data[0] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2);
  colontmpD_.p->data[1] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10);
  T12_ = (NIM_BOOL)0;
  T12_ = eqeq___temp_u241(s__temp_u215, colontmpD_);
  if (!!(T12_)) goto LA13_;
  failedAssertImpl__stdZassertions_u235(TM__SRd76hP9cMfCzdUO857UhQQ_4);
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 }
LA13_: ;
 {
  LA1_:;
 }
 {
  eqdestroy___temp_u179(colontmpD_);
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u179(s__temp_u215);
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-05-09T04:42:18
  • Finished 2024-05-09T04:42:19
  • Duration

AST

nnkStmtList.newTree(
  nnkTypeSection.newTree(
    nnkTypeDef.newTree(
      newIdentNode("Enum"),
      newEmptyNode(),
      nnkEnumTy.newTree(
        newEmptyNode(),
        nnkEnumFieldDef.newTree(
          newIdentNode("a"),
          newLit(2)
        ),
        nnkEnumFieldDef.newTree(
          newIdentNode("b"),
          newLit(10)
        )
      )
    )
  ),
  nnkIteratorDef.newTree(
    newIdentNode("items2"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newIdentNode("Enum")
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkForStmt.newTree(
        newIdentNode("a"),
        nnkBracket.newTree(
          newIdentNode("a"),
          newIdentNode("b")
        ),
        nnkStmtList.newTree(
          nnkYieldStmt.newTree(
            newIdentNode("a")
          )
        )
      )
    )
  ),
  nnkVarSection.newTree(
    nnkIdentDefs.newTree(
      newIdentNode("s"),
      newEmptyNode(),
      nnkCall.newTree(
        nnkBracketExpr.newTree(
          newIdentNode("newSeq"),
          newIdentNode("Enum")
        )
      )
    )
  ),
  nnkForStmt.newTree(
    newIdentNode("i"),
    nnkCall.newTree(
      newIdentNode("items2")
    ),
    nnkStmtList.newTree(
      nnkCommand.newTree(
        nnkDotExpr.newTree(
          newIdentNode("s"),
          newIdentNode("add")
        ),
        newIdentNode("i")
      )
    )
  ),
  nnkCommand.newTree(
    newIdentNode("doAssert"),
    nnkInfix.newTree(
      newIdentNode("=="),
      newIdentNode("s"),
      nnkPrefix.newTree(
        newIdentNode("@"),
        nnkBracket.newTree(
          newIdentNode("a"),
          newIdentNode("b")
        )
      )
    )
  )
)
stable πŸ‘ OK

Output


IR

Compiled filesize 96.02 Kb (98,328 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__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
NI len; tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content* p;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
struct NimStrPayload {
 NI cap;
 NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
 NI len;
 NimStrPayload* p;
};
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content { NI cap; tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ, newSeq__temp_u207)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__temp_u256)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x_p0, tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA y_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___temp_u280)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ x_p0, tySequence__fEmfwfXkZgfvfVGgBu0R9aQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u310)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u218)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ dest_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4621)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static const struct {
NI cap; NIM_CHAR data[57+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 57 | NIM_STRLIT_FLAG, "/home/runner/work/Nim/Nim/temp.nim(11, 1) `s == @[a, b]` " };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {57, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_2 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10)}
;
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ s__temp_u254;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_u255;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4403;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (&nimInErrorMode__system_u4403);
 return result;
}
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;
}
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;
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_Init000();
 (*inner)();
#else
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_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) {
{
 tySequence__fEmfwfXkZgfvfVGgBu0R9aQ colontmpD_;
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 s__temp_u254 = newSeq__temp_u207(((NI)0));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI)0);
   {
    while (1) {
     tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA colontmpD__2;
     NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
     colontmpD__2 = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_2[(i)- 0];
     i__temp_u255 = a;
     colontmpD__2 = i__temp_u255;
     add__temp_u256((&s__temp_u254), colontmpD__2);
     {
      if (!(((NI)1) <= ((NI) (i)))) goto LA8_;
      goto LA4;
     }
LA8_: ;
     if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
     };
     if (TM__SRd76hP9cMfCzdUO857UhQQ_3 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_3 > 1){ raiseOverflow(); goto LA1_;
     }
     i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    }
   } LA4: ;
  }
 }
 {
  NIM_BOOL T12_;
  colontmpD_.len = 2; colontmpD_.p = (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content*) newSeqPayload(2, sizeof(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA), NIM_ALIGNOF(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA));
  colontmpD_.p->data[0] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2);
  colontmpD_.p->data[1] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10);
  T12_ = (NIM_BOOL)0;
  T12_ = eqeq___temp_u280(s__temp_u254, colontmpD_);
  if (!!(T12_)) goto LA13_;
  failedAssertImpl__stdZassertions_u310(TM__SRd76hP9cMfCzdUO857UhQQ_5);
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 }
LA13_: ;
 {
  LA1_:;
 }
 {
  eqdestroy___temp_u218(colontmpD_);
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u218(s__temp_u254);
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-05-09T04:42:19
  • Finished 2024-05-09T04:42:20
  • Duration
2.0.2 πŸ‘ OK

Output


IR

Compiled filesize 96.03 Kb (98,336 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__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
NI len; tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content* p;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
struct NimStrPayload {
 NI cap;
 NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
 NI len;
 NimStrPayload* p;
};
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content { NI cap; tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ, newSeq__temp_u207)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__temp_u256)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x_p0, tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA y_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___temp_u280)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ x_p0, tySequence__fEmfwfXkZgfvfVGgBu0R9aQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u310)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u218)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ dest_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4621)(void);
static N_INLINE(void, popFrame)(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[57+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 57 | NIM_STRLIT_FLAG, "/home/runner/work/Nim/Nim/temp.nim(11, 1) `s == @[a, b]` " };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {57, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_2 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10)}
;
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ s__temp_u254;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_u255;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4403;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (&nimInErrorMode__system_u4403);
 return result;
}
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;
}
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) {
{
 tySequence__fEmfwfXkZgfvfVGgBu0R9aQ colontmpD_;
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 s__temp_u254 = newSeq__temp_u207(((NI)0));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI)0);
   {
    while (1) {
     tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA colontmpD__2;
     NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
     colontmpD__2 = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_2[(i)- 0];
     i__temp_u255 = a;
     colontmpD__2 = i__temp_u255;
     add__temp_u256((&s__temp_u254), colontmpD__2);
     {
      if (!(((NI)1) <= ((NI) (i)))) goto LA8_;
      goto LA4;
     }
LA8_: ;
     if (nimAddInt(i, ((NI)1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
     };
     if (TM__SRd76hP9cMfCzdUO857UhQQ_3 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_3 > 1){ raiseOverflow(); goto LA1_;
     }
     i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    }
   } LA4: ;
  }
 }
 {
  NIM_BOOL T12_;
  colontmpD_.len = 2; colontmpD_.p = (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ_Content*) newSeqPayload(2, sizeof(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA), NIM_ALIGNOF(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA));
  colontmpD_.p->data[0] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)2);
  colontmpD_.p->data[1] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)10);
  T12_ = (NIM_BOOL)0;
  T12_ = eqeq___temp_u280(s__temp_u254, colontmpD_);
  if (!!(T12_)) goto LA13_;
  failedAssertImpl__stdZassertions_u310(TM__SRd76hP9cMfCzdUO857UhQQ_5);
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 }
LA13_: ;
 {
  LA1_:;
 }
 {
  eqdestroy___temp_u218(colontmpD_);
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u218(s__temp_u254);
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-05-09T04:42:22
  • Finished 2024-05-09T04:42:23
  • Duration
1.6.14 πŸ‘ OK

Output


IR

Compiled filesize 104.85 Kb (107,368 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, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q;
typedef struct tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg;
typedef struct tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ;
typedef struct tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg;
typedef struct tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g;
typedef struct tyObject_SmallChunk__sj9b0POpZpf2pwHAngQ4iuA tyObject_SmallChunk__sj9b0POpZpf2pwHAngQ4iuA;
typedef struct tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A;
typedef struct tyObject_LLChunk__EAcyYaYsVdVpPDOJNXsVvA tyObject_LLChunk__EAcyYaYsVdVpPDOJNXsVvA;
typedef struct tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw;
typedef struct tyObject_Trunk__N5u9b3R0O3g59awa8B9bs6qyg tyObject_Trunk__N5u9b3R0O3g59awa8B9bs6qyg;
typedef struct tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg;
typedef struct tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw;
typedef struct tyTuple__6nVTvmjorcAWafHl9cWGFuA tyTuple__6nVTvmjorcAWafHl9cWGFuA;
typedef struct tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg;
typedef struct tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA;
typedef struct tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA;
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 N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg {
void* bottom;
};
struct tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg {
NI len;
NI cap;
tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q** d;
};
typedef tyObject_SmallChunk__sj9b0POpZpf2pwHAngQ4iuA* tyArray__VYTQW7wK07xvH5Z4opKI1w[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A* tyArray__YkUf1j9c9b6JzhUdDj7S3KQA[32];
typedef tyArray__YkUf1j9c9b6JzhUdDj7S3KQA tyArray__MQbMf9bcijUF9a14VvUbfzqg[24];
typedef tyObject_Trunk__N5u9b3R0O3g59awa8B9bs6qyg* tyArray__sCQfOQF0EdBvLpqvNeg1Mg[256];
struct tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw {
tyArray__sCQfOQF0EdBvLpqvNeg1Mg data;
};
typedef tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* tyArray__Wt2k1c1BbnQ6Nj3SrdvfCw[2];
struct tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg {
tyArray__Wt2k1c1BbnQ6Nj3SrdvfCw link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__6nVTvmjorcAWafHl9cWGFuA {
tyObject_BigChunk__n43IpccPD6dfYiSGXsXF0A* Field0;
NI Field1;
};
typedef tyTuple__6nVTvmjorcAWafHl9cWGFuA tyArray__yUjlcLC9c9aIvr4MhTCDBnnA[30];
struct tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw {
NI len;
tyArray__yUjlcLC9c9aIvr4MhTCDBnnA chunks;
tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw* next;
};
struct tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g {
NI minLargeObj;
NI maxLargeObj;
tyArray__VYTQW7wK07xvH5Z4opKI1w freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__MQbMf9bcijUF9a14VvUbfzqg matrix;
tyObject_LLChunk__EAcyYaYsVdVpPDOJNXsVvA* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__BjiVv2xFwTJmbeWeHvjYQw chunkStarts;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* root;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* deleted;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* last;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__OVssjMzF9b6dF0OdhUI9bjqg bottomData;
tyObject_HeapLinks__vrDr51n9cXj8aHnS73vhJqw heapLinks;
};
struct tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA {
NI counter;
NI max;
tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ* head;
tyObject_PageDesc__i0uwYov8PyHfnx0dx0lOMQ** data;
};
struct tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ {
tyObject_GcStack__kyxCHsHBs9aixKn7J6EMoKg stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg zct;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg decStack;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg tempStack;
NI recGcLock;
tyObject_MemRegion__kTihTuGP022tKEZ5qSTY4g region;
tyObject_GcStat__yGmLruPXMhFV80y1jxAtjg stat;
tyObject_CellSet__9co1sTf9aTPixSgG0AQ20mAA marked;
tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA tyArray__EoEahNCZNHm39czkt8HQFZw[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w;
struct TNimNode {
tyEnum_TNimNodeKind__XtzEyxd2A8uwMJcYYak9c7w kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tySequence__fEmfwfXkZgfvfVGgBu0R9aQ {
TGenericSeq Sup;
tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__fEmfwfXkZgfvfVGgBu0R9aQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*, newSeq__temp_56)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5340)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
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_Cell__vT0lLseQRZ19aq7BbaJzO4Q*, usrToCell__system_5302)(void* usr);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, decRef__system_5347)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5345)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5296)(tyObject_CellSeq__8bh1syZiHlRn5s9cNSwuRKg* s, tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___temp_83)(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* x, tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* y);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
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);
N_LIB_PRIVATE TNimType NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_;
N_LIB_PRIVATE TNimType NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_;
static NIM_CONST tyArray__EoEahNCZNHm39czkt8HQFZw TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA) 2),
((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA) 10)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/work/Nim/Nim/temp.nim(11, 10) `s == @[a, b]` ", 58);
N_LIB_PRIVATE tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* s__temp_73;
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;
extern tyObject_GcHeap__TNN37TDOIST9cBHBYNA9bZrQ gch__system_5249;
N_LIB_PRIVATE tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA i__temp_74;
static N_NIMCALL(void, Marker_tySequence__fEmfwfXkZgfvfVGgBu0R9aQ)(void* p, NI op) {
 tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* a;
 NI T1_;
 a = (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*)p;
 T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__temp_73, 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(NI, pluspercent___system_696)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__system_5340)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*, usrToCell__system_5302)(void* usr) {
 tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 result = (tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/comparisons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__system_5345)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 addZCT__system_5296((&gch__system_5249.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__system_5347)(tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__system_5345(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.6.14/lib/system/gc.nim");
 {
  tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*)0;
  T5_ = usrToCell__system_5302(src);
  incRef__system_5340(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__vT0lLseQRZ19aq7BbaJzO4Q*)0;
  T10_ = usrToCell__system_5302((*dest));
  decRef__system_5347(T10_);
 }
 LA8_: ;
 (*dest) = src;
 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) {
{
 TFrame FR_; FR_.len = 0;
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
}
{
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 asgnRef((void**) (&s__temp_73), newSeq__temp_56(((NI) 0)));
 {
  {
   tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA a;
   NI i;
   a = (tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA)0;
   i = ((NI) 0);
   {
    while (1) {
     NI T5_;
     NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
     a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
     i__temp_74 = a;
     asgnRef((void**) (&s__temp_73), (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*) incrSeqV3((TGenericSeq*)(s__temp_73), (&NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_)));
     T5_ = s__temp_73->Sup.len++;
     s__temp_73->data[T5_] = i__temp_74;
     {
      if (!(((NI) 1) <= ((NI) (i)))) goto LA8_;
      goto LA3;
     }
     LA8_: ;
     if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
     if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1){ raiseOverflow(); }
     i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
    }
   } LA3: ;
  }
 }
 {
  tySequence__fEmfwfXkZgfvfVGgBu0R9aQ* T12_;
  NIM_BOOL T13_;
  T12_ = NIM_NIL;
  T12_ = (tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*) newSeq((&NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_), 2);
  T12_->data[0] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA) 2);
  T12_->data[1] = ((tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA) 10);
  T13_ = (NIM_BOOL)0;
  T13_ = eqeq___temp_83(s__temp_73, T12_);
  if (!!(T13_)) goto LA14_;
  failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
 }
 LA14_: ;
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.size = sizeof(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA);
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.align = NIM_ALIGNOF(tyEnum_Enum__vUE9bEY2Xv5IEByiMQ9bylUA);
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.kind = 14;
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.base = 0;
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_.flags = 1<<2;
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.size = sizeof(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*);
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.align = NIM_ALIGNOF(tySequence__fEmfwfXkZgfvfVGgBu0R9aQ*);
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.kind = 24;
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.base = (&NTIenum__vUE9bEY2Xv5IEByiMQ9bylUA_);
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.flags = 2;
NTIseqLenumT__fEmfwfXkZgfvfVGgBu0R9aQ_.marker = Marker_tySequence__fEmfwfXkZgfvfVGgBu0R9aQ;
}

Stats

  • Started 2024-05-09T04:42:25
  • Finished 2024-05-09T04:42:26
  • Duration
1.4.8 πŸ‘ OK

Output


IR

Compiled filesize 97.21 Kb (99,544 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, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg;
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;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg tyArray__2IabNbFx1rhFM1wHDQ9b5kQ[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ {
TGenericSeq Sup;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*, newSeq__qgwWxgCsoKGJnlgkmBqlUQ)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
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_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___VdQP1AQ8dQ2E1qrT2oUN2w)(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* x, tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* y);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
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, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE TNimType NTI__dmBjsd4qLergxHiuaoLHkg_;
extern TNimType NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_;
static NIM_CONST tyArray__2IabNbFx1rhFM1wHDQ9b5kQ TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2),
((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/work/Nim/Nim/temp.nim(11, 10) `s == @[a, b]` ", 58);
N_LIB_PRIVATE tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* s__3LIKhS5Wi6V7579bNnofO5g;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
N_LIB_PRIVATE tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg i__Vuap9ai8jfbvRhF5w5oYzTw;
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__3LIKhS5Wi6V7579bNnofO5g, 0);
}
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(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/arithme"
"tics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 (*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/arithme"
"tics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/compari"
"sons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 (*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/gc.nim");
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
  incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
  decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
 }
 LA8_: ;
 (*dest) = src;
 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();
 tempDatInit000();
 (*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) {
{
 TFrame FR_; FR_.len = 0;
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
}
{
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), newSeq__qgwWxgCsoKGJnlgkmBqlUQ(((NI) 0)));
 {
  {
   tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg a;
   NI i;
   a = (tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg)0;
   i = ((NI) 0);
   {
    if (!(((NI) (i)) <= ((NI) 1))) goto LA5_;
    {
     while (1) {
      NI T9_;
      NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
      a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
      i__Vuap9ai8jfbvRhF5w5oYzTw = a;
      asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) incrSeqV3((TGenericSeq*)(s__3LIKhS5Wi6V7579bNnofO5g), (&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_)));
      T9_ = s__3LIKhS5Wi6V7579bNnofO5g->Sup.len++;
      s__3LIKhS5Wi6V7579bNnofO5g->data[T9_] = i__Vuap9ai8jfbvRhF5w5oYzTw;
      {
       if (!(((NI) 1) <= ((NI) (i)))) goto LA12_;
       goto LA7;
      }
      LA12_: ;
      if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
      if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1){ raiseOverflow(); }
      i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
     }
    } LA7: ;
   }
   LA5_: ;
  }
 }
 {
  tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* T16_;
  NIM_BOOL T17_;
  T16_ = (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*)0;
  T16_ = (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) newSeq((&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_), 2);
  T16_->data[0] = ((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2);
  T16_->data[1] = ((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10);
  T17_ = (NIM_BOOL)0;
  T17_ = eqeq___VdQP1AQ8dQ2E1qrT2oUN2w(s__3LIKhS5Wi6V7579bNnofO5g, T16_);
  if (!!(T17_)) goto LA18_;
  failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
 }
 LA18_: ;
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__dmBjsd4qLergxHiuaoLHkg_.size = sizeof(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.align = NIM_ALIGNOF(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.kind = 14;
NTI__dmBjsd4qLergxHiuaoLHkg_.base = 0;
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__dmBjsd4qLergxHiuaoLHkg_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 1<<2;
}

Stats

  • Started 2024-05-09T04:42:28
  • Finished 2024-05-09T04:42:28
  • Duration
1.2.18 πŸ‘ OK

Output


IR

Compiled filesize 96.94 Kb (99,264 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, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg;
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;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg tyArray__2IabNbFx1rhFM1wHDQ9b5kQ[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ {
TGenericSeq Sup;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*, newSeq__qgwWxgCsoKGJnlgkmBqlUQ)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
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_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___VdQP1AQ8dQ2E1qrT2oUN2w)(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* x, tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* y);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
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, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE TNimType NTI__dmBjsd4qLergxHiuaoLHkg_;
extern TNimType NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_;
static NIM_CONST tyArray__2IabNbFx1rhFM1wHDQ9b5kQ TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2),
((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_8, "/home/runner/work/Nim/Nim/temp.nim(11, 10) `s == @[a, b]` ", 58);
N_LIB_PRIVATE tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* s__3LIKhS5Wi6V7579bNnofO5g;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
N_LIB_PRIVATE tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg i__Vuap9ai8jfbvRhF5w5oYzTw;
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__3LIKhS5Wi6V7579bNnofO5g, 0);
}
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(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/arithm"
"etics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 (*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/arithm"
"etics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/compar"
"isons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 (*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.2.18/lib/system/gc.nim");
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
  incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
  decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
 }
 LA8_: ;
 (*dest) = src;
 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();
 tempDatInit000();
 (*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) {
{
 TFrame FR_; FR_.len = 0;
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
}
{
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), newSeq__qgwWxgCsoKGJnlgkmBqlUQ(((NI) 0)));
 {
  {
   tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg a;
   NI i;
   a = (tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg)0;
   i = ((NI) 0);
   {
    if (!(((NI) (i)) <= ((NI) 1))) goto LA5_;
    {
     while (1) {
      NI T9_;
      NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
      a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
      i__Vuap9ai8jfbvRhF5w5oYzTw = a;
      asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) incrSeqV3((TGenericSeq*)(s__3LIKhS5Wi6V7579bNnofO5g), (&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_)));
      T9_ = s__3LIKhS5Wi6V7579bNnofO5g->Sup.len++;
      s__3LIKhS5Wi6V7579bNnofO5g->data[T9_] = i__Vuap9ai8jfbvRhF5w5oYzTw;
      {
       if (!(((NI) 1) <= ((NI) (i)))) goto LA12_;
       goto LA7;
      }
      LA12_: ;
      if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
      if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1){ raiseOverflow(); }
      i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
     }
    } LA7: ;
   }
   LA5_: ;
  }
 }
 {
  tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* T16_;
  NIM_BOOL T17_;
  T16_ = NIM_NIL;
  T16_ = (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) newSeq((&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_), 2);
  T16_->data[0] = ((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2);
  T16_->data[1] = ((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10);
  T17_ = (NIM_BOOL)0;
  T17_ = eqeq___VdQP1AQ8dQ2E1qrT2oUN2w(s__3LIKhS5Wi6V7579bNnofO5g, T16_);
  if (!!(T17_)) goto LA18_;
  failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_8));
 }
 LA18_: ;
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__dmBjsd4qLergxHiuaoLHkg_.size = sizeof(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.kind = 14;
NTI__dmBjsd4qLergxHiuaoLHkg_.base = 0;
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__dmBjsd4qLergxHiuaoLHkg_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 1<<2;
}

Stats

  • Started 2024-05-09T04:42:31
  • Finished 2024-05-09T04:42:31
  • Duration
1.0.10 πŸ‘ OK

Output


IR

Compiled filesize 92.09 Kb (94,296 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, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct NimStringDesc NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg;
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;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg tyArray__2IabNbFx1rhFM1wHDQ9b5kQ[2];
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ {
TGenericSeq Sup;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void);
N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*, newSeq__qgwWxgCsoKGJnlgkmBqlUQ)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
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_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___VdQP1AQ8dQ2E1qrT2oUN2w)(tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* x, tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* y);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
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, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* s__3LIKhS5Wi6V7579bNnofO5g;
TNimType NTI__dmBjsd4qLergxHiuaoLHkg_;
extern TNimType NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg i__Vuap9ai8jfbvRhF5w5oYzTw;
NIM_CONST tyArray__2IabNbFx1rhFM1wHDQ9b5kQ TM__SRd76hP9cMfCzdUO857UhQQ_6 = {((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2),
((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10)}
;
NIM_CONST struct {
TGenericSeq Sup;
tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg data[2];
} TM__SRd76hP9cMfCzdUO857UhQQ_9 = {{2, 2 | NIM_STRLIT_FLAG}, {((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 2),
((tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg) 10)}};
NIM_CONST tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ* TM__SRd76hP9cMfCzdUO857UhQQ_8 = ((tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*)&TM__SRd76hP9cMfCzdUO857UhQQ_9);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "/home/runner/work/Nim/Nim/temp.nim(11, 10) `s == @[a, b]` ", 58);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_5)(void) {
 nimGCvisit((void*)s__3LIKhS5Wi6V7579bNnofO5g, 0);
}
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(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 (*c).refcount = (NI)((NU64)((*c).refcount) + (NU64)(((NI) 8)));
 popFrame();
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (ptrdiff_t) (usr))) - (NU64)(((NI) 16)))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 (*c).refcount = (NI)((NU64)((*c).refcount) - (NU64)(((NI) 8)));
 {
  if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
  rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
 }
 LA3_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {	nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.0.10/lib/system/gc.nim");
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
  incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
  decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
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(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();
 tempDatInit000();
 (*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");
 nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_5);
 asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), newSeq__qgwWxgCsoKGJnlgkmBqlUQ(((NI) 0)));
 {
  {
   tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg a;
   NI i;
   a = (tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg)0;
   i = ((NI) 0);
   {
    if (!(((NI) (i)) <= ((NI) 1))) goto LA5_;
    {
     while (1) {
      NI T9_;
      NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
      a = TM__SRd76hP9cMfCzdUO857UhQQ_6[(i)- 0];
      i__Vuap9ai8jfbvRhF5w5oYzTw = a;
      asgnRef((void**) (&s__3LIKhS5Wi6V7579bNnofO5g), (tySequence__K5QKUsFvWE9cHkZ9bUXhYOSQ*) incrSeqV3((TGenericSeq*)(s__3LIKhS5Wi6V7579bNnofO5g), (&NTI__K5QKUsFvWE9cHkZ9bUXhYOSQ_)));
      T9_ = s__3LIKhS5Wi6V7579bNnofO5g->Sup.len++;
      s__3LIKhS5Wi6V7579bNnofO5g->data[T9_] = i__Vuap9ai8jfbvRhF5w5oYzTw;
      {
       if (!(((NI) 1) <= ((NI) (i)))) goto LA12_;
       goto LA7;
      }
      LA12_: ;
      TM__SRd76hP9cMfCzdUO857UhQQ_7 = addInt(i, ((NI) 1));
      if (TM__SRd76hP9cMfCzdUO857UhQQ_7 < 0 || TM__SRd76hP9cMfCzdUO857UhQQ_7 > 1) raiseOverflow();
      i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
     }
    } LA7: ;
   }
   LA5_: ;
  }
 }
 {
  NIM_BOOL T16_;
  T16_ = (NIM_BOOL)0;
  T16_ = eqeq___VdQP1AQ8dQ2E1qrT2oUN2w(s__3LIKhS5Wi6V7579bNnofO5g, TM__SRd76hP9cMfCzdUO857UhQQ_8);
  if (!!(T16_)) goto LA17_;
  failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10));
 }
 LA17_: ;
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
static char* NIM_CONST TM__SRd76hP9cMfCzdUO857UhQQ_3[2] = {
"a", 
"b"};
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__dmBjsd4qLergxHiuaoLHkg_.size = sizeof(tyEnum_Enum__dmBjsd4qLergxHiuaoLHkg);
NTI__dmBjsd4qLergxHiuaoLHkg_.kind = 14;
NTI__dmBjsd4qLergxHiuaoLHkg_.base = 0;
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 3;
for (TM__SRd76hP9cMfCzdUO857UhQQ_4 = 0; TM__SRd76hP9cMfCzdUO857UhQQ_4 < 2; TM__SRd76hP9cMfCzdUO857UhQQ_4++) {
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].offset = TM__SRd76hP9cMfCzdUO857UhQQ_4;
TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0].name = TM__SRd76hP9cMfCzdUO857UhQQ_3[TM__SRd76hP9cMfCzdUO857UhQQ_4];
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[TM__SRd76hP9cMfCzdUO857UhQQ_4] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[TM__SRd76hP9cMfCzdUO857UhQQ_4+0];
}
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].offset = 2;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = 10;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[2].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__dmBjsd4qLergxHiuaoLHkg_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__dmBjsd4qLergxHiuaoLHkg_.flags = 1<<2;
}

Stats

  • Started 2024-05-09T04:42:33
  • Finished 2024-05-09T04:42:33
  • Duration
#cfd69bad1 ➑️ πŸ›

Diagnostics

metagn introduced a bug at 2024-01-18 23:19:29 +0300 on commit #cfd69bad1 with message:

fix wrong subtype relation in tuples & infer some conversions (#23228)

fixes #18125

Previously a tuple type like `(T, int)` would match an expected tuple
type `(U, int)` if `T` is a subtype of `U`. This is wrong since the
codegen does not handle type conversions of individual tuple elements in
a type conversion of an entire tuple. For this reason the compiler
already does not accept `(float, int)` for a matched type `(int, int)`,
however the code that checked for which relations are unacceptable
checked for `< isSubtype` rather than `<= isSubtype`, so subtypes were
not included in the unacceptable relations.

Update: Now only considered unacceptable when inheritance is used, as in
[`paramTypesMatch`](https://github.com/nim-lang/Nim/blob/3379d26629f30e6be8d303a36e220d1039eb4551/compiler/sigmatch.nim#L2252-L2254).
Ideally subtype relations that don't need conversions, like `nil`,
`seq[empty]`, `range[0..5]` etc would be their own relation
`isConcreteSubtype` (which would also allow us to differentiate with
`openArray[T]`), but this is too big of a refactor for now.

To compensate for this making things like `let x: (Parent, int) =
(Child(), 0)` not compile (they would crash codegen before anyway but
should still work in principle), type inference for tuple constructors
is updated such that they call `fitNode` on the fields and their
expected types, so a type conversion is generated for the individual
subtype element.

The bug is in the files:

compiler/semexprs.nim
compiler/sigmatch.nim
tests/tuples/t18125_1.nim
tests/tuples/t18125_2.nim

The bug can be in the commits:

(Diagnostics sometimes off-by-one).

Stats
  • GCC 11.4.0
  • Clang 14.0.0
  • NodeJS 20.2
  • Created 2024-05-09T04:41:47Z
  • Comments 5
  • 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 27 minutes bisecting 599 commits at 22 commits per second

from nim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.