Make SpecConstr specialise for constant arguments again
[ghc-hetmet.git] / compiler / nativeGen / NCG.h
1 /* -----------------------------------------------------------------------------
2
3    (c) The University of Glasgow, 1994-2004
4
5    Native-code generator header file - just useful macros for now.
6
7    -------------------------------------------------------------------------- */
8
9 #ifndef NCG_H
10 #define NCG_H
11
12 #include "ghc_boot_platform.h"
13
14 #define COMMA ,
15
16 -- - - - - - - - - - - - - - - - - - - - - - 
17 #if alpha_TARGET_ARCH
18 # define IF_ARCH_alpha(x,y) x
19 #else
20 # define IF_ARCH_alpha(x,y) y
21 #endif
22 -- - - - - - - - - - - - - - - - - - - - - - 
23 #if i386_TARGET_ARCH
24 # define IF_ARCH_i386(x,y) x
25 #else
26 # define IF_ARCH_i386(x,y) y
27 #endif
28 -- - - - - - - - - - - - - - - - - - - - - - 
29 #if x86_64_TARGET_ARCH
30 # define IF_ARCH_x86_64(x,y) x
31 #else
32 # define IF_ARCH_x86_64(x,y) y
33 #endif
34 -- - - - - - - - - - - - - - - - - - - - - - 
35 #if freebsd_TARGET_OS
36 # define IF_OS_freebsd(x,y) x
37 #else
38 # define IF_OS_freebsd(x,y) y
39 #endif
40 -- - - - - - - - - - - - - - - - - - - - - - 
41 #if netbsd_TARGET_OS
42 # define IF_OS_netbsd(x,y) x
43 #else
44 # define IF_OS_netbsd(x,y) y
45 #endif
46 -- - - - - - - - - - - - - - - - - - - - - - 
47 #if openbsd_TARGET_OS
48 # define IF_OS_openbsd(x,y) x
49 #else
50 # define IF_OS_openbsd(x,y) y
51 #endif
52 -- - - - - - - - - - - - - - - - - - - - - - 
53 #if linux_TARGET_OS
54 # define IF_OS_linux(x,y) x
55 #else
56 # define IF_OS_linux(x,y) y
57 #endif
58 -- - - - - - - - - - - - - - - - - - - - - - 
59 #if linuxaout_TARGET_OS
60 # define IF_OS_linuxaout(x,y) x
61 #else
62 # define IF_OS_linuxaout(x,y) y
63 #endif
64 -- - - - - - - - - - - - - - - - - - - - - - 
65 #if bsdi_TARGET_OS
66 # define IF_OS_bsdi(x,y) x
67 #else
68 # define IF_OS_bsdi(x,y) y
69 #endif
70 -- - - - - - - - - - - - - - - - - - - - - - 
71 #if cygwin32_TARGET_OS
72 # define IF_OS_cygwin32(x,y) x
73 #else
74 # define IF_OS_cygwin32(x,y) y
75 #endif
76 -- - - - - - - - - - - - - - - - - - - - - - 
77 #if sparc_TARGET_ARCH
78 # define IF_ARCH_sparc(x,y) x
79 #else
80 # define IF_ARCH_sparc(x,y) y
81 #endif
82 -- - - - - - - - - - - - - - - - - - - - - - 
83 #if sunos4_TARGET_OS
84 # define IF_OS_sunos4(x,y) x
85 #else
86 # define IF_OS_sunos4(x,y) y
87 #endif
88 -- - - - - - - - - - - - - - - - - - - - - - 
89 -- NB: this will catch i386-*-solaris2, too
90 #if solaris2_TARGET_OS
91 # define IF_OS_solaris2(x,y) x
92 #else
93 # define IF_OS_solaris2(x,y) y
94 #endif
95 -- - - - - - - - - - - - - - - - - - - - - - 
96 #if powerpc_TARGET_ARCH
97 # define IF_ARCH_powerpc(x,y) x
98 #else
99 # define IF_ARCH_powerpc(x,y) y
100 #endif
101 -- - - - - - - - - - - - - - - - - - - - - - 
102 #if darwin_TARGET_OS
103 # define IF_OS_darwin(x,y) x
104 #else
105 # define IF_OS_darwin(x,y) y
106 #endif
107 ---------------------------------------------
108 #endif