X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRts.h;h=3bec799585ab28ab9bc909cc0a4be4cc62c67179;hb=90d1deddda8123c46c4d029439591075ff310fb4;hp=f4cf5450c61a262bf74a1cb6946204c9312f5b37;hpb=50c54df14a97e55a7792e3d4bc4485f8e6ade756;p=ghc-hetmet.git diff --git a/includes/Rts.h b/includes/Rts.h index f4cf545..3bec799 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -5,6 +5,9 @@ * RTS external APIs. This file declares everything that the GHC RTS * exposes externally. * + * To understand the structure of the RTS headers, see the wiki: + * http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes + * * ---------------------------------------------------------------------------*/ #ifndef RTS_H @@ -45,6 +48,11 @@ extern "C" { #define ATTRIBUTE_ALIGNED(n) /*nothing*/ #endif +// Symbols that are extern, but private to the RTS, are declared +// with visibility "hidden" to hide them outside the RTS shared +// library. +#define RTS_PRIVATE GNUC3_ATTRIBUTE(visibility("hidden")) + /* Fix for mingw stat problem (done here so it's early enough) */ #ifdef mingw32_HOST_OS #define __MSVCRT__ 1 @@ -165,6 +173,7 @@ void _assertFail(const char *filename, unsigned int linenum) #include "rts/Parallel.h" #include "rts/Hooks.h" #include "rts/Signals.h" +#include "rts/BlockSignals.h" #include "rts/Hpc.h" #include "rts/Flags.h" #include "rts/Adjustor.h" @@ -176,6 +185,9 @@ void _assertFail(const char *filename, unsigned int linenum) #include "rts/Ticky.h" #include "rts/Timer.h" #include "rts/Stable.h" +#include "rts/TTY.h" +#include "rts/Utils.h" +#include "rts/PrimFloat.h" /* Misc stuff without a home */ DLL_IMPORT_RTS extern char **prog_argv; /* so we can get at these from Haskell */