use new platform macros to access scheduling/per-cpu flags. fix execsmp wait()
[AROS.git] / workbench / tools / HDToolBox / compilerspecific.h
blob85b198216af42ca7059c3135ceb9cc0f2f9df8d5
1 #ifndef COMPILERSPECIFIC_H
2 #define COMPILERSPECIFIC_H
4 #ifndef __AROS__
5 #ifndef IPTR
6 #define IPTR ULONG
7 #endif
8 #ifndef STACKIPTR
9 #define STACKIPTR ULONG
10 #endif
11 #endif
13 #undef REGARGS
14 #undef STDARGS
15 #undef ALIGNED
16 #undef CHIP
17 #undef ASM
18 #undef SAVEDS
20 #ifdef __GNUC__
22 /* GCC */
24 #undef USE_ASM_FUNCS
25 #define USE_ASM_FUNCS 0
27 #undef USE_OPTASM_FUNCS
28 #define USE_OPTASM_FUNCS 0
30 #define REGPARAM(reg,type,name) register type name asm(#reg)
31 #define ASM_REGPARAM(reg,type,name) type name
32 #define OPT_REGPARAM(reg,type,name) type name
34 #define REGARGS
35 #define STDARGS
36 #define ALIGNED
38 /* #warning Fix CHIP macro for GCC compiler in compilerspecific.h
40 Does not really matter, as there is only one place with a
41 mouse pointer data structure which uses/needs this CHIP. And
42 this is anyway only used on OS versions < 39 */
44 #define CHIP
46 #define ASM
47 #define SAVEDS
49 #else
51 /* SAS C */
53 #define REGPARAM(reg,type,name) register __ ## reg type name
55 #if USE_ASM_FUNCS
56 # define ASM_REGPARAM(reg,type,name) register __ ## reg type name
57 #else
58 # define ASM_REGPARAM(reg,type,name) type name
59 #endif
61 #if USE_OPTASM_FUNCS
62 # define OPT_REGPARAM(reg,type,name) register __ ## reg type name
63 #else
64 # define OPT_REGPARAM(reg,type,name) type name
65 #endif
67 #define REGARGS __regargs
68 #define STDARGS __stdargs
69 #define ALIGNED __aligned
70 #define CHIP __chip
71 #define ASM __asm
72 #define SAVEDS __saveds
74 #endif
76 #endif /* COMPILERSPECIFIC_H */