X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FnativeGen%2FNCG.h;h=48c1c79d1d796f6308efc291578c55d69c41277e;hb=423d477bfecd490de1449c59325c8776f91d7aac;hp=d55e9f458ac006feedc379e272568b4763742124;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/ghc/compiler/nativeGen/NCG.h b/ghc/compiler/nativeGen/NCG.h index d55e9f4..48c1c79 100644 --- a/ghc/compiler/nativeGen/NCG.h +++ b/ghc/compiler/nativeGen/NCG.h @@ -1,82 +1,25 @@ -#define COMMA , - -#ifndef NCG_H -#define NCG_H -#if 0 - COMPILING_NCG is used to control the visibility of - relevant information from the GHC header files when - compiling the native code generator modules. -#endif - -#ifndef COMPILING_NCG -#define COMPILING_NCG -#endif - -#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! +/* ----------------------------------------------------------------------------- -(This is cpp-dependent, of course) - -** Convenience macros for writing the native-code generator ** - -#endif + (c) The University of Glasgow, 1994-2004 -#define FAST_REG_NO FAST_INT + Native-code generator header file - just useful macros for now. -#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 - -#if i386_TARGET_ARCH -# define STOLEN_X86_REGS 4 --- HACK: go for the max -#endif - -#include "../includes/MachRegs.h" -#include "../includes/NativeDefs.h" - -#if alpha_TARGET_ARCH -# define BYTES_PER_WORD 8 -# define BYTES_PER_WORD_STR "8" -#endif - -#if i386_TARGET_ARCH -# define BYTES_PER_WORD 4 -# define BYTES_PER_WORD_STR "4" -#endif +#ifndef NCG_H +#define NCG_H -#if sparc_TARGET_ARCH -# define BYTES_PER_WORD 4 -# define BYTES_PER_WORD_STR "4" -#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 @@ -95,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 @@ -118,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 @@ -137,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