Skip to content

Instantly share code, notes, and snippets.

@Yardanico
Created May 6, 2020 05:07
Show Gist options
  • Save Yardanico/cf934690ba86bfa8a8949c3f94bd2653 to your computer and use it in GitHub Desktop.
Save Yardanico/cf934690ba86bfa8a8949c3f94bd2653 to your computer and use it in GitHub Desktop.
/* Generated by Nim Compiler v1.3.1 */
/* (c) 2020 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 -fno-ident -I/home/dian/.nim/lib -I/home/dian/Projects/data/paravim/src/paravim -o /home/dian/.cache/nim/libvim_r/@mlibvim.nim.c.o /home/dian/.cache/nim/libvim_r/@mlibvim.nim.c */
#define NIM_INTBITS 64
/* section: NIM_merge_HEADERS */
#include "nimbase.h"
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)
/* section: NIM_merge_FORWARD_TYPES */
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
/* section: NIM_merge_TYPES */
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
typedef N_CDECL_PTR(void, tyProc__NuisSWKwsQg36a0Egqo6Qw) (int width);
/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLib__5N3uNae9an9a9aaWXRDWFdZAQ)(void);
N_LIB_PRIVATE N_NIMCALL(void*, nimLoadLibrary)(NimStringV2 path);
N_LIB_PRIVATE N_NIMCALL(void, nimLoadLibraryError)(NimStringV2 path);
N_LIB_PRIVATE N_NIMCALL(void*, nimGetProcAddr)(void* lib, NCSTRING name);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, libvimDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
/* section: NIM_merge_DATA */
static const struct {
NI cap; NIM_CHAR data[9+1];
} TM__vBiekZOO83huJAz8r30UDw_4 = { 9 | NIM_STRLIT_FLAG, "libvim.so" };
static const NimStringV2 TM__vBiekZOO83huJAz8r30UDw_5 = {9, (NimStrPayload*)&TM__vBiekZOO83huJAz8r30UDw_4};
/* section: NIM_merge_VARS */
static void* TM__vBiekZOO83huJAz8r30UDw_2;
tyProc__NuisSWKwsQg36a0Egqo6Qw Dl_12897019_;
/* section: NIM_merge_PROCS */
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLib__5N3uNae9an9a9aaWXRDWFdZAQ)(void) {
NimStringV2 result;
result.len = 0; result.p = NIM_NIL;
result = TM__vBiekZOO83huJAz8r30UDw_5;
return result;
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
initStackBottomWith((void *)&inner);
systemInit000();
libvimDatInit000();
(*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) {
{
Dl_12897019_(((int) 768));
nimTestErrorFlag();
}
}
N_LIB_PRIVATE N_NIMCALL(void, libvimDatInit000)(void) {
/* section: NIM_merge_DYNLIB_INIT */
NimStringV2 TM__vBiekZOO83huJAz8r30UDw_3;
TM__vBiekZOO83huJAz8r30UDw_3 = getLib__5N3uNae9an9a9aaWXRDWFdZAQ();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(TM__vBiekZOO83huJAz8r30UDw_2 = nimLoadLibrary(TM__vBiekZOO83huJAz8r30UDw_3))) nimLoadLibraryError(TM__vBiekZOO83huJAz8r30UDw_3);
Dl_12897019_ = (tyProc__NuisSWKwsQg36a0Egqo6Qw) nimGetProcAddr(TM__vBiekZOO83huJAz8r30UDw_2, "vimWindowSetWidth");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment