darcs patch: Set .type @object for all global symbols in NCG
Aaron Tomb
atomb at soe.ucsc.edu
Fri Jun 29 22:08:27 EDT 2007
Hi,
You might already be aware of this, but .type seems to be a gas-
specific directive. At least, it's not supported by the OS X version
of as, so HEAD can't successfully compile things on that platform for
the moment. Feel free to ignore me if you're already planning to fix
this. :)
Thanks,
Aaron
On Jun 27, 2007, at 9:54 AM, Clemens Fruhwirth wrote:
> Wed Jun 27 18:51:50 CEST 2007 Clemens Fruhwirth
> <clemens at endorphin.org>
> * Set .type @object for all global symbols in NCG
>
> When linking against a dynamic library, the linker will emit a
> warning
> if no type information is present within the library. We generate
> the
> most trivial type for all externally visible labels, namely @object.
>
> New patches:
>
> [Set .type @object for all global symbols in NCG
> Clemens Fruhwirth <clemens at endorphin.org>**20070627165150
>
> When linking against a dynamic library, the linker will emit a
> warning
> if no type information is present within the library. We generate the
> most trivial type for all externally visible labels, namely @object.
> ] {
> hunk ./compiler/nativeGen/PprMach.hs 695
> +pprTypeAndSizeDecl :: CLabel -> Doc
> +pprTypeAndSizeDecl lbl
> + | not (externallyVisibleCLabel lbl) = empty
> + | otherwise = ptext SLIT(".type ") <>
> + pprCLabel_asm lbl <> ptext SLIT(", @object")
> +
> hunk ./compiler/nativeGen/PprMach.hs 702
> -pprLabel lbl = pprGloblDecl lbl $$ (pprCLabel_asm lbl <> char ':')
> +pprLabel lbl = pprGloblDecl lbl $$ pprTypeAndSizeDecl lbl $$
> (pprCLabel_asm lbl <> char ':')
> }
>
> Context:
>
> [FIX BUILD (on Windows): follow changes to make threaded RTS
> compile with -fasm
> simonmar at microsoft.com**20070627101604]
> [Fix names of coercions in newtype instances
> Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070627094200
> - Thanks to Roman for spotting the problem.
> ]
> [Cleaning up Hpc.c; adding support for reflection into Hpc.
> andy at galois.com**20070627063631]
> [Fixing Makefile hpc to use compat
> andy at galois.com**20070627060721]
> [Adding Tix to compat library, so that hpc in utils can use it
> andy at galois.com**20070627060430]
> [fixing creation of directory for html output; fixing html markup
> for 0% bars.
> andy at galois.com**20070627054846]
> [Fixing -fhpc flag to allow -fno-hpc
> andy at galois.com**20070627053808]
> [Fixed deriving of associated data types
> Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070627054834
> - We forgot to pull the data declarations nested in class
> instances out of
> the instances when collecting all the predicates that we need
> derive.
> Thanks to Roman for spotting this.
> ]
> [add missing case for compiling 64-bit operations on x86
> Simon Marlow <simonmar at microsoft.com>**20070626211153]
> [Make the threaded RTS compilable using -fasm
> Simon Marlow <simonmar at microsoft.com>**20070626211058
> We needed to turn some inline C functions and C macros into either
> real C functions or C-- macros.
> ]
> [x86_64: fix a few bugs in the >8 floating point args case
> Simon Marlow <simonmar at microsoft.com>**20070626103055]
> [make inplace scripts less sensitive to /bin/sh quoting by avoiding \
> Simon Marlow <simonmar at microsoft.com>**20070623200006]
> [excluding Trace.Hpc.* when using the compat library
> andy at galois.com**20070626072219]
> [Making -fhpc work with a stage1 build, via the compat 'package'.
> andy at galois.com**20070626053429]
> [Adding hpc lib as part of the compat 'package'
> andy at galois.com**20070626051136]
> [Cleanup Hpc sub-system, remove hpc-tracer implementation.
> andy at galois.com**20070626041958]
> [Add a compileToCore function to the GHC API
> Tim Chevalier <chevalier at alum.wellesley.edu>**20070625220608
>
> Added a compileToCore function to the GHC API that takes a
> session, module, and filename, and returns a list of Core
> bindings if successful. This is just a first try and could
> probably be improved (for example, there's probably a way to
> get the filename from the module so that it doesn't have to
> be passed in, I just don't see it offhand.)
>
> ]
> [Define SUBDIRS in Makefile (needed for clean; fixes trac #1440)
> Ian Lynagh <igloo at earth.li>**20070625174952]
> [Tweak the configuration and installation slightly
> Ian Lynagh <igloo at earth.li>**20070625174011
> Make it so that the documentation ends up where Cabal expects it
> to be
> on Windows (prep-bin-dist-mingw used to move it).
> ]
> [withExtendedLinkerState: don't revert the whole state
> Simon Marlow <simonmar at microsoft.com>**20070625151455
> Fixes test failures print017 and print024
> ]
> [Print infix type constructors in an infix way
> simonpj at microsoft.com**20070625152858
>
> Fixes Trac #1425. The printer for types doesn't know about fixities.
> (It could be educated to know, but it doesn't at the moment.) So it
> treats all infix tycons as of precedence less than application and
> function
> arrrow.
>
> I took a slight shortcut and reused function-arrow prededence, so
> I think
> you may get
> T -> T :% T
> meaning
> T -> (T :% T)
>
> If that becomes a problem we can fix it.
>
> ]
> [Clamp -O flag to beween 0 and 2
> simonpj at microsoft.com**20070625152616
>
> Fixes Trac #1272
>
> ]
> [Adding hpc tools, as a single program.
> andy at galois.com**20070625070943]
> [Update version numbering policy in the users guide
> Ian Lynagh <igloo at earth.li>**20070623224440]
> [Fix an error message
> Ian Lynagh <igloo at earth.li>**20070623190653
> `y' in the error message
> `x' is not a (visible) method of class `y'
> had gone missing.
> ]
> [turning off -fhpc in stage1 built ghc
> andy at galois.com**20070622225226]
> [removing -fhpc-tracer from ghc, is subsumed by the GHC debugger
> andy at galois.com**20070622224226]
> [Stage2 now used the package hpc to get the hpc datastructures
> andy at galois.com**20070622224038
> Stage1 no longer supports hpc (-fhpc is ignored)
>
> ]
> [Fix typo in Makefile
> Ian Lynagh <igloo at earth.li>**20070622222133]
> [Adding hpc package to ghc core libraries
> andy at galois.com**20070622171851]
> [Change how the libraries Makefile adds --configure-option= flags;
> fixes #1431
> Ian Lynagh <igloo at earth.li>**20070622160951
> We now assume that each configure option is quoted with '', and thus
> replace " '" with " --configure-option='".
> ]
> [update with new libraries
> Simon Marlow <simonmar at microsoft.com>**20070622131211]
> [FIX BUILD on Windows: horrible hack to work around make(?) bug
> Simon Marlow <simonmar at microsoft.com>*-20070621144519]
> [FIX BUILD (on Windows): Cabal must invoke compiler/stage1/ghc-inplace
> Simon Marlow <simonmar at microsoft.com>**20070622111634
> not compiler/ghc-inplace, which is a symlink.
>
> ]
> [remove unnecessary cruft
> Simon Marlow <simonmar at microsoft.com>**20070622075602]
> [FIX BUILD: all builds need --template, not just Windows
> Simon Marlow <simonmar at microsoft.com>**20070622075444]
> [ignore all but the last --template option
> Simon Marlow <simonmar at microsoft.com>**20070622075417]
> [Unbreak the stage-2 compiler (record-type changes)
> simonpj at microsoft.com**20070621170131]
> [-fglasgow-exts implies -X=GADTs
> simonpj at microsoft.com**20070621162152]
> [FIX read040: patterns with type sig on LHS of do-binding
> simonpj at microsoft.com**20070621143721
>
> f () = do { x :: Bool <- return True; ... }
>
> For some reason the production for 'pat' required 'infixexp' on the
> LHS of a do-notation binding. This patch makes it an 'exp', which
> thereby allows an expression with a type sig.
>
> Happily, there are no new shift-reduce errors, so I don't think this
> will break anything else.
>
>
>
> ]
> [Another wibble to the head-exploded error message (suggested by
> David Roundy)
> simonpj at microsoft.com**20070621141144]
> [Use the correct flag for controlling scoped type variables in an
> instance decl
> simonpj at microsoft.com**20070621141114]
> [Improve 'my head exploded' error message
> simonpj at microsoft.com**20070621131650]
> [FIX BUILD: add missing prime!
> simonpj at microsoft.com**20070621131625]
> [FIX BUILD on Windows: horrible hack to work around make(?) bug
> Simon Marlow <simonmar at microsoft.com>**20070621144519]
> [yet more fixes: Cygwin broke this time
> Simon Marlow <simonmar at microsoft.com>**20070621140653]
> [fix bugs with hsc2hs-inplace
> Lemmih <lemmih at gmail.com>**20070621132825]
> [mk/build.mk is optional
> Lemmih <lemmih at gmail.com>**20070621130727]
> [further fixes to the inplace scripts
> Lemmih <lemmih at gmail.com>**20070621130657]
> [use a binary for hsc2hs-inplace too
> Simon Marlow <simonmar at microsoft.com>**20070621121426]
> [Fix problems with new inplace stuff on Cygwin
> Simon Marlow <simonmar at microsoft.com>**20070621114147]
> [FIX BUILD: can't build the makefiles during make boot
> Simon Marlow <simonmar at microsoft.com>**20070621095154]
> [clean up lib/{GNUmakefile,Makefile.local}
> Simon Marlow <simonmar at microsoft.com>**20070620132809]
> [default_target should be "all", not "build"
> Simon Marlow <simonmar at microsoft.com>**20070620132001]
> [add comment
> Simon Marlow <simonmar at microsoft.com>**20070620131949]
> [Fix a problem with package.mk being included too early
> Simon Marlow <simonmar at microsoft.com>**20070620122224]
> [Use setup makefile + make by default to build libraries
> Simon Marlow <simonmar at microsoft.com>**20070620122009
>
> The advantages of this are
> (a) it's a step closer to getting -j working again (make -j
> works in
> an individual library, but not in libraries/ yet).
> (b) it's easier to hack on libraries: make dist/build/Foo.o
> (c) it's a step closer to getting HC bootstrapping again
>
> The build system creates <lib>/GNUmakefile as part of 'make boot'.
> This was chosen so as not to interfere with existing Makefiles, but
> it's a bit of a hack. (previously I used CabalMakefile, but that
> means adding -f CabalMakefile each time you run make, and that's a
> pain).
> ]
> [Use a real binary instead of scripts for ghc-inplace
> Simon Marlow <simonmar at microsoft.com>**20070621101324
> Fixes various problems with getting the scripts right on Windows.
> Binaries are universally executable by /bin/sh, cmd.exe and
> rawSystem,
> so this allows us to remove some platform-specific hacks.
> ]
> [Add several new record features
> Lemmih <lemmih at gmail.com>**20070621091552
>
> 1. Record disambiguation (-fdisambiguate-record-fields)
>
> In record construction and pattern matching (although not
> in record updates) it is clear which field name is intended
> even if there are several in scope. This extension uses
> the constructor to disambiguate. Thus
> C { x=3 }
> uses the 'x' field from constructor C (assuming there is one)
> even if there are many x's in scope.
>
>
> 2. Record punning (-frecord-puns)
>
> In a record construction or pattern match or update you can
> omit the "=" part, thus
> C { x, y }
> This is just syntactic sugar for
> C { x=x, y=y }
>
>
> 3. Dot-dot notation for records (-frecord-dot-dot)
>
> In record construction or pattern match (but not update)
> you can use ".." to mean "all the remaining fields". So
>
> C { x=v, .. }
>
> means to fill in the remaining fields to give
>
> C { x=v, y=y }
>
> (assuming C has fields x and y). This might reasonably
> considered very dodgy stuff. For pattern-matching it brings
> into scope a bunch of things that are not explictly mentioned;
> and in record construction it just picks whatver 'y' is in
> scope for the 'y' field. Still, Lennart Augustsson really
> wants it, and it's a feature that is extremely easy to explain.
>
>
> Implementation
> ~~~~~~~~~~~~~~
> I thought of using the "parent" field in the GlobalRdrEnv, but
> that's really used for import/export and just isn't right for this.
> For example, for import/export a field is a subordinate of the *type
> constructor* whereas here we need to know what fields belong to a
> particular *data* constructor.
>
> The main thing is that we need to map a data constructor to its
> fields, and we need to do so in the renamer. For imported modules
> it's easy: just look in the imported TypeEnv. For the module being
> compiled, we make a new field tcg_field_env in the TcGblEnv.
> The important functions are
> RnEnv.lookupRecordBndr
> RnEnv.lookupConstructorFields
>
> There is still a significant infelicity in the way the renamer
> works on patterns, which I'll tackle next.
>
>
> I also did quite a bit of refactoring in the representation of
> record fields (mainly in HsPat).***END OF DESCRIPTION***
>
> Place the long patch description above the ***END OF
> DESCRIPTION*** marker.
> The first line of this file will be the patch name.
>
>
> This patch contains the following changes:
>
> M ./compiler/deSugar/Check.lhs -3 +5
> M ./compiler/deSugar/Coverage.lhs -6 +7
> M ./compiler/deSugar/DsExpr.lhs -6 +13
> M ./compiler/deSugar/DsMeta.hs -8 +8
> M ./compiler/deSugar/DsUtils.lhs -1 +1
> M ./compiler/deSugar/MatchCon.lhs -2 +2
> M ./compiler/hsSyn/Convert.lhs -3 +3
> M ./compiler/hsSyn/HsDecls.lhs -9 +25
> M ./compiler/hsSyn/HsExpr.lhs -13 +3
> M ./compiler/hsSyn/HsPat.lhs -25 +63
> M ./compiler/hsSyn/HsUtils.lhs -3 +3
> M ./compiler/main/DynFlags.hs +6
> M ./compiler/parser/Parser.y.pp -13 +17
> M ./compiler/parser/RdrHsSyn.lhs -16 +18
> M ./compiler/rename/RnBinds.lhs -2 +2
> M ./compiler/rename/RnEnv.lhs -22 +82
> M ./compiler/rename/RnExpr.lhs -34 +12
> M ./compiler/rename/RnHsSyn.lhs -3 +2
> M ./compiler/rename/RnSource.lhs -50 +78
> M ./compiler/rename/RnTypes.lhs -50 +84
> M ./compiler/typecheck/TcExpr.lhs -18 +18
> M ./compiler/typecheck/TcHsSyn.lhs -20 +21
> M ./compiler/typecheck/TcPat.lhs -8 +6
> M ./compiler/typecheck/TcRnMonad.lhs -6 +15
> M ./compiler/typecheck/TcRnTypes.lhs -2 +11
> M ./compiler/typecheck/TcTyClsDecls.lhs -3 +4
> M ./docs/users_guide/flags.xml +7
> M ./docs/users_guide/glasgow_exts.xml +42
> ]
> [Remove the unused HsExpr constructor DictPat
> Lemmih <lemmih at gmail.com>**20070618124605]
> [Fix a bug in MatchCon, and clarify what dataConInstOrigArgTys does
> Lemmih <lemmih at gmail.com>**20070607213837
>
> There was an outright bug in MatchCon.matchOneCon, in the
> construction
> of arg_tys. Easily fixed. It never showed up becuase the arg_tys
> are
> only used in WildPats, and they in turn seldom have their types
> looked
> (except by hsPatType). So I can't make a test case for htis.
>
> While I was investigating, I added a bit of clarifation and
> invariant-checking to dataConInstOrigArgTys and dataConInstArgTys
>
> ]
> [Do not perform a worker/wrapper split for a NOINLINE function
> Lemmih <lemmih at gmail.com>**20070607213523
>
> This came up in an email exchange with Duncan Coutts in May 2007.
> If a function is marked NOINLINE there is really no point in
> doing a worker/wrapper split, because the wrapper will never
> be inlined.
>
>
> ]
> [Fix Trac #1402: typo in specialiser
> Lemmih <lemmih at gmail.com>**20070607185534
>
> This patch fixes a plain bug in the specialiser (rhs_bndrs instead
> of rhs_ids) which made GHC crash in obscure cases.
>
> It exposed a case in which we might not do all possible
> specialisation;
> see Note [Specialisation shape]. It's not an important case, but
> I've
> added a warning in DEBUG mode.
>
> Trac #1402. Test is spec003.hs
>
> ]
> [Wibble: make -fno-implicit-prelude work
> simonpj at microsoft.com**20070621072456]
> [Remove an incorrect claim that [t| ... |] isn't implemented yet
> Ian Lynagh <igloo at earth.li>**20070621003103]
> [Make building haddock docs opt-in rather than opt-out
> Ian Lynagh <igloo at earth.li>**20070620235909]
> [Don't assume that the main repo is called "ghc" in darcs-all
> Ian Lynagh <igloo at earth.li>**20070620234007
> Fixes working in branches where that isn't true.
> ]
> [Trivial fix to clear Trac #1386
> simonpj at microsoft.com**20070620165836]
> [Wibbles in flaggery, concerning backward compatibility with -f flags
> simonpj at microsoft.com**20070620165801]
> [Implement -X=GADTs and -X=RelaxedPolyRec
> simonpj at microsoft.com**20070620163359
>
> Two new -X flags, one for GADTs and one for relaxed polymorphic
> recursion
>
> This also fixes a rather confusing error message that the Darcs folk
> tripped over.
>
> ]
> [Use -X for language extensions
> simonpj at microsoft.com**20070620162656
>
> We've often talked about having a separate flag for language
> extensions,
> and now we have one. You can say
>
> -XImplicitParams
> -X=ImplicitParams
> -Ximplicit-params
>
> as you like. These replace the "-f" flags with similar names (though
> the -f prefix will serve as a synonym for -X for a while).
>
> There's an optional "=", and the flag is normalised by removing
> hyphens
> and lower-casing, so all the above variants mean the same thing.
>
> The nomenclature is intended to match the LANGUAGE pramgas, which are
> defined by Cabal. So you can also say
>
> {-# LANGUAGE ImplicitParams #-}
>
> But Cabal doesn't have as many language options as GHC does, so
> the -X
> things are a superset of the LANGUAGE things.
>
> The optional "=" applies to all flags that take an argument, so
> you can,
> for example, say
>
> -pgmL=/etc/foo
>
> I hope that's ok. (It's an unforced change; just fitted in.)
>
> I hope we'll add more -X flags, to replace the portmanteau -
> fglasgow-exts
> which does everything!
>
> I have updated the manual, but doubtless missed something.
>
>
>
> ]
> [Unused import
> simonpj at microsoft.com**20070620161341]
> [turning back on case liberation when using hpc
> andy at galois.com**20070620150244]
> [remove debugging code accidentally left in
> Simon Marlow <simonmar at microsoft.com>**20070620125742]
> [Use .NOTPARALLEL for the libraries Makefile
> Ian Lynagh <igloo at earth.li>**20070620120723]
> [Improve the handling of deriving, in error cases
> simonpj at microsoft.com**20070620102828
>
> I'd been too ambitious with error handling for 'deriving', and got it
> entirely wrong. This fixes it. See extensive
> Note [Exotic derived instance contexts]
> in TcSimplify. (Most of the extra lines are comments!)
>
> ]
> [More refactoring in TcSimplify
> simonpj at microsoft.com**20070620093646
>
> This re-jig tides up the top-level simplification, and combines in
> one
> well-commented function, approximateImplications, the rather ad-hoc
> way of simplifying implication constraints during type inference.
>
> Error messages get a bit better too.
>
> ]
> [Fix egregious sharing bug in LiberateCase
> simonpj at microsoft.com**20070620075648
>
> Andy Gill writes: consider the following code
>
> f = g (case v of
> V a b -> a : t f)
>
> where g is expensive. Liberate case will turn this into
>
> f = g (case v of
> V a b -> a : t (letrec f = g (case v of
> V a b -> a : f t)
> in f)
> )
> Yikes! We evaluate g twice. This leads to a O(2^n) explosion
> if g calls back to the same code recursively.
>
> This may be the same as Trac #1366.
>
>
> ]
> [Turning off case liberation when using the hpc option, for now
> andy at galois.com**20070620064943
>
> Consider the following code
>
> f = g (case v of
> V a b -> a : t f)
>
> where g is expensive. Liberate case will turn this into
>
> f = g (case v of
> V a b -> a : t (letrec f = g (case v of
> V a b -> a : f t)
> in f)
> )
>
> Yikes! We evaluate g twice. This leads to a O(2^n) explosion
> if g calls back to the same code recursively.
>
> This happen sometimes in HPC, because every tick is a liberate-
> able case,
> but is a general problem to case liberation (I think).
>
> ]
> [Add --core-only flag to push-all
> Ian Lynagh <igloo at earth.li>**20070619200546]
> [Add a push-all script
> Ian Lynagh <igloo at earth.li>**20070619192820]
> [Improve misleading warning (Trac #1422)
> simonpj at microsoft.com**20070619165354]
> [Fix a bug in the handling of implication constraints (Trac #1430)
> simonpj at microsoft.com**20070619162613
>
> Trac #1430 showed up quite a nasty bug in the handling of implication
> constraints when we are *inferring* the type of a function.
> See Note [Inference and implication constraints]:
>
> We can't (or at least don't) abstract over implications. But we
> might
> have an implication constraint (perhaps arising from a nested
> pattern
> match) like
> C a => D a
> when we are now trying to quantify over 'a'. Our best
> approximation
> is to make (D a) part of the inferred context, so we can use
> that to
> discharge the implication. Hence getImplicWanteds.
>
> My solution is not marvellous, but it's better than before. I
> transferred
> function getDefaultableDicts from Inst to TcSimplify (since it's only
> called there). Many of the remaining 50 new lines are comments. But
> there is undoubtedly more code than before (sigh).
>
> Test is tc228.
>
>
>
> ]
> [Comments only
> simonpj at microsoft.com**20070619162603]
> [Remove erroneous requirement to import Control.Monad.Fix when
> using mdo
> simonpj at microsoft.com**20070619084634
>
> See Trac #1426
>
> ]
> [First cut at documentation for HPC option in GHC
> andy at galois.com**20070619055654]
> [Build package ndp if present
> Manuel M T Chakravarty <chak at cse.unsw.edu.au>**20070619011510]
> [typo
> Simon Marlow <simonmar at microsoft.com>**20070618111817]
> [More debugger output order consistency
> Ian Lynagh <igloo at earth.li>**20070618102850]
> [Several changes to the code dealing with newtypes in :print
> Pepe Iborra <mnislaih at gmail.com>**20070617193435
>
> I simplified the code, killed some unreachable blocks, and renamed
> it so that it corresponds more accurately with what is explained in
> the technical report
>
> http://www.dsic.upv.es/docs/bib-dig/informes/etd-04042007-111431/
> papernew2.pdf
>
> Also, fixed a bug related to newtypes in the pretty printer
>
> ]
> [Remove now non-existant "Breakpoints" entry from package.conf.in
> Pepe Iborra <mnislaih at gmail.com>**20070613092102]
> [Sort names before printing them in the debugger so output order is
> consistent
> Ian Lynagh <igloo at earth.li>**20070617215205]
> [Use %d rather than %zd on Windows
> Ian Lynagh <igloo at earth.li>**20070616193745]
> [Add missing quotes in generated script
> Ian Lynagh <igloo at earth.li>**20070615184527]
> [Fix size mismatch errors in mkDerivedConstants.c
> Ian Lynagh <igloo at earth.li>**20070615182337]
> [workaround for #1421 (Solaris linker being picky about .size)
> Simon Marlow <simonmar at microsoft.com>**20070614095727]
> [I didn't quite fix #1424 completely - hopefully this gets it right
> Simon Marlow <simonmar at microsoft.com>**20070613144505]
> [FIX #1424: x86_64 NCG generated wrong code for foreign call with
> >8 double args
> Simon Marlow <simonmar at microsoft.com>**20070613142431
> I guess we have a missing test... I'll add one
> ]
> [another fix for -hb: we appear to be freeing the hash table and
> arena twice
> Simon Marlow <simonmar at microsoft.com>**20070613111552]
> [FIX #1418 (partially)
> Simon Marlow <simonmar at microsoft.com>**20070613102928
> When the con_desc field of an info table was made into a relative
> reference, this had the side effect of making the profiling fields
> (closure_desc and closure_type) also relative, but only when
> compiling
> via C, and the heap profiler was still treating them as absolute,
> leading to crashes when profiling with -hd or -hy.
>
> This patch fixes up the story to be consistent: these fields really
> should be relative (otherwise we couldn't make shared versions of the
> profiling libraries), so I've made them relative and fixed up the RTS
> to know about this.
> ]
> [should be using GET_CON_DESC() to get the constructor name
> Simon Marlow <simonmar at microsoft.com>**20070613095201]
> [warning police
> Simon Marlow <simonmar at microsoft.com>**20070613095144]
> [Use $(if...) to get lazy tests instead of if..endif in a few places
> Simon Marlow <simonmar at microsoft.com>**20070613085138
> This means it should be possible to set GhcUnregisterised=YES in
> build.mk and the rest of the settings should follow automatically
> (GhcWithNativeCodeGen, SplitObjs, GhcWithSMP).
> ]
> [TAG 2007-06-12
> Ian Lynagh <igloo at earth.li>**20070612213440]
> Patch bundle hash:
> 9677c93143a2b339c5e095cb7d5afec1997dfdbd
> _______________________________________________
> Cvs-ghc mailing list
> Cvs-ghc at haskell.org
> http://www.haskell.org/mailman/listinfo/cvs-ghc
More information about the Cvs-ghc
mailing list