X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FnativeGen%2FNCG.h;h=48c1c79d1d796f6308efc291578c55d69c41277e;hb=423d477bfecd490de1449c59325c8776f91d7aac;hp=99f2e22d36dbcf44ade0d8ad70d31e880e95fb9a;hpb=bff69b90234815d3945fe3e76ad57589fe76bc7a;p=ghc-hetmet.git diff --git a/ghc/compiler/nativeGen/NCG.h b/ghc/compiler/nativeGen/NCG.h index 99f2e22..48c1c79 100644 --- a/ghc/compiler/nativeGen/NCG.h +++ b/ghc/compiler/nativeGen/NCG.h @@ -1,100 +1,25 @@ -#ifndef NCG_H -#define NCG_H - -#if 0 +/* ----------------------------------------------------------------------------- -IMPORTANT! If you put extra tabs/spaces in these macro definitions, -you will screw up the layout where they are used in case expressions! + (c) The University of Glasgow, 1994-2004 -(This is cpp-dependent, of course) - -** Convenience macros for writing the native-code generator ** - -#endif - -#define FAST_REG_NO FAST_INT - -#include "../../includes/config.h" - -#if 0 -{-testing only-} -#undef sparc_TARGET_ARCH -#undef sunos4_TARGET_OS -#undef i386_TARGET_ARCH -#define i386_TARGET_ARCH 1 -#undef linuxaout_TARGET_OS -#define linuxaout_TARGET_OS 1 -#endif -#if 0 -{-testing only-} -#undef sparc_TARGET_ARCH -#undef sunos4_TARGET_OS -#undef alpha_TARGET_ARCH -#define alpha_TARGET_ARCH 1 -#endif + Native-code generator header file - just useful macros for now. -#if i386_TARGET_ARCH -# define STOLEN_X86_REGS 4 --- HACK: go for the max -#endif -#include "../../includes/MachRegs.h" - -#if alpha_TARGET_ARCH -# define BYTES_PER_WORD 8 -# define BYTES_PER_WORD_STR "8" - -# include "../../includes/alpha-dec-osf1.h" -#endif - -#if i386_TARGET_ARCH -# define BYTES_PER_WORD 4 -# define BYTES_PER_WORD_STR "4" - -# if linuxaout_TARGET_OS -# include "../../includes/i386-unknown-linuxaout.h" -# endif -# if linux_TARGET_OS -# include "../../includes/i386-unknown-linux.h" -# endif -# if freebsd_TARGET_OS -# include "../../includes/i386-unknown-freebsd.h" -# endif -# if netbsd_TARGET_OS -# include "../../includes/i386-unknown-netbsd.h" -# endif -# if bsdi_TARGET_OS -# include "../../includes/i386-unknown-bsdi.h" -# endif -# if cygwin32_TARGET_OS -# include "../../includes/i386-unknown-cygwin32.h" -# endif -# if solaris2_TARGET_OS -# include "../../includes/i386-unknown-solaris2.h" -# endif -#endif + -------------------------------------------------------------------------- */ -#if sparc_TARGET_ARCH -# define BYTES_PER_WORD 4 -# define BYTES_PER_WORD_STR "4" +#ifndef NCG_H +#define NCG_H -# if sunos4_TARGET_OS -# include "../../includes/sparc-sun-sunos4.h" -# endif -# if solaris2_TARGET_OS -# include "../../includes/sparc-sun-solaris2.h" -# endif -#endif +#include "../includes/ghcconfig.h" ---------------------------------------------- +#define COMMA , +-- - - - - - - - - - - - - - - - - - - - - - #if alpha_TARGET_ARCH # define IF_ARCH_alpha(x,y) x #else # define IF_ARCH_alpha(x,y) y #endif - ---------------------------------------------- - +-- - - - - - - - - - - - - - - - - - - - - - #if i386_TARGET_ARCH # define IF_ARCH_i386(x,y) x #else @@ -113,6 +38,12 @@ you will screw up the layout where they are used in case expressions! # define IF_OS_netbsd(x,y) y #endif -- - - - - - - - - - - - - - - - - - - - - - +#if openbsd_TARGET_OS +# define IF_OS_openbsd(x,y) x +#else +# define IF_OS_openbsd(x,y) y +#endif +-- - - - - - - - - - - - - - - - - - - - - - #if linux_TARGET_OS # define IF_OS_linux(x,y) x #else @@ -136,7 +67,7 @@ you will screw up the layout where they are used in case expressions! #else # define IF_OS_cygwin32(x,y) y #endif ---------------------------------------------- +-- - - - - - - - - - - - - - - - - - - - - - #if sparc_TARGET_ARCH # define IF_ARCH_sparc(x,y) x #else @@ -155,5 +86,17 @@ you will screw up the layout where they are used in case expressions! #else # define IF_OS_solaris2(x,y) y #endif +-- - - - - - - - - - - - - - - - - - - - - - +#if powerpc_TARGET_ARCH +# define IF_ARCH_powerpc(x,y) x +#else +# define IF_ARCH_powerpc(x,y) y +#endif +-- - - - - - - - - - - - - - - - - - - - - - +#if darwin_TARGET_OS +# define IF_OS_darwin(x,y) x +#else +# define IF_OS_darwin(x,y) y +#endif --------------------------------------------- #endif