-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Method calling proc with return value overlapping declared generic type generates invalid C #23765
Labels
Comments
!nim c type
X[T, E] = object
m: T
B = X[culonglong, cstring]
S = ref object of RootObj
proc j[T, E](m: X[T, E]): T = discard
proc n(T: typedesc[SomeUnsignedInt]): X[T, cstring] = discard
method call(client: S): uint64 {.base.} =
discard j(n(uint64)) |
🐧 Linux bisect by @juancarlospaco (collaborator)devel 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ;
typedef struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw;
typedef struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw;
struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw {
unsigned long long m;
};
struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0);
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_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(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
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 NIM_THREADVAR TFrame* framePtr__system_u2654;
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;
}
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_p0) {
NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4397);
return result;
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void) {
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw T1_;
NU64 T2_;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = (NU64)0;
T1_ = n__temp_u23();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = (NU64)0;
T2_ = j__temp_u29(T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T2_);
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u53)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = (NU64)0;
result = call__temp_u20(client_p0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
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) {
{
nimTestErrorFlag();
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) stable 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ;
typedef struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw;
typedef struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw;
struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw {
unsigned long long m;
};
struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0);
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_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(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot6atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern NIM_THREADVAR TFrame* framePtr__system_u4059;
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;
}
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_p0) {
NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4402);
return result;
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void) {
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw T1_;
NU64 T2_;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = (NU64)0;
T1_ = n__temp_u23();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = (NU64)0;
T2_ = j__temp_u29(T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T2_);
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u53)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = call__temp_u20(client_p0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
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;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot6atslibatssystemdotnim_Init000();
(*inner)();
#else
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot6atslibatssystemdotnim_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) {
{
nimTestErrorFlag();
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) 2.0.4 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ;
typedef struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw;
typedef struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw;
struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw {
unsigned long long m;
};
struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0);
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_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(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus2dot0dot4atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern NIM_THREADVAR TFrame* framePtr__system_u4020;
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;
}
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_p0) {
NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4403);
return result;
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void) {
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw T1_;
NU64 T2_;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = (NU64)0;
T1_ = n__temp_u23();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = (NU64)0;
T2_ = j__temp_u29(T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T2_);
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u53)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = call__temp_u20(client_p0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
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;
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) {
{
nimTestErrorFlag();
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) 2.0.0 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename;NI len;VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#define nimln_(n) \
FR_.line = n;
#define nimlf_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ;
typedef struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw;
typedef struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw;
struct tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw {
unsigned long long m;
};
struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0);
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_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(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
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 NIM_THREADVAR TFrame* framePtr__system_u4006;
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;
}
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9bxT9cLWUZzoAs7ZlDBbKYBw m_p0) {
NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_u4389);
return result;
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void) {
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw T1_;
NU64 T2_;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = (NU64)0;
T1_ = n__temp_u23();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = (NU64)0;
T2_ = j__temp_u29(T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T2_);
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u53)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client_p0) {
NU64 result;
NIM_BOOL* nimErr_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
result = (NU64)0;
result = call__temp_u20(client_p0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
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) {
{
nimTestErrorFlag();
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) 1.6.20 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ;
typedef struct tyObject_X__9a17RSvHziOoIyKRBB7Mq9cw tyObject_X__9a17RSvHziOoIyKRBB7Mq9cw;
typedef struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw;
struct tyObject_X__9a17RSvHziOoIyKRBB7Mq9cw {
unsigned long long m;
};
struct tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client);
N_LIB_PRIVATE N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9a17RSvHziOoIyKRBB7Mq9cw m);
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(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TFrame* framePtr__system_u2564;
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 N_NIMCALL(NU64, j__temp_u29)(tyObject_X__9a17RSvHziOoIyKRBB7Mq9cw m) {
NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__systemZmemory_u7(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw, n__temp_u23)(void) {
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u20)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client) {
NU64 result;
tyObject_X__kx3RxK9ah9a9axs4ulh9cdDSMw T1_;
NU64 T2_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
T1_ = n__temp_u23();
T2_ = (NU64)0;
T2_ = j__temp_u29(T1_);
(void)(T2_);
popFrame();
return result;
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__temp_u43)(tyObject_ScolonObjectType___B3SHSrdFXvjxk9bKAp8ArxQ* client) {
NU64 result;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{ result = (NU64)0;
result = call__temp_u20(client);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
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) {
void (*volatile inner)(void);
inner = PreMainInner;
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
initStackBottomWith((void *)&inner);
atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
(*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) {
{
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) 1.4.8 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ;
typedef struct tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ;
typedef struct tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw;
struct tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ {
unsigned long long m;
};
struct tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__v36VS9br88QDiLYu9cM1mj5w)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client);
N_LIB_PRIVATE N_NIMCALL(NU64, j__Imd1mTdZ9aihAMHG0r9cEjZQ)(tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ m);
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(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw, n__29b7BEWoBPUP01Sy8VzCX9cA)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
N_LIB_PRIVATE N_NIMCALL(NU64, j__Imd1mTdZ9aihAMHG0r9cEjZQ)(tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ m) {
NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw, n__29b7BEWoBPUP01Sy8VzCX9cA)(void) {
tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__v36VS9br88QDiLYu9cM1mj5w)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client) {
NU64 result;
tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw T1_;
NU64 T2_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
T1_ = n__29b7BEWoBPUP01Sy8VzCX9cA();
T2_ = (NU64)0;
T2_ = j__Imd1mTdZ9aihAMHG0r9cEjZQ(T1_);
(void)(T2_);
popFrame();
return result;
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__BaCc1O83Ne3QBLG4X3sUmQ)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client) {
NU64 result;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{ result = (NU64)0;
result = call__v36VS9br88QDiLYu9cM1mj5w(client);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
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) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) 1.2.18 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ;
typedef struct tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ;
typedef struct tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw;
struct tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ {
unsigned long long m;
};
struct tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__v36VS9br88QDiLYu9cM1mj5w)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client);
N_LIB_PRIVATE N_NIMCALL(NU64, j__Imd1mTdZ9aihAMHG0r9cEjZQ)(tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ m);
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(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw, n__29b7BEWoBPUP01Sy8VzCX9cA)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) (((NI) 2000))))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
N_LIB_PRIVATE N_NIMCALL(NU64, j__Imd1mTdZ9aihAMHG0r9cEjZQ)(tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ m) {
NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw, n__29b7BEWoBPUP01Sy8VzCX9cA)(void) {
tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__v36VS9br88QDiLYu9cM1mj5w)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client) {
NU64 result;
tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw T1_;
NU64 T2_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
T1_ = n__29b7BEWoBPUP01Sy8VzCX9cA();
T2_ = (NU64)0;
T2_ = j__Imd1mTdZ9aihAMHG0r9cEjZQ(T1_);
(void)(T2_);
popFrame();
return result;
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__BaCc1O83Ne3QBLG4X3sUmQ)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client) {
NU64 result;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{ result = (NU64)0;
result = call__v36VS9br88QDiLYu9cM1mj5w(client);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
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) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) 1.0.10 👎 FAILOutput
IRCompiled filesize0 (0 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ;
typedef struct tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ;
typedef struct tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw;
struct tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ {
unsigned long long m;
};
struct tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw {
NU64 m;
};
N_LIB_PRIVATE N_NIMCALL(NU64, call__v36VS9br88QDiLYu9cM1mj5w)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client);
N_LIB_PRIVATE N_NIMCALL(NU64, j__Imd1mTdZ9aihAMHG0r9cEjZQ)(tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ m);
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(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw, n__29b7BEWoBPUP01Sy8VzCX9cA)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
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;
}
N_LIB_PRIVATE N_NIMCALL(NU64, j__Imd1mTdZ9aihAMHG0r9cEjZQ)(tyObject_X__OprfyvD7Gq45Ut7GxSEZRQ m) { NU64 result;
nimfr_("j", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) { void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) { nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw, n__29b7BEWoBPUP01Sy8VzCX9cA)(void) { tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw result;
nimfr_("n", "/home/runner/work/Nim/Nim/temp.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__v36VS9br88QDiLYu9cM1mj5w)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client) { NU64 result;
tyObject_X__Okq1I8cM9cYZst9a1fRcQhRw T1_;
NU64 T2_;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
result = (NU64)0;
T1_ = n__29b7BEWoBPUP01Sy8VzCX9cA();
T2_ = (NU64)0;
T2_ = j__Imd1mTdZ9aihAMHG0r9cEjZQ(T1_);
(void)(T2_);
popFrame();
return result;
}
static N_INLINE(void, initStackBottomWith)(void* locals) { nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE N_NIMCALL(NU64, call__BaCc1O83Ne3QBLG4X3sUmQ)(tyObject_ScolonObjectType___mfMAkYueFxPIYxcSL9bSGzQ* client) { NU64 result;
nimfr_("call", "/home/runner/work/Nim/Nim/temp.nim");
{ result = (NU64)0;
result = call__v36VS9br88QDiLYu9cM1mj5w(client);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
void PreMainInner(void) {
}
int cmdCount;
char** cmdLine;
char** gEnv;
void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
}
} Stats
ASTnnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("X"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
nnkRecList.newTree(
nnkIdentDefs.newTree(
newIdentNode("m"),
newIdentNode("T"),
newEmptyNode()
)
)
)
),
nnkTypeDef.newTree(
newIdentNode("B"),
newEmptyNode(),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("culonglong"),
newIdentNode("cstring")
)
),
nnkTypeDef.newTree(
newIdentNode("S"),
newEmptyNode(),
nnkRefTy.newTree(
nnkObjectTy.newTree(
newEmptyNode(),
nnkOfInherit.newTree(
newIdentNode("RootObj")
),
newEmptyNode()
)
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkProcDef.newTree(
newIdentNode("n"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("X"),
newIdentNode("T"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("T"),
nnkBracketExpr.newTree(
newIdentNode("typedesc"),
newIdentNode("SomeUnsignedInt")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkMethodDef.newTree(
newIdentNode("call"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newIdentNode("uint64"),
nnkIdentDefs.newTree(
newIdentNode("client"),
newIdentNode("S"),
newEmptyNode()
)
),
nnkPragma.newTree(
newIdentNode("base")
),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
nnkCall.newTree(
newIdentNode("j"),
nnkCall.newTree(
newIdentNode("n"),
newIdentNode("uint64")
)
)
)
)
)
) Stats
🤖 Bug found in |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
Nim Version
Current Output
Expected Output
Possible Solution
No response
Additional Information
No response
The text was updated successfully, but these errors were encountered: