aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/basetypes/MCDefines.h
blob: 5068618b49a06307fa12b49bcd920d9f216896c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef MCDEFINES_H_

#define MCDEFINES_H_

#ifdef _MSC_VER

#pragma section(".CRT$XCU",read)
#define INITIALIZE(name) \
    static void __cdecl initialize_##name(void); \
    __declspec(allocate(".CRT$XCU")) void (__cdecl*initialize_##name##_)(void) = initialize_##name; \
    static void __cdecl initialize_##name(void)

#else

#define INITIALIZE(name) \
   static void initialize(void) __attribute__((constructor)); \
   static void initialize(void)

#endif

#endif