Closed ASVIEST closed 10 months ago
!nim c
try:
raise newException(ValueError, "msg")
except ValueError:
discard
93.53 Kb (95,776 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 tyObject_ValueError__PotCu49bK9cPOepZ9ae9b17fJA tyObject_ValueError__PotCu49bK9cPOepZ9ae9b17fJA;
typedef struct tyObject_CatchableError__9cyZ9aPQenU9bm4gpwSRVmfsA tyObject_CatchableError__9cyZ9aPQenU9bm4gpwSRVmfsA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
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 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 tyObject_CatchableError__9cyZ9aPQenU9bm4gpwSRVmfsA {
Exception Sup;
};
struct tyObject_ValueError__PotCu49bK9cPOepZ9ae9b17fJA {
tyObject_CatchableError__9cyZ9aPQenU9bm4gpwSRVmfsA Sup;
};
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_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
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_u4666)(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, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathdevelatslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimTypeV2 NTIv2__PotCu49bK9cPOepZ9ae9b17fJA_;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_2 = { 3 | NIM_STRLIT_FLAG, "msg" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_3 = {3, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_2};
extern NIM_THREADVAR TFrame* framePtr__system_u4053;
extern NIM_THREADVAR Exception* currException__system_u4055;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4450;
static N_INLINE(void, nimFrame)(TFrame* s_p0) {
{
if (!(framePtr__system_u4053 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s_p0).calldepth = ((NI16)0);
}
goto LA1_;
LA3_: ;
{
(*s_p0).calldepth = (NI16)((*framePtr__system_u4053).calldepth + ((NI16)1));
}
LA1_: ;
(*s_p0).prev = framePtr__system_u4053;
framePtr__system_u4053 = s_p0;
{
if (!((*s_p0).calldepth == ((NI16)2000))) goto LA8_;
callDepthLimitReached__system_u4666();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_u4053 = (*framePtr__system_u4053).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_u4055;
popFrame();
return result;
}
static N_INLINE(void, popCurrentException)(void) {
eqcopy___stdZtypedthreads_u205(&currException__system_u4055, (*currException__system_u4055).up, NIM_FALSE);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4450);
return result;
}
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) {
{
tyObject_ValueError__PotCu49bK9cPOepZ9ae9b17fJA* T2_;
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
T2_ = NIM_NIL;
T2_ = (tyObject_ValueError__PotCu49bK9cPOepZ9ae9b17fJA*) nimNewObj(sizeof(tyObject_ValueError__PotCu49bK9cPOepZ9ae9b17fJA), NIM_ALIGNOF(tyObject_ValueError__PotCu49bK9cPOepZ9ae9b17fJA));
(*T2_).Sup.Sup.Sup.m_type = (&NTIv2__PotCu49bK9cPOepZ9ae9b17fJA_);
(*T2_).Sup.Sup.name = "ValueError";
(*T2_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_3;
(*T2_).Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T2_, "ValueError", "temp", "/home/runner/work/Nim/Nim/temp.nim", 2);
goto LA1_;
if (NIM_UNLIKELY(*nimErr_)) {
LA1_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 2336406272)) {
*nimErr_ = NIM_FALSE;
popCurrentException();
LA4_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2023-12-27T10:41:20
2023-12-27T10:41:21
91.26 Kb (93,448 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 tyObject_ValueError__JGHJiIJd8K0kSrhuBxid5A tyObject_ValueError__JGHJiIJd8K0kSrhuBxid5A;
typedef struct tyObject_CatchableError__rxHq9bMT89aGeTbnViShW6Fg tyObject_CatchableError__rxHq9bMT89aGeTbnViShW6Fg;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__aRxPuiVy40eHoDHZTYiORw tySequence__aRxPuiVy40eHoDHZTYiORw;
typedef struct tySequence__aRxPuiVy40eHoDHZTYiORw_Content tySequence__aRxPuiVy40eHoDHZTYiORw_Content;
typedef struct tyObject_StackTraceEntry__9aEgR7k9cX26jeLo4UpM1xnA tyObject_StackTraceEntry__9aEgR7k9cX26jeLo4UpM1xnA;
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__aRxPuiVy40eHoDHZTYiORw {
NI len; tySequence__aRxPuiVy40eHoDHZTYiORw_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__aRxPuiVy40eHoDHZTYiORw trace;
Exception* up;
};
struct tyObject_CatchableError__rxHq9bMT89aGeTbnViShW6Fg {
Exception Sup;
};
struct tyObject_ValueError__JGHJiIJd8K0kSrhuBxid5A {
tyObject_CatchableError__rxHq9bMT89aGeTbnViShW6Fg Sup;
};
struct tyObject_StackTraceEntry__9aEgR7k9cX26jeLo4UpM1xnA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__aRxPuiVy40eHoDHZTYiORw_Content { NI cap; tyObject_StackTraceEntry__9aEgR7k9cX26jeLo4UpM1xnA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
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, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot2atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimTypeV2 NTIv2__JGHJiIJd8K0kSrhuBxid5A_;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_2 = { 3 | NIM_STRLIT_FLAG, "msg" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_3 = {3, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_2};
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.2/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.2/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 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) {
{
tyObject_ValueError__JGHJiIJd8K0kSrhuBxid5A* T2_;
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
T2_ = NIM_NIL;
T2_ = (tyObject_ValueError__JGHJiIJd8K0kSrhuBxid5A*) nimNewObj(sizeof(tyObject_ValueError__JGHJiIJd8K0kSrhuBxid5A), NIM_ALIGNOF(tyObject_ValueError__JGHJiIJd8K0kSrhuBxid5A));
(*T2_).Sup.Sup.Sup.m_type = (&NTIv2__JGHJiIJd8K0kSrhuBxid5A_);
(*T2_).Sup.Sup.name = "ValueError";
(*T2_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_3;
(*T2_).Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T2_, "ValueError", "temp", "/home/runner/work/Nim/Nim/temp.nim", 2);
goto LA1_;
if (NIM_UNLIKELY(*nimErr_)) {
LA1_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1640597504)) {
*nimErr_ = NIM_FALSE;
popCurrentException();
LA4_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2023-12-27T10:41:21
2023-12-27T10:41:22
91.25 Kb (93,440 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 tyObject_ValueError__I29b1dwcLrTw15fJ82YvM2g tyObject_ValueError__I29b1dwcLrTw15fJ82YvM2g;
typedef struct tyObject_CatchableError__plmui9cLQDf1IsFzhQAAHyg tyObject_CatchableError__plmui9cLQDf1IsFzhQAAHyg;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
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 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 tyObject_CatchableError__plmui9cLQDf1IsFzhQAAHyg {
Exception Sup;
};
struct tyObject_ValueError__I29b1dwcLrTw15fJ82YvM2g {
tyObject_CatchableError__plmui9cLQDf1IsFzhQAAHyg Sup;
};
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_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
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, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot0atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimTypeV2 NTIv2__I29b1dwcLrTw15fJ82YvM2g_;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_2 = { 3 | NIM_STRLIT_FLAG, "msg" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_3 = {3, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_2};
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 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) {
{
tyObject_ValueError__I29b1dwcLrTw15fJ82YvM2g* T2_;
NIM_BOOL* nimErr_;
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
T2_ = NIM_NIL;
T2_ = (tyObject_ValueError__I29b1dwcLrTw15fJ82YvM2g*) nimNewObj(sizeof(tyObject_ValueError__I29b1dwcLrTw15fJ82YvM2g), NIM_ALIGNOF(tyObject_ValueError__I29b1dwcLrTw15fJ82YvM2g));
(*T2_).Sup.Sup.Sup.m_type = (&NTIv2__I29b1dwcLrTw15fJ82YvM2g_);
(*T2_).Sup.Sup.name = "ValueError";
(*T2_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_3;
(*T2_).Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T2_, "ValueError", "temp", "/home/runner/work/Nim/Nim/temp.nim", 2);
goto LA1_;
if (NIM_UNLIKELY(*nimErr_)) {
LA1_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1874163456)) {
*nimErr_ = NIM_FALSE;
popCurrentException();
LA4_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
BeforeRet_: ;
nimTestErrorFlag();
popFrame();
}
}
```
2023-12-27T10:41:24
2023-12-27T10:41:25
96.05 Kb (98,360 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2023-12-27T10:41:27
2023-12-27T10:41:28
91.88 Kb (94,080 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2023-12-27T10:41:30
2023-12-27T10:41:30
91.60 Kb (93,800 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2023-12-27T10:41:33
2023-12-27T10:41:33
87.22 Kb (89,312 bytes)
```cpp
#define NIM_INTBITS 64
#include "nimbase.h"
#include 2023-12-27T10:41:34
2023-12-27T10:41:35
11.4.0
14.0.0
19.0
2023-12-27T10:40:49Z
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 18 minutes
bisecting 7
commits at 0
commits per second
Description
Nim Version
Nim Compiler Version 2.0.0 [Android: arm64] Compiled at 2023-08-01 Copyright (c) 2006-2023 by Andreas Rumpf
git hash: a488067a4130f029000be4550a0fb1b39e0e9e7c active boot switches: -d:release -d:danger
Current Output
Expected Output
Possible Solution
No response
Additional Information
No response