1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
/* Generated by Nim Compiler v2.2.0 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.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
typedef struct tyObject_RodFile__k9byU8W8yLbzhHX06zPe4zg tyObject_RodFile__k9byU8W8yLbzhHX06zPe4zg;
typedef struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw tySequence__orxtl6CusdjXleqrxi67gw;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw_Content tySequence__orxtl6CusdjXleqrxi67gw_Content;
typedef struct tyTuple__MaWaKZwaGUqCXKsSK12rVg tyTuple__MaWaKZwaGUqCXKsSK12rVg;
struct tySequence__orxtl6CusdjXleqrxi67gw {
NI len; tySequence__orxtl6CusdjXleqrxi67gw_Content* p;
};
struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ {
tySequence__orxtl6CusdjXleqrxi67gw aside;
};
struct tyTuple__MaWaKZwaGUqCXKsSK12rVg {
NU32 Field0;
NI32 Field1;
NI32 Field2;
};
struct tySequence__orxtl6CusdjXleqrxi67gw_Content { NI cap; tyTuple__MaWaKZwaGUqCXKsSK12rVg data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, loadSeq__icZiclineinfos_u258)(tyObject_RodFile__k9byU8W8yLbzhHX06zPe4zg* f_p0, tySequence__orxtl6CusdjXleqrxi67gw* s_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(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);
N_LIB_PRIVATE N_NIMCALL(void, add__icZiclineinfos_u58)(tySequence__orxtl6CusdjXleqrxi67gw* x_p0, tyTuple__MaWaKZwaGUqCXKsSK12rVg y_p1);
N_LIB_PRIVATE N_NIMCALL(void, storeSeq__icZiclineinfos_u186)(tyObject_RodFile__k9byU8W8yLbzhHX06zPe4zg* f_p0, tySequence__orxtl6CusdjXleqrxi67gw s_p1);
extern NIM_BOOL nimInErrorMode__system_u4310;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (&nimInErrorMode__system_u4310);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, load__icZiclineinfos_u255)(tyObject_RodFile__k9byU8W8yLbzhHX06zPe4zg* r_p0, tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ* m_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
loadSeq__icZiclineinfos_u258(r_p0, (&(*m_p1).aside));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
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(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(tyTuple__MaWaKZwaGUqCXKsSK12rVg, unpack__icZiclineinfos_u158)(tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ m_p0, NU32 i_p1) {
tyTuple__MaWaKZwaGUqCXKsSK12rVg result;
NU32 i_2;
nimZeroMem((void*)(&result), sizeof(tyTuple__MaWaKZwaGUqCXKsSK12rVg));
i_2 = i_p1;
{
NU32 colontmp_;
NI32 colontmp__2;
NI32 colontmp__3;
if (!((NU32)(i_2 & ((NU32)1)) == ((NU32)0))) goto LA3_;
colontmp_ = (NU32)((NU32)((NU32)(i_2) >> (NU32)(((NU32)1))) & ((NU32)1023));
colontmp__2 = ((NI32) ((NU32)((NU32)((NU32)(i_2) >> (NU32)(((NU32)11))) & ((NU32)16383))));
colontmp__3 = ((NI32) ((NU32)((NU32)((NU32)(i_2) >> (NU32)(((NU32)25))) & ((NU32)127))));
result.Field0 = colontmp_;
result.Field1 = colontmp__2;
result.Field2 = colontmp__3;
}
goto LA1_;
LA3_: ;
{
result = m_p0.aside.p->data[(NU32)((NU32)(i_2) >> (NU32)(((NU32)1)))];
}
LA1_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NU32, pack__icZiclineinfos_u30)(tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ* m_p0, NU32 file_p1, NI32 line_p2, NI32 col_p3) {
NU32 result;
result = (NU32)0;
{
NIM_BOOL T3_;
NIM_BOOL T4_;
NU32 colontmpD_;
NU32 colontmpD__2;
NU32 colontmpD__3;
NU32 colontmpD__4;
NU32 col_2;
NU32 line_2;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T4_ = ((NU32)(file_p1) <= (NU32)(((NU32)1023)));
if (!(T4_)) goto LA5_;
T4_ = (line_p2 <= ((NI32)16383));
LA5_: ;
T3_ = T4_;
if (!(T3_)) goto LA6_;
T3_ = (col_p3 <= ((NI32)127));
LA6_: ;
if (!T3_) goto LA7_;
colontmpD_ = (NU32)0;
colontmpD__2 = (NU32)0;
colontmpD__3 = (NU32)0;
colontmpD__4 = (NU32)0;
{
if (!(col_p3 < ((NI32)0))) goto LA11_;
colontmpD_ = ((NU32)0);
col_2 = colontmpD_;
}
goto LA9_;
LA11_: ;
{
colontmpD__2 = ((NU32) (col_p3));
col_2 = colontmpD__2;
}
LA9_: ;
{
if (!(line_p2 < ((NI32)0))) goto LA16_;
colontmpD__3 = ((NU32)0);
line_2 = colontmpD__3;
}
goto LA14_;
LA16_: ;
{
colontmpD__4 = ((NU32) (line_p2));
line_2 = colontmpD__4;
}
LA14_: ;
result = (NU32)((NU32)((NU32)((NU32)(file_p1) << (NU32)(((NU32)1))) | (NU32)((NU32)(line_2) << (NU32)(((NU32)11)))) | (NU32)((NU32)(col_2) << (NU32)(((NU32)25))));
}
goto LA1_;
LA7_: ;
{
NU32 colontmpD__5;
NI32 colontmpD__6;
NI32 colontmpD__7;
NI T20_;
tyTuple__MaWaKZwaGUqCXKsSK12rVg T21_;
colontmpD__5 = (NU32)0;
colontmpD__6 = (NI32)0;
colontmpD__7 = (NI32)0;
T20_ = (*m_p0).aside.len;
result = ((NU32) ((NI)((NI)((NU64)(T20_) << (NU64)(((NI)1))) | ((NI)1))));
colontmpD__5 = file_p1;
T21_.Field0 = colontmpD__5;
colontmpD__6 = line_p2;
T21_.Field1 = colontmpD__6;
colontmpD__7 = col_p3;
T21_.Field2 = colontmpD__7;
add__icZiclineinfos_u58((&(*m_p0).aside), T21_);
}
LA1_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, store__icZiclineinfos_u183)(tyObject_RodFile__k9byU8W8yLbzhHX06zPe4zg* r_p0, tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ m_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
storeSeq__icZiclineinfos_u186(r_p0, m_p1.aside);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
|