From: Malcolm.Wallace@cs.york.ac.uk Date: Tue, 26 Jun 2007 09:52:22 +0000 (+0000) Subject: Use a combination of Haskell/C comments to ensure robustness. X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=bef2698d09b3f76e3265eb6ab7d607e0bccc7458;hp=cad1838c9e503da6d5d7524daa7bf7bf678b4a86;p=ghc-base.git Use a combination of Haskell/C comments to ensure robustness. e.g. -- // ensures that _no_ preprocessor will try to tokenise the rest of the line. --- diff --git a/include/CTypes.h b/include/CTypes.h index eb1a38b..5ee8f48 100644 --- a/include/CTypes.h +++ b/include/CTypes.h @@ -1,19 +1,22 @@ -{- ----------------------------------------------------------------------------- - * Dirty CPP hackery for CTypes/CTypesISO - * - * (c) The FFI task force, 2000 - * -------------------------------------------------------------------------- -} +{- -------------------------------------------------------------------------- +// Dirty CPP hackery for CTypes/CTypesISO +// +// (c) The FFI task force, 2000 +// -------------------------------------------------------------------------- +-} #ifndef CTYPES__H #define CTYPES__H #include "Typeable.h" -{- As long as there is no automatic derivation of classes for newtypes we resort - to extremely dirty cpp-hackery. :-P Some care has to be taken when the - macros below are modified, otherwise the layout rule will bite you.-} +{- +// As long as there is no automatic derivation of classes for newtypes we resort +// to extremely dirty cpp-hackery. :-P Some care has to be taken when the +// macros below are modified, otherwise the layout rule will bite you. +-} -{- A hacked version for GHC follows the Haskell 98 version... -} +-- // A hacked version for GHC follows the Haskell 98 version... #ifndef __GLASGOW_HASKELL__ #define ARITHMETIC_TYPE(T,C,S,B) \ @@ -168,9 +171,7 @@ instance Storable T where { \ #else /* __GLASGOW_HASKELL__ */ -{- GHC can derive any class for a newtype, so we make use of that - * here... - -} +-- // GHC can derive any class for a newtype, so we make use of that here... #define ARITHMETIC_CLASSES Eq,Ord,Num,Enum,Storable,Real #define INTEGRAL_CLASSES Bounded,Integral,Bits diff --git a/include/Typeable.h b/include/Typeable.h index a9804d1..35de273 100644 --- a/include/Typeable.h +++ b/include/Typeable.h @@ -1,14 +1,15 @@ -{- ---------------------------------------------------------------------------- - * Macros to help make Typeable instances. - * - * INSTANCE_TYPEABLEn(tc,tcname,"tc") defines - * - * instance Typeable/n/ tc - * instance Typeable a => Typeable/n-1/ (tc a) - * instance (Typeable a, Typeable b) => Typeable/n-2/ (tc a b) - * ... - * instance (Typeable a1, ..., Typeable an) => Typeable (tc a1 ... an) - * -------------------------------------------------------------------------- -} +{- -------------------------------------------------------------------------- +// Macros to help make Typeable instances. +// +// INSTANCE_TYPEABLEn(tc,tcname,"tc") defines +// +// instance Typeable/n/ tc +// instance Typeable a => Typeable/n-1/ (tc a) +// instance (Typeable a, Typeable b) => Typeable/n-2/ (tc a b) +// ... +// instance (Typeable a1, ..., Typeable an) => Typeable (tc a1 ... an) +// -------------------------------------------------------------------------- +-} #ifndef TYPEABLE_H #define TYPEABLE_H @@ -19,8 +20,8 @@ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] } #ifdef __GLASGOW_HASKELL__ --- For GHC, the extra instances follow from general instance declarations --- defined in Data.Typeable. +-- // For GHC, the extra instances follow from general instance declarations +-- // defined in Data.Typeable. #define INSTANCE_TYPEABLE1(tycon,tcname,str) \ tcname = mkTyCon str; \