ScalpiEditor

Diff
Login

Diff

Differences From Artifact [eb3a838a3d]:

To Artifact [a7ae18fa7c]:


242
243
244
245
246
247
248












249
250
251



252
253
254
255
256
257
258
259
260
261

262
263

264
265

266
267
268
269
270
271
272
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262

263
264
265
266
267
268
269
270
271
272
273
274

275
276

277
278

279
280
281
282
283
284
285
286







+
+
+
+
+
+
+
+
+
+
+
+


-
+
+
+









-
+

-
+

-
+







            #elif defined(__linux__)
                #define __target_os__  __TargetOs_linux__
            #endif
        #endif
    // # __with_network__
        #define __with_network__                      0
// macro
    // types and structs
        // # __Size__
            #define __Size__ __Type_getSize__(size_t)
        // # __Ptr__
            #define __Ptr__ __Type_getSize__(uintptr_t)
        // # __Slice__
            // # __Slice_ptr__
                #define __SlicePtr__ __Ptr__
                #define __Slice_ptr__ 0
            // # __Slice_len__
                #define __SliceLen__ __Size__
                #define __Slice_len__ __Align_up__(__Slice_ptr__ + __SlicePtr__, __Size__)
    // c
        // # __Addr_fromPtr__
            #define __Addr_fromPtr__(                         ptr)                          ((uintptr_t)(ptr))
            #define __Addr_fromPtr__(ptr)   ((uintptr_t)(ptr))
        // # __Align_up__
            #define __Align_up__(offset, align)   (((offset) + (align) - 1) & ~((align) - 1))
        // # __CText_len__
            #define __CText_len__(str)   (__arrayLen__(str) - 1)
        // # __CText_write__
            #define __CText_write__(buffer, text)   (__Mem_copy__(buffer, text, __CText_len__(text)), __CText_len__(text))
        // # __Instance_fromPtr__
            #define __Instance_fromPtr__(ptr)   (*(ptr))
        // # __Struct_getFieldOffset__
            #define __Struct_getFieldOffset__(type, field)   (__Addr_fromPtr__(__TypedPtr_getFieldPtr__(__TypedPtr_virtual__(type), field)))
        // # __Type_getAlign__
            #define __Type_getAlign__(                        type)                         (__Struct_getFieldOffset__(struct {char c; type t;}, t))
            #define __Type_getAlign__(type) (__Struct_getFieldOffset__(struct {char c; type t;}, t))
        // # __Type_getSize__
            #define __Type_getSize__(                         type)                         (__Struct_getFieldOffset__(struct {type t; char c;}, c))
            #define __Type_getSize__(type)   (__Struct_getFieldOffset__(struct {type t; char c;}, c))
        // # __TypedPtr_fromAddr__
            #define __TypedPtr_fromAddr__(                    type, addr)                   ((type*)(addr))
            #define __TypedPtr_fromAddr__(type, addr)   ((type*)(addr))
        // # __TypedPtr_getFieldPtr__
            #define __TypedPtr_getFieldPtr__(                 ptr, field_name)              (&(ptr)->field_name)
        // # __TypedPtr_getParentPtrFromFieldPtr__
            #define __TypedPtr_getParentPtrFromFieldPtr__(    type, field_name, field_ptr)  (__TypedPtr_fromAddr__(type, __Addr_fromPtr__((field_ptr)) - __Struct_getFieldOffset__(type, field_name)))
        // # __TypedPtr_virtual__
            #define __TypedPtr_virtual__(                     type)                         (__TypedPtr_fromAddr__(type, 0)) 
        // # __arrayLen__