Closed c-blake closed 1 month ago
!nim c
iterator `..`(a, b: ptr int16): ptr int16 = discard
var a: seq[int16] #; let p = a[0].addr
var b: seq[ptr int16]
for x in a[0].addr .. b[1]: # `p .. b[1]` works
discard
0 (0 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u114)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4613)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u2654;
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u114)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
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_u4613();
}
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) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
{
NI16** colontmp_;
NI16** colontmp__2;
colontmp_ = (NI16**)0;
colontmp__2 = (NI16**)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto BeforeRet_;
}
colontmp_ = &(&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto BeforeRet_;
}
colontmp__2 = &b__temp_u5.p->data[((NI)1)];
}
eqdestroy___temp_u114(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:17:35
2024-08-19T14:17:35
93.02 Kb (95,248 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u133)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4620)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot8atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u4059;
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u133)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4059 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4059).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4059;
framePtr__system_u4059 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4620();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4059 = (*framePtr__system_u4059).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;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot8atslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot8atslibatssystemdotnim_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) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto BeforeRet_;
}
colontmp_ = (&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto BeforeRet_;
}
colontmp__2 = b__temp_u5.p->data[((NI)1)];
}
eqdestroy___temp_u133(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:17:39
2024-08-19T14:17:40
90.88 Kb (93,064 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg 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);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
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) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto BeforeRet_;
}
colontmp_ = (&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto BeforeRet_;
}
colontmp__2 = b__temp_u5.p->data[((NI)1)];
}
eqdestroy___temp_u152(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:17:43
2024-08-19T14:17:43
90.88 Kb (93,064 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4607)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot0atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u4006;
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4006 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4006).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4006;
framePtr__system_u4006 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4607();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4006 = (*framePtr__system_u4006).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;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot0atslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot0atslibatssystemdotnim_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) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto BeforeRet_;
}
colontmp_ = (&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto BeforeRet_;
}
colontmp__2 = b__temp_u5.p->data[((NI)1)];
}
eqdestroy___temp_u152(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:17:46
2024-08-19T14:17:46
96.23 Kb (98,544 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA;
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__b9brdfAMvuT12kv1MtmF3IQ kind;
tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig;
struct TNimNode {
tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
TGenericSeq Sup;
NI16 data[SEQ_DECL_SIZE];
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
TGenericSeq Sup;
NI16* data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u2997)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_;
N_LIB_PRIVATE TNimType NTIseqLint4954T__9aKpvUh0ca6Bp9cKAwrowqUg_;
extern TNimType NTIptrint4954__BjHmAJOH9agj4KRxOkanazQ_;
N_LIB_PRIVATE TNimType NTIseqLptrint4954T__2y1m1EUp8CMGUuUL35nZng_;
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg* a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng* b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern TFrame* framePtr__system_u2564;
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op) {
tySequence__9aKpvUh0ca6Bp9cKAwrowqUg* a;
NI T1_;
a = (tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void) {
nimGCvisit((void*)a__temp_u4, 0);
}
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op) {
tySequence__2y1m1EUp8CMGUuUL35nZng* a;
NI T1_;
a = (tySequence__2y1m1EUp8CMGUuUL35nZng*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void) {
nimGCvisit((void*)b__temp_u5, 0);
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_u2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_u2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_u2564;
framePtr__system_u2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_u2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u2564 = (*framePtr__system_u2564).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) {
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_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_2);
nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_3);
}
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if (((NI) 0) < 0 || ((NI) 0) >= (a__temp_u4 ? a__temp_u4->Sup.len : 0)){ raiseIndexError2(((NI) 0),(a__temp_u4 ? a__temp_u4->Sup.len : 0)-1); }
colontmp_ = (&a__temp_u4->data[((NI) 0)]);
if (((NI) 1) < 0 || ((NI) 1) >= (b__temp_u5 ? b__temp_u5->Sup.len : 0)){ raiseIndexError2(((NI) 1),(b__temp_u5 ? b__temp_u5->Sup.len : 0)-1); }
colontmp__2 = b__temp_u5->data[((NI) 1)];
}
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLint4954T__9aKpvUh0ca6Bp9cKAwrowqUg_.size = sizeof(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*);
NTIseqLint4954T__9aKpvUh0ca6Bp9cKAwrowqUg_.align = NIM_ALIGNOF(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*);
NTIseqLint4954T__9aKpvUh0ca6Bp9cKAwrowqUg_.kind = 24;
NTIseqLint4954T__9aKpvUh0ca6Bp9cKAwrowqUg_.base = (&NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_);
NTIseqLint4954T__9aKpvUh0ca6Bp9cKAwrowqUg_.flags = 2;
NTIseqLint4954T__9aKpvUh0ca6Bp9cKAwrowqUg_.marker = Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
NTIseqLptrint4954T__2y1m1EUp8CMGUuUL35nZng_.size = sizeof(tySequence__2y1m1EUp8CMGUuUL35nZng*);
NTIseqLptrint4954T__2y1m1EUp8CMGUuUL35nZng_.align = NIM_ALIGNOF(tySequence__2y1m1EUp8CMGUuUL35nZng*);
NTIseqLptrint4954T__2y1m1EUp8CMGUuUL35nZng_.kind = 24;
NTIseqLptrint4954T__2y1m1EUp8CMGUuUL35nZng_.base = (&NTIptrint4954__BjHmAJOH9agj4KRxOkanazQ_);
NTIseqLptrint4954T__2y1m1EUp8CMGUuUL35nZng_.flags = 2;
NTIseqLptrint4954T__2y1m1EUp8CMGUuUL35nZng_.marker = Marker_tySequence__2y1m1EUp8CMGUuUL35nZng;
}
```
2024-08-19T14:17:49
2024-08-19T14:17:49
92.35 Kb (94,568 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
TGenericSeq Sup;
NI16 data[SEQ_DECL_SIZE];
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
TGenericSeq Sup;
NI16* data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
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);
extern TNimType NTI__kDPg4wXyR8DDyA0MeEjIsw_;
N_LIB_PRIVATE TNimType NTI__9aKpvUh0ca6Bp9cKAwrowqUg_;
extern TNimType NTI__BjHmAJOH9agj4KRxOkanazQ_;
N_LIB_PRIVATE TNimType NTI__2y1m1EUp8CMGUuUL35nZng_;
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg* a__pmzNoNHAcaDPxnGmV0hjXA;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng* b__iHlVDQBNmXEkRnHxFLlelA;
N_LIB_PRIVATE NI16* x__FnxVSC5bS7DK6G1Il7xEdA;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op) {
tySequence__9aKpvUh0ca6Bp9cKAwrowqUg* a;
NI T1_;
a = (tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void) {
nimGCvisit((void*)a__pmzNoNHAcaDPxnGmV0hjXA, 0);
}
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op) {
tySequence__2y1m1EUp8CMGUuUL35nZng* a;
NI T1_;
a = (tySequence__2y1m1EUp8CMGUuUL35nZng*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void) {
nimGCvisit((void*)b__iHlVDQBNmXEkRnHxFLlelA, 0);
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
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;
}
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_2);
nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_3);
}
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if ((NU)(((NI) 0)) >= (NU)(a__pmzNoNHAcaDPxnGmV0hjXA ? a__pmzNoNHAcaDPxnGmV0hjXA->Sup.len : 0)){ raiseIndexError2(((NI) 0),(a__pmzNoNHAcaDPxnGmV0hjXA ? a__pmzNoNHAcaDPxnGmV0hjXA->Sup.len : 0)-1); }
colontmp_ = (&a__pmzNoNHAcaDPxnGmV0hjXA->data[((NI) 0)]);
if ((NU)(((NI) 1)) >= (NU)(b__iHlVDQBNmXEkRnHxFLlelA ? b__iHlVDQBNmXEkRnHxFLlelA->Sup.len : 0)){ raiseIndexError2(((NI) 1),(b__iHlVDQBNmXEkRnHxFLlelA ? b__iHlVDQBNmXEkRnHxFLlelA->Sup.len : 0)-1); }
colontmp__2 = b__iHlVDQBNmXEkRnHxFLlelA->data[((NI) 1)];
}
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.size = sizeof(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*);
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.align = NIM_ALIGNOF(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*);
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.kind = 24;
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.base = (&NTI__kDPg4wXyR8DDyA0MeEjIsw_);
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.marker = Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
NTI__2y1m1EUp8CMGUuUL35nZng_.size = sizeof(tySequence__2y1m1EUp8CMGUuUL35nZng*);
NTI__2y1m1EUp8CMGUuUL35nZng_.align = NIM_ALIGNOF(tySequence__2y1m1EUp8CMGUuUL35nZng*);
NTI__2y1m1EUp8CMGUuUL35nZng_.kind = 24;
NTI__2y1m1EUp8CMGUuUL35nZng_.base = (&NTI__BjHmAJOH9agj4KRxOkanazQ_);
NTI__2y1m1EUp8CMGUuUL35nZng_.marker = Marker_tySequence__2y1m1EUp8CMGUuUL35nZng;
}
```
2024-08-19T14:17:51
2024-08-19T14:17:52
92.08 Kb (94,288 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
TGenericSeq Sup;
NI16 data[SEQ_DECL_SIZE];
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
TGenericSeq Sup;
NI16* data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
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);
extern TNimType NTI__kDPg4wXyR8DDyA0MeEjIsw_;
N_LIB_PRIVATE TNimType NTI__9aKpvUh0ca6Bp9cKAwrowqUg_;
extern TNimType NTI__BjHmAJOH9agj4KRxOkanazQ_;
N_LIB_PRIVATE TNimType NTI__2y1m1EUp8CMGUuUL35nZng_;
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg* a__pmzNoNHAcaDPxnGmV0hjXA;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng* b__iHlVDQBNmXEkRnHxFLlelA;
N_LIB_PRIVATE NI16* x__FnxVSC5bS7DK6G1Il7xEdA;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op) {
tySequence__9aKpvUh0ca6Bp9cKAwrowqUg* a;
NI T1_;
a = (tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void) {
nimGCvisit((void*)a__pmzNoNHAcaDPxnGmV0hjXA, 0);
}
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op) {
tySequence__2y1m1EUp8CMGUuUL35nZng* a;
NI T1_;
a = (tySequence__2y1m1EUp8CMGUuUL35nZng*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void) {
nimGCvisit((void*)b__iHlVDQBNmXEkRnHxFLlelA, 0);
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
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;
}
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_2);
nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_3);
}
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if ((NU)(((NI) 0)) >= (NU)(a__pmzNoNHAcaDPxnGmV0hjXA ? a__pmzNoNHAcaDPxnGmV0hjXA->Sup.len : 0)){ raiseIndexError2(((NI) 0),(a__pmzNoNHAcaDPxnGmV0hjXA ? a__pmzNoNHAcaDPxnGmV0hjXA->Sup.len : 0)-1); }
colontmp_ = (&a__pmzNoNHAcaDPxnGmV0hjXA->data[((NI) 0)]);
if ((NU)(((NI) 1)) >= (NU)(b__iHlVDQBNmXEkRnHxFLlelA ? b__iHlVDQBNmXEkRnHxFLlelA->Sup.len : 0)){ raiseIndexError2(((NI) 1),(b__iHlVDQBNmXEkRnHxFLlelA ? b__iHlVDQBNmXEkRnHxFLlelA->Sup.len : 0)-1); }
colontmp__2 = b__iHlVDQBNmXEkRnHxFLlelA->data[((NI) 1)];
}
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.size = sizeof(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*);
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.kind = 24;
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.base = (&NTI__kDPg4wXyR8DDyA0MeEjIsw_);
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.flags = 2;
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.marker = Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
NTI__2y1m1EUp8CMGUuUL35nZng_.size = sizeof(tySequence__2y1m1EUp8CMGUuUL35nZng*);
NTI__2y1m1EUp8CMGUuUL35nZng_.kind = 24;
NTI__2y1m1EUp8CMGUuUL35nZng_.base = (&NTI__BjHmAJOH9agj4KRxOkanazQ_);
NTI__2y1m1EUp8CMGUuUL35nZng_.flags = 2;
NTI__2y1m1EUp8CMGUuUL35nZng_.marker = Marker_tySequence__2y1m1EUp8CMGUuUL35nZng;
}
```
2024-08-19T14:17:54
2024-08-19T14:17:54
87.17 Kb (89,264 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
TGenericSeq Sup;
NI16 data[SEQ_DECL_SIZE];
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
TGenericSeq Sup;
NI16* data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void);
N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op);
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
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__9aKpvUh0ca6Bp9cKAwrowqUg* a__pmzNoNHAcaDPxnGmV0hjXA;
extern TNimType NTI__kDPg4wXyR8DDyA0MeEjIsw_;
TNimType NTI__9aKpvUh0ca6Bp9cKAwrowqUg_;
tySequence__2y1m1EUp8CMGUuUL35nZng* b__iHlVDQBNmXEkRnHxFLlelA;
extern TNimType NTI__BjHmAJOH9agj4KRxOkanazQ_;
TNimType NTI__2y1m1EUp8CMGUuUL35nZng_;
NI16* x__FnxVSC5bS7DK6G1Il7xEdA;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_NIMCALL(void, Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg)(void* p, NI op) {
tySequence__9aKpvUh0ca6Bp9cKAwrowqUg* a;
NI T1_;
a = (tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_2)(void) {
nimGCvisit((void*)a__pmzNoNHAcaDPxnGmV0hjXA, 0);
}
static N_NIMCALL(void, Marker_tySequence__2y1m1EUp8CMGUuUL35nZng)(void* p, NI op) {
tySequence__2y1m1EUp8CMGUuUL35nZng* a;
NI T1_;
a = (tySequence__2y1m1EUp8CMGUuUL35nZng*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, TM__SRd76hP9cMfCzdUO857UhQQ_3)(void) {
nimGCvisit((void*)b__iHlVDQBNmXEkRnHxFLlelA, 0);
}
static N_INLINE(void, initStackBottomWith)(void* locals) { nimGC_setStackBottom(locals);
}
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;
}
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_2);
nimRegisterGlobalMarker(TM__SRd76hP9cMfCzdUO857UhQQ_3);
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if ((NU)(((NI) 0)) >= (NU)(a__pmzNoNHAcaDPxnGmV0hjXA ? a__pmzNoNHAcaDPxnGmV0hjXA->Sup.len : 0)) raiseIndexError2(((NI) 0),(a__pmzNoNHAcaDPxnGmV0hjXA ? a__pmzNoNHAcaDPxnGmV0hjXA->Sup.len : 0)-1);
colontmp_ = (&a__pmzNoNHAcaDPxnGmV0hjXA->data[((NI) 0)]);
if ((NU)(((NI) 1)) >= (NU)(b__iHlVDQBNmXEkRnHxFLlelA ? b__iHlVDQBNmXEkRnHxFLlelA->Sup.len : 0)) raiseIndexError2(((NI) 1),(b__iHlVDQBNmXEkRnHxFLlelA ? b__iHlVDQBNmXEkRnHxFLlelA->Sup.len : 0)-1);
colontmp__2 = b__iHlVDQBNmXEkRnHxFLlelA->data[((NI) 1)];
}
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.size = sizeof(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg*);
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.kind = 24;
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.base = (&NTI__kDPg4wXyR8DDyA0MeEjIsw_);
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.flags = 2;
NTI__9aKpvUh0ca6Bp9cKAwrowqUg_.marker = Marker_tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
NTI__2y1m1EUp8CMGUuUL35nZng_.size = sizeof(tySequence__2y1m1EUp8CMGUuUL35nZng*);
NTI__2y1m1EUp8CMGUuUL35nZng_.kind = 24;
NTI__2y1m1EUp8CMGUuUL35nZng_.base = (&NTI__BjHmAJOH9agj4KRxOkanazQ_);
NTI__2y1m1EUp8CMGUuUL35nZng_.flags = 2;
NTI__2y1m1EUp8CMGUuUL35nZng_.marker = Marker_tySequence__2y1m1EUp8CMGUuUL35nZng;
}
```
2024-08-19T14:17:56
2024-08-19T14:17:56
11.4.0
14.0.0
20.4
2024-08-19T14:17:08Z
1
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
:robot: Bug found in 24 minutes
bisecting 8
commits at 0
commits per second
!nim c
iterator `..`(a, b: ptr int16): ptr int16 = discard
var a: seq[int16] #; let p = a[0].addr
var b: seq[ptr int16]
try:
for x in a[0].addr .. b[1]: # `p .. b[1]` works
discard
except IndexDefect:
discard
FWIW, I was using gcc-13.3 (not gcc-11.4), and an old (contemporaneous!) nim-1.6.12 build I keep around was also generating C code compilable with also clang-18.1.8 and tcc
as well as that gcc
. Perhaps I should remove the "Recent" qualifier in the title, if nim-core cannot repro any success case, though?
Oh, wait - your bisect is actually trying to run the code, not merely compile it. I didn't really make the example "successfully runnable". An index defect is expected, as written. To be more clear, it was a C-compiles vs. C backend failure I am trying to report. So, in your bisect log summaries it seems to fail somewhere between "stable" and "devel".
Edit: and it works (compiles, not runs) at least as far back as nim-0.20.2 for me. So, this seems like a recent regression. It could maybe be tagged as such since both of the runaction bisects show that.
As to priority, I don't know.. the context was in porting a C code base that does a lot of "pointer arithmetic loops" and I was attempting to port the code to Nim in stages where one stage was doing similar loops without re-doing all the indexing and there may be a workaround for the Nim bug with "simple" expressions (as per comments in the code example).
0 (0 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ;
typedef struct tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ_Content tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ_Content;
typedef struct tyObject_StackTraceEntry__2Xjg6E7TZG7p9bcgUNTKHrg tyObject_StackTraceEntry__2Xjg6E7TZG7p9bcgUNTKHrg;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ {
NI len; tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ trace;
Exception* up;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__2Xjg6E7TZG7p9bcgUNTKHrg {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__9bNRJkU9cJnNkESCDTQ7DgcQ_Content { NI cap; tyObject_StackTraceEntry__2Xjg6E7TZG7p9bcgUNTKHrg data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4613)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZtypedthreads_u205)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u114)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u2654;
extern NIM_THREADVAR Exception* currException__system_u4062;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4397;
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_u4613();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u2654 = (*framePtr__system_u2654).prev;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
NIM_BOOL result;
NIM_BOOL T1_;
nimfr_("isObjDisplayCheck", "/home/runner/.choosenim/toolchains/nim-#devel/lib/system/arc.nim");
T1_ = (NIM_BOOL)0;
T1_ = (targetDepth_p1 <= (*source_p0).depth);
if (!(T1_)) goto LA2_;
T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
result = T1_;
popFrame();
return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
Exception* result;
nimfr_("nimBorrowCurrentException", "/home/runner/.choosenim/toolchains/nim-#devel/lib/system.nim");
result = currException__system_u4062;
popFrame();
return result;
}
static N_INLINE(void, popCurrentException)(void) {
eqcopy___stdZtypedthreads_u205(&currException__system_u4062, (*currException__system_u4062).up, NIM_FALSE);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4397);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u114)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
#if 0
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 0
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
(*inner)();
#else
PreMain();
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
{
NI16** colontmp_;
NI16** colontmp__2;
colontmp_ = (NI16**)0;
colontmp__2 = (NI16**)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto LA1_;
}
colontmp_ = &(&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto LA1_;
}
colontmp__2 = &b__temp_u5.p->data[((NI)1)];
}
if (NIM_UNLIKELY(*nimErr_)) {
LA1_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3583981056)) {
*nimErr_ = NIM_FALSE;
popCurrentException();
LA4_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___temp_u114(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:20:34
2024-08-19T14:20:35
93.16 Kb (95,392 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__LaG9a3ln9cHpAtM2PoiEBtMA tySequence__LaG9a3ln9cHpAtM2PoiEBtMA;
typedef struct tySequence__LaG9a3ln9cHpAtM2PoiEBtMA_Content tySequence__LaG9a3ln9cHpAtM2PoiEBtMA_Content;
typedef struct tyObject_StackTraceEntry__AolQsxmhMZzaZBPezNXohw tyObject_StackTraceEntry__AolQsxmhMZzaZBPezNXohw;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__LaG9a3ln9cHpAtM2PoiEBtMA {
NI len; tySequence__LaG9a3ln9cHpAtM2PoiEBtMA_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__LaG9a3ln9cHpAtM2PoiEBtMA trace;
Exception* up;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__AolQsxmhMZzaZBPezNXohw {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__LaG9a3ln9cHpAtM2PoiEBtMA_Content { NI cap; tyObject_StackTraceEntry__AolQsxmhMZzaZBPezNXohw data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4620)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZtypedthreads_u205)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u133)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot8atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u4059;
extern NIM_THREADVAR Exception* currException__system_u4060;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4402;
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4059 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4059).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4059;
framePtr__system_u4059 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4620();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4059 = (*framePtr__system_u4059).prev;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
NIM_BOOL result;
NIM_BOOL T1_;
nimfr_("isObjDisplayCheck", "/home/runner/.choosenim/toolchains/nim-2.0.8/lib/system/arc.nim");
T1_ = (NIM_BOOL)0;
T1_ = (targetDepth_p1 <= (*source_p0).depth);
if (!(T1_)) goto LA2_;
T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
result = T1_;
popFrame();
return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
Exception* result;
nimfr_("nimBorrowCurrentException", "/home/runner/.choosenim/toolchains/nim-2.0.8/lib/system.nim");
result = currException__system_u4060;
popFrame();
return result;
}
static N_INLINE(void, popCurrentException)(void) {
eqcopy___stdZtypedthreads_u205(&currException__system_u4060, (*currException__system_u4060).up, NIM_FALSE);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4402);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u133)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
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;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot8atslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot8atslibatssystemdotnim_Init000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 0
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
(*inner)();
#else
PreMain();
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto LA1_;
}
colontmp_ = (&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto LA1_;
}
colontmp__2 = b__temp_u5.p->data[((NI)1)];
}
if (NIM_UNLIKELY(*nimErr_)) {
LA1_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 22724608)) {
*nimErr_ = NIM_FALSE;
popCurrentException();
LA4_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___temp_u133(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:20:39
2024-08-19T14:20:39
91.02 Kb (93,200 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ;
typedef struct tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ_Content tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ_Content;
typedef struct tyObject_StackTraceEntry__6CL1lcV9bxEp7TPS0fN8sRQ tyObject_StackTraceEntry__6CL1lcV9bxEp7TPS0fN8sRQ;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ {
NI len; tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ trace;
Exception* up;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__6CL1lcV9bxEp7TPS0fN8sRQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__W5u7dtuXI9c4BOBf9bW9bZhWQ_Content { NI cap; tyObject_StackTraceEntry__6CL1lcV9bxEp7TPS0fN8sRQ data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4621)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZtypedthreads_u207)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
extern NIM_THREADVAR Exception* currException__system_u4022;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4403;
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4020 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4020).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4020;
framePtr__system_u4020 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4621();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4020 = (*framePtr__system_u4020).prev;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
NIM_BOOL result;
NIM_BOOL T1_;
nimfr_("isObjDisplayCheck", "/home/runner/.choosenim/toolchains/nim-2.0.4/lib/system/arc.nim");
T1_ = (NIM_BOOL)0;
T1_ = (targetDepth_p1 <= (*source_p0).depth);
if (!(T1_)) goto LA2_;
T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
result = T1_;
popFrame();
return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
Exception* result;
nimfr_("nimBorrowCurrentException", "/home/runner/.choosenim/toolchains/nim-2.0.4/lib/system.nim");
result = currException__system_u4022;
popFrame();
return result;
}
static N_INLINE(void, popCurrentException)(void) {
eqcopy___stdZtypedthreads_u207(&currException__system_u4022, (*currException__system_u4022).up, NIM_FALSE);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4403);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
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) {
{
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto LA1_;
}
colontmp_ = (&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto LA1_;
}
colontmp__2 = b__temp_u5.p->data[((NI)1)];
}
if (NIM_UNLIKELY(*nimErr_)) {
LA1_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 162023424)) {
*nimErr_ = NIM_FALSE;
popCurrentException();
LA4_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___temp_u152(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:20:42
2024-08-19T14:20:42
91.02 Kb (93,200 bytes)
```cpp
#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__9aKpvUh0ca6Bp9cKAwrowqUg tySequence__9aKpvUh0ca6Bp9cKAwrowqUg;
typedef struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng tySequence__2y1m1EUp8CMGUuUL35nZng;
typedef struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content tySequence__2y1m1EUp8CMGUuUL35nZng_Content;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__2ALwPJKv8Nz8mMm4Hy9crdw tySequence__2ALwPJKv8Nz8mMm4Hy9crdw;
typedef struct tySequence__2ALwPJKv8Nz8mMm4Hy9crdw_Content tySequence__2ALwPJKv8Nz8mMm4Hy9crdw_Content;
typedef struct tyObject_StackTraceEntry__nOjYJiLBbFH64nNmW1UArA tyObject_StackTraceEntry__nOjYJiLBbFH64nNmW1UArA;
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg {
NI len; tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content* p;
};
struct tySequence__2y1m1EUp8CMGUuUL35nZng {
NI len; tySequence__2y1m1EUp8CMGUuUL35nZng_Content* p;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__2ALwPJKv8Nz8mMm4Hy9crdw {
NI len; tySequence__2ALwPJKv8Nz8mMm4Hy9crdw_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__2ALwPJKv8Nz8mMm4Hy9crdw trace;
Exception* up;
};
struct tySequence__9aKpvUh0ca6Bp9cKAwrowqUg_Content { NI cap; NI16 data[SEQ_DECL_SIZE]; };
struct tySequence__2y1m1EUp8CMGUuUL35nZng_Content { NI cap; NI16* data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__nOjYJiLBbFH64nNmW1UArA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__2ALwPJKv8Nz8mMm4Hy9crdw_Content { NI cap; tyObject_StackTraceEntry__nOjYJiLBbFH64nNmW1UArA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(void, nimFrame)(TFrame* s_p0);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4607)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZtypedthreads_u207)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot0atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE tySequence__9aKpvUh0ca6Bp9cKAwrowqUg a__temp_u4;
N_LIB_PRIVATE tySequence__2y1m1EUp8CMGUuUL35nZng b__temp_u5;
N_LIB_PRIVATE NI16* x__temp_u6;
extern NIM_THREADVAR TFrame* framePtr__system_u4006;
extern NIM_THREADVAR Exception* currException__system_u4008;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4389;
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4006 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4006).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4006;
framePtr__system_u4006 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4607();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4006 = (*framePtr__system_u4006).prev;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
NIM_BOOL result;
NIM_BOOL T1_;
nimfr_("isObjDisplayCheck", "/home/runner/.choosenim/toolchains/nim-2.0.0/lib/system/arc.nim");
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (targetDepth_p1 <= (*source_p0).depth);
if (!(T1_)) goto LA2_;
T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
result = T1_;
popFrame();
return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
Exception* result;
nimfr_("nimBorrowCurrentException", "/home/runner/.choosenim/toolchains/nim-2.0.0/lib/system.nim");
result = NIM_NIL;
result = currException__system_u4008;
popFrame();
return result;
}
static N_INLINE(void, popCurrentException)(void) {
eqcopy___stdZtypedthreads_u207(&currException__system_u4008, (*currException__system_u4008).up, NIM_FALSE);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_u4389);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u152)(tySequence__2y1m1EUp8CMGUuUL35nZng dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16*));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u10)(tySequence__9aKpvUh0ca6Bp9cKAwrowqUg dest_p0) {
if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc(dest_p0.p, NIM_ALIGNOF(NI16));
}
}
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;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot0atslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot0atslibatssystemdotnim_Init000();
PreMainInner();
#endif
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
#if 0
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
(*inner)();
#else
PreMain();
NimMainInner();
#endif
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
{
NI16* colontmp_;
NI16* colontmp__2;
colontmp_ = (NI16*)0;
colontmp__2 = (NI16*)0;
if (((NI)0) < 0 || ((NI)0) >= a__temp_u4.len){ raiseIndexError2(((NI)0),a__temp_u4.len-1); goto LA1_;
}
colontmp_ = (&a__temp_u4.p->data[((NI)0)]);
if (((NI)1) < 0 || ((NI)1) >= b__temp_u5.len){ raiseIndexError2(((NI)1),b__temp_u5.len-1); goto LA1_;
}
colontmp__2 = b__temp_u5.p->data[((NI)1)];
}
if (NIM_UNLIKELY(*nimErr_)) {
LA1_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1149612032)) {
*nimErr_ = NIM_FALSE;
popCurrentException();
LA4_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___temp_u152(b__temp_u5);
eqdestroy___temp_u10(a__temp_u4);
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2024-08-19T14:20:45
2024-08-19T14:20:46
96.62 Kb (98,936 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2024-08-19T14:20:48
2024-08-19T14:20:49
96.73 Kb (99,056 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2024-08-19T14:20:51
2024-08-19T14:20:51
96.73 Kb (99,056 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2024-08-19T14:20:53
2024-08-19T14:20:54
96.73 Kb (99,056 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2024-08-19T14:20:56
2024-08-19T14:20:56
2023-12-02 05:28:24 +0100
on commit #0d24f7654 with message:
```
fixes #22552 (#23014)
```
The bug is in the files:
```
compiler/ic/ic.nim
compiler/injectdestructors.nim
compiler/magicsys.nim
compiler/semdata.nim
compiler/transf.nim
tests/arc/titeration_doesnt_copy.nim
```
The bug can be in the commits:
(Diagnostics sometimes off-by-one).11.4.0
14.0.0
20.4
2024-08-19T14:20:04Z
3
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
:robot: Bug found in 26 minutes
bisecting 770
commits at 29
commits per second
@c-blake Ideally code repro samples should be, as small and simple as possible, runnable, and assertive.
I did try to make it as simple as possible. The starting point was hundreds of lines! If you have a way to simplify more while preserving the C compilation success/failure patterns then by all means, go for it!
Description
Nim Version
Devel head a4dff1a03e514946b419fd9af0ac08b7a4b40a50 fails
Current Output
Possible Solution
bisect might be a first start, but I did not do this.
Additional Information
Works (or at least compiles) in nim-1.6.12 with both arc and refc. Works with
{.closure.}
on the iterator. Also works if the commented outp
is used instead of the inline expression. But as written, fails with both--mm=arc
and--mm=refc
on devel.