compiler/libec: Only using gcc_struct attribute for MinGW
[sdk] / compiler / bootstrap / ecere / bootstrap / memory.c
1 /* Code generated from eC source file: memory.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #      define ecere_gcc_struct __attribute__((gcc_struct))
42 #   else
43 #      define ecere_stdcall __stdcall
44 #      define ecere_gcc_struct
45 #   endif
46 #else
47 #   define ecere_stdcall
48 #   define ecere_gcc_struct
49 #endif
50 #include <stdint.h>
51 #include <sys/types.h>
52 void __ecereNameSpace__ecere__sys__FillBytesBy2(void * area, unsigned short value, unsigned int count)
53 {
54 unsigned short * dest = area;
55 int c;
56
57 for(c = 0; c < count; c++)
58 dest[c] = value;
59 }
60
61 void __ecereNameSpace__ecere__sys__FillBytesBy4(void * area, unsigned int value, unsigned int count)
62 {
63 unsigned int * dest = area;
64 int c;
65
66 for(c = 0; c < count; c++)
67 dest[c] = value;
68 }
69
70 struct __ecereNameSpace__ecere__sys__OldList
71 {
72 void *  first;
73 void *  last;
74 int count;
75 unsigned int offset;
76 unsigned int circ;
77 } ecere_gcc_struct;
78
79 struct __ecereNameSpace__ecere__sys__BTNode;
80
81 struct __ecereNameSpace__ecere__com__DataValue
82 {
83 union
84 {
85 char c;
86 unsigned char uc;
87 short s;
88 unsigned short us;
89 int i;
90 unsigned int ui;
91 void *  p;
92 float f;
93 double d;
94 long long i64;
95 uint64 ui64;
96 } ecere_gcc_struct __anon1;
97 } ecere_gcc_struct;
98
99 struct __ecereNameSpace__ecere__com__SerialBuffer
100 {
101 unsigned char *  _buffer;
102 unsigned int count;
103 unsigned int _size;
104 unsigned int pos;
105 } ecere_gcc_struct;
106
107 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
108
109 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
110
111 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
112
113 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
114
115 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
116
117 extern void *  memmove(void * , const void * , size_t size);
118
119 extern void *  memcpy(void * , const void * , size_t size);
120
121 extern void *  memset(void *  area, int value, size_t count);
122
123 struct __ecereNameSpace__ecere__com__GlobalFunction;
124
125 void __ecereNameSpace__ecere__sys__MoveBytes(void * dest, const void * source, unsigned int count)
126 {
127 memmove(dest, source, count);
128 }
129
130 void __ecereNameSpace__ecere__sys__CopyBytes(void * dest, const void * source, unsigned int count)
131 {
132 memcpy(dest, source, count);
133 }
134
135 void __ecereNameSpace__ecere__sys__CopyBytesBy2(void * dest, const void * source, unsigned int count)
136 {
137 memcpy(dest, source, count << 1);
138 }
139
140 void __ecereNameSpace__ecere__sys__CopyBytesBy4(void * dest, const void * source, unsigned int count)
141 {
142 memcpy(dest, source, count << 2);
143 }
144
145 void __ecereNameSpace__ecere__sys__FillBytes(void * area, unsigned char value, unsigned int count)
146 {
147 memset(area, value, count);
148 }
149
150 struct __ecereNameSpace__ecere__com__Class;
151
152 struct __ecereNameSpace__ecere__com__Instance
153 {
154 void * *  _vTbl;
155 struct __ecereNameSpace__ecere__com__Class * _class;
156 int _refCount;
157 } ecere_gcc_struct;
158
159 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
160
161 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
162
163 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
164
165 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
166
167 struct __ecereNameSpace__ecere__com__Property;
168
169 struct __ecereNameSpace__ecere__com__Property
170 {
171 struct __ecereNameSpace__ecere__com__Property * prev;
172 struct __ecereNameSpace__ecere__com__Property * next;
173 const char *  name;
174 unsigned int isProperty;
175 int memberAccess;
176 int id;
177 struct __ecereNameSpace__ecere__com__Class * _class;
178 const char *  dataTypeString;
179 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
180 struct __ecereNameSpace__ecere__com__Instance * dataType;
181 void (*  Set)(void * , int);
182 int (*  Get)(void * );
183 unsigned int (*  IsSet)(void * );
184 void *  data;
185 void *  symbol;
186 int vid;
187 unsigned int conversion;
188 unsigned int watcherOffset;
189 const char *  category;
190 unsigned int compiled;
191 unsigned int selfWatchable;
192 unsigned int isWatchable;
193 } ecere_gcc_struct;
194
195 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
196
197 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
198
199 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
200
201 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
202
203 struct __ecereNameSpace__ecere__sys__BinaryTree;
204
205 struct __ecereNameSpace__ecere__sys__BinaryTree
206 {
207 struct __ecereNameSpace__ecere__sys__BTNode * root;
208 int count;
209 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
210 void (*  FreeKey)(void *  key);
211 } ecere_gcc_struct;
212
213 struct __ecereNameSpace__ecere__com__Method;
214
215 struct __ecereNameSpace__ecere__com__Method
216 {
217 const char *  name;
218 struct __ecereNameSpace__ecere__com__Method * parent;
219 struct __ecereNameSpace__ecere__com__Method * left;
220 struct __ecereNameSpace__ecere__com__Method * right;
221 int depth;
222 int (*  function)();
223 int vid;
224 int type;
225 struct __ecereNameSpace__ecere__com__Class * _class;
226 void *  symbol;
227 const char *  dataTypeString;
228 struct __ecereNameSpace__ecere__com__Instance * dataType;
229 int memberAccess;
230 } ecere_gcc_struct;
231
232 struct __ecereNameSpace__ecere__com__Module;
233
234 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
235
236 struct __ecereNameSpace__ecere__com__NameSpace;
237
238 struct __ecereNameSpace__ecere__com__NameSpace
239 {
240 const char *  name;
241 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
242 struct __ecereNameSpace__ecere__com__NameSpace *  left;
243 struct __ecereNameSpace__ecere__com__NameSpace *  right;
244 int depth;
245 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
246 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
247 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
248 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
249 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
250 } ecere_gcc_struct;
251
252 struct __ecereNameSpace__ecere__com__Application
253 {
254 int argc;
255 const char * *  argv;
256 int exitCode;
257 unsigned int isGUIApp;
258 struct __ecereNameSpace__ecere__sys__OldList allModules;
259 char *  parsedCommand;
260 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
261 } ecere_gcc_struct;
262
263 struct __ecereNameSpace__ecere__com__Module
264 {
265 struct __ecereNameSpace__ecere__com__Instance * application;
266 struct __ecereNameSpace__ecere__sys__OldList classes;
267 struct __ecereNameSpace__ecere__sys__OldList defines;
268 struct __ecereNameSpace__ecere__sys__OldList functions;
269 struct __ecereNameSpace__ecere__sys__OldList modules;
270 struct __ecereNameSpace__ecere__com__Instance * prev;
271 struct __ecereNameSpace__ecere__com__Instance * next;
272 const char *  name;
273 void *  library;
274 void *  Unload;
275 int importType;
276 int origImportType;
277 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
278 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
279 } ecere_gcc_struct;
280
281 void __ecereRegisterModule_memory(struct __ecereNameSpace__ecere__com__Instance * module)
282 {
283 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
284
285 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MoveBytes", "void ecere::sys::MoveBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__MoveBytes, module, 1);
286 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytes", "void ecere::sys::CopyBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytes, module, 1);
287 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytesBy2", "void ecere::sys::CopyBytesBy2(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytesBy2, module, 1);
288 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytesBy4", "void ecere::sys::CopyBytesBy4(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytesBy4, module, 1);
289 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FillBytes", "void ecere::sys::FillBytes(void * area, byte value, uint count)", __ecereNameSpace__ecere__sys__FillBytes, module, 1);
290 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FillBytesBy2", "void ecere::sys::FillBytesBy2(void * area, uint16 value, uint count)", __ecereNameSpace__ecere__sys__FillBytesBy2, module, 1);
291 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FillBytesBy4", "void ecere::sys::FillBytesBy4(void * area, uint value, uint count)", __ecereNameSpace__ecere__sys__FillBytesBy4, module, 1);
292 }
293
294 void __ecereUnregisterModule_memory(struct __ecereNameSpace__ecere__com__Instance * module)
295 {
296
297 }
298
299 struct __ecereNameSpace__ecere__com__DataMember;
300
301 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
302 {
303 union
304 {
305 struct
306 {
307 const char *  dataTypeString;
308 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
309 } ecere_gcc_struct __anon1;
310 struct __ecereNameSpace__ecere__com__DataValue expression;
311 struct
312 {
313 const char *  memberString;
314 union
315 {
316 struct __ecereNameSpace__ecere__com__DataMember * member;
317 struct __ecereNameSpace__ecere__com__Property * prop;
318 struct __ecereNameSpace__ecere__com__Method * method;
319 } ecere_gcc_struct __anon1;
320 } ecere_gcc_struct __anon2;
321 } ecere_gcc_struct __anon1;
322 } ecere_gcc_struct;
323
324 struct __ecereNameSpace__ecere__com__DataMember
325 {
326 struct __ecereNameSpace__ecere__com__DataMember * prev;
327 struct __ecereNameSpace__ecere__com__DataMember * next;
328 const char *  name;
329 unsigned int isProperty;
330 int memberAccess;
331 int id;
332 struct __ecereNameSpace__ecere__com__Class * _class;
333 const char *  dataTypeString;
334 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
335 struct __ecereNameSpace__ecere__com__Instance * dataType;
336 int type;
337 int offset;
338 int memberID;
339 struct __ecereNameSpace__ecere__sys__OldList members;
340 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
341 int memberOffset;
342 short structAlignment;
343 short pointerAlignment;
344 } ecere_gcc_struct;
345
346 struct __ecereNameSpace__ecere__com__Class
347 {
348 struct __ecereNameSpace__ecere__com__Class * prev;
349 struct __ecereNameSpace__ecere__com__Class * next;
350 const char *  name;
351 int offset;
352 int structSize;
353 void * *  _vTbl;
354 int vTblSize;
355 unsigned int (*  Constructor)(void * );
356 void (*  Destructor)(void * );
357 int offsetClass;
358 int sizeClass;
359 struct __ecereNameSpace__ecere__com__Class * base;
360 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
361 struct __ecereNameSpace__ecere__sys__BinaryTree members;
362 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
363 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
364 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
365 struct __ecereNameSpace__ecere__sys__OldList derivatives;
366 int memberID;
367 int startMemberID;
368 int type;
369 struct __ecereNameSpace__ecere__com__Instance * module;
370 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
371 const char *  dataTypeString;
372 struct __ecereNameSpace__ecere__com__Instance * dataType;
373 int typeSize;
374 int defaultAlignment;
375 void (*  Initialize)();
376 int memberOffset;
377 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
378 const char *  designerClass;
379 unsigned int noExpansion;
380 const char *  defaultProperty;
381 unsigned int comRedefinition;
382 int count;
383 int isRemote;
384 unsigned int internalDecl;
385 void *  data;
386 unsigned int computeSize;
387 short structAlignment;
388 short pointerAlignment;
389 int destructionWatchOffset;
390 unsigned int fixed;
391 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
392 int inheritanceAccess;
393 const char *  fullName;
394 void *  symbol;
395 struct __ecereNameSpace__ecere__sys__OldList conversions;
396 struct __ecereNameSpace__ecere__sys__OldList templateParams;
397 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
398 struct __ecereNameSpace__ecere__com__Class * templateClass;
399 struct __ecereNameSpace__ecere__sys__OldList templatized;
400 int numParams;
401 unsigned int isInstanceClass;
402 unsigned int byValueSystemClass;
403 } ecere_gcc_struct;
404