/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ /* Compiled for: Linux, amd64, gcc */ /* Command for C compiler: gcc -c -w -O3 -fno-strict-aliasing -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o tools/nimsuggest/nimcache/stdlib_rdstdin.o tools/nimsuggest/nimcache/stdlib_rdstdin.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Ioerror_9czoZw3pzPyrBmb5zTHY1OQ Ioerror_9czoZw3pzPyrBmb5zTHY1OQ; typedef struct Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg; typedef struct Exception Exception; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct TNimObject { TNimType* m_type; }; struct Exception { TNimObject Sup; Exception* parent; NCSTRING name; NimStringDesc* message; NimStringDesc* trace; }; struct Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg { Exception Sup; }; struct Ioerror_9czoZw3pzPyrBmb5zTHY1OQ { Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg Sup; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; N_NIMCALL(NCSTRING, linenoise)(NCSTRING prompt0); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(void, raiseException)(Exception* e0, NCSTRING ename0); N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str0); N_NIMCALL(int, linenoiseHistoryAdd)(NCSTRING line0); extern TNimType NTI_HX2M9cQhE3jaovp9aYJDdslA; extern TNimType NTI_9czoZw3pzPyrBmb5zTHY1OQ; STRING_LITERAL(T_HzcnZIrOxozXVtp36BgK4A_2, "Linenoise returned nil", 22); N_NIMCALL(NIM_BOOL, readlinefromstdin_Zbq9c5XzODvzR2ZlQg0ggiw)(NimStringDesc* prompt0, NimStringDesc** line0) { NIM_BOOL result0; NCSTRING buffer0; result0 = (NIM_BOOL)0; buffer0 = linenoise(prompt0->data); { Ioerror_9czoZw3pzPyrBmb5zTHY1OQ* e_r8KAuCfN2ZCZsVv28H4v6A; if (!(buffer0 == 0)) goto LA3; e_r8KAuCfN2ZCZsVv28H4v6A = (Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*)0; e_r8KAuCfN2ZCZsVv28H4v6A = (Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*) newObj((&NTI_HX2M9cQhE3jaovp9aYJDdslA), sizeof(Ioerror_9czoZw3pzPyrBmb5zTHY1OQ)); (*e_r8KAuCfN2ZCZsVv28H4v6A).Sup.Sup.Sup.m_type = (&NTI_9czoZw3pzPyrBmb5zTHY1OQ); (*e_r8KAuCfN2ZCZsVv28H4v6A).Sup.Sup.message = copyString(((NimStringDesc*) &T_HzcnZIrOxozXVtp36BgK4A_2)); raiseException((Exception*)e_r8KAuCfN2ZCZsVv28H4v6A, "IOError"); } LA3: ; (*line0) = cstrToNimstr(buffer0); { int LOC9; if (!(((NI) 0) < ((*line0) ? (*line0)->Sup.len : 0))) goto LA7; LOC9 = (int)0; LOC9 = linenoiseHistoryAdd(buffer0); } LA7: ; free(buffer0); result0 = NIM_TRUE; return result0; } NIM_EXTERNC N_NOINLINE(void, stdlib_rdstdinInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, stdlib_rdstdinDatInit000)(void) { }