diff --git a/ghc/docs/users_guide/using.vsgml b/ghc/docs/users_guide/using.vsgml index b5b5a751dfafde7d189898dfffdc4ceb78bdae84..f0a435a4c8b77e73def36399aafdb3066b69da16 100644 --- a/ghc/docs/users_guide/using.vsgml +++ b/ghc/docs/users_guide/using.vsgml @@ -1169,24 +1169,25 @@ Specify a directory in which to look for @#include@ files, in the usual C way. </descrip> -The @ghc@ driver pre-defines several macros: +The @ghc@ driver pre-defines several macros when processing Haskell +source code (@.hs@ or @.lhs@ files): + <descrip> <tag>@__HASKELL98__@:</tag> <nidx>__HASKELL98__</nidx> -If defined, this means that GHC supports the language -defined by the Haskell 98 report. +If defined, this means that GHC supports the language defined by the +Haskell 98 report. -NB. This macro is <em/only/ set when pre-processing Haskell source -(ie. @.hs@ or @.lhs@ files). +<tag>@__HASKELL__=98@:</tag> +<nidx>__HASKELL__</nidx> +In GHC 4.04 and later, the @__HASKELL__@ macro is defined as having +the value @98@. <tag>@__HASKELL1__@:</tag> <nidx>__HASKELL1__ macro</nidx> -If defined to <em/n/, that means GHC supports the -Haskell language defined in the Haskell report version <em/1.n/. -Currently 5. - -NB. As with <tt/__HASKELL98__/, this macro is <em/only/ set when -pre-processing Haskell source (ie. @.hs@ or @.lhs@ files). +If defined to <em/n/, that means GHC supports the Haskell language +defined in the Haskell report version <em/1.n/. Currently 5. This +macro is deprecated, and will probably disappear in future versions. <tag>@__GLASGOW_HASKELL__@:</tag> <nidx>__GLASGOW_HASKELL__ macro</nidx> diff --git a/ghc/driver/ghc.lprl b/ghc/driver/ghc.lprl index b9d4ef2f1f62dffbf4af16f5903412cb8ee999c4..d09be78ca6d8fa25619fc178129382cd8760385d 100644 --- a/ghc/driver/ghc.lprl +++ b/ghc/driver/ghc.lprl @@ -367,7 +367,8 @@ $Haskell1Version = 5; # i.e., Haskell 1.4 # Cpp symbols defined when we're processing Haskell source. @HsSourceCppOpts = - ( "-D__HASKELL1__=$Haskell1Version" + ( "-D__HASKELL__=98" + , "-D__HASKELL1__=$Haskell1Version" , "-D__GLASGOW_HASKELL__=$ProjectVersionInt" , "-D__HASKELL98__" , "-D__CONCURRENT_HASKELL__"