1 patch for repository http://darcs.haskell.org/ghc-7.0/ghc:

Tue Dec 21 08:32:33 EST 2010  gwri...@antiope.com
  * Fix #4829 (build does not respect --with-gcc option)
  
  This patch fixes what seems to be the last problem with the --with-gcc
  option.  On OS X, we need to pass the path to gcc to dtrace as the
  preprocessor.  (Internally, dtrace on OS X sets the default preprocessor
  to /usr/bin/gcc.)  ATM, dtrace is only supported on OS X, so we don't
  need any conditionalization.  If dtrace is ported to other platforms,
  we might need to change this. However, usage on other platforms will
  probably be similar to OS X, since many of Apple's changes are to
  use the gnu toolchain instead of the Sun toolchain.
    
New patches:

[Fix #4829 (build does not respect --with-gcc option)
gwri...@antiope.com**20101221133233
 Ignore-this: 37918feb82f911c2beb75915b6e8b97b
 
 This patch fixes what seems to be the last problem with the --with-gcc
 option.  On OS X, we need to pass the path to gcc to dtrace as the
 preprocessor.  (Internally, dtrace on OS X sets the default preprocessor
 to /usr/bin/gcc.)  ATM, dtrace is only supported on OS X, so we don't
 need any conditionalization.  If dtrace is ported to other platforms,
 we might need to change this. However, usage on other platforms will
 probably be similar to OS X, since many of Apple's changes are to
 use the gnu toolchain instead of the Sun toolchain.
   
] {
hunk ./rts/ghc.mk 444
 rts_CC_OPTS		+= -DDTRACE
 rts_HC_OPTS		+= -DDTRACE
 
+# Apple's dtrace (the only one supported by ghc at the moment) uses
+# gcc as its preprocessor. If gcc isn't at /usr/bin/gcc, or we need
+# to force it to use a different gcc, we need to give the path in
+# the option cpppath.
+
 DTRACEPROBES_SRC = rts/RtsProbes.d
 $(DTRACEPROBES_H): $(DTRACEPROBES_SRC) includes/ghcplatform.h | $(dir $@)/.
hunk ./rts/ghc.mk 451
-	"$(DTRACE)" $(filter -I%,$(rts_CC_OPTS)) -C -h -o $@ -s $<
+	"$(DTRACE)" $(filter -I%,$(rts_CC_OPTS)) -C -x cpppath=$(WhatGccIsCalled) -h -o $@ -s $<
 
 endif
 
}

Context:

[Fix checkBinaries on OS X
Ian Lynagh <ig...@earth.li>**20101216201121] 
[Use "-perm -u+x" rather than "-executable" to find executables
Ian Lynagh <ig...@earth.li>**20101216145235
 On Windows, -executable is matching the html docs.
] 
[Remove a debugging print
Ian Lynagh <ig...@earth.li>**20101216011459] 
[Add release notes for 7.0.2
Ian Lynagh <ig...@earth.li>**20101215165746
 Ignore-this: 686eeb9b0b301444a2ab0ed81e9d1d76
] 
[Wibble to InstEnv.instanceHead
simo...@microsoft.com**20101214082939
 Ignore-this: 851db517f8638a0aeb7ad461298f7e9f
 
 Fixes an accidental glitch in T1835
] 
[MERGED: Fix recursive superclasses (again).  Fixes Trac #4809.
Ian Lynagh <ig...@earth.li>**20101214180026
 simo...@microsoft.com**20101213171511
  Ignore-this: b91651397918fd8f0183812f9a070073
 
  This patch finally deals with the super-delicate question of
  superclases in possibly-recursive dictionaries.  The key idea
  is the DFun Superclass Invariant (see TcInstDcls):
 
       In the body of a DFun, every superclass argument to the
       returned dictionary is
         either   * one of the arguments of the DFun,
         or       * constant, bound at top level
 
  To establish the invariant, we add new "silent" superclass
  argument(s) to each dfun, so that the dfun does not do superclass
  selection internally.  There's a bit of hoo-ha to make sure that
  we don't print those silent arguments in error messages; a knock
  on effect was a change in interface-file format.
 
  A second change is that instead of the complex and fragile
  "self dictionary binding" in TcInstDcls and TcClassDcl,
  using the same mechanism for existential pattern bindings.
  See Note [Subtle interaction of recursion and overlap] in TcInstDcls
  and Note [Binding when looking up instances] in InstEnv.
 
  Main notes are here:
 
    * Note [Silent Superclass Arguments] in TcInstDcls,
      including the DFun Superclass Invariant
 
  Main code changes are:
 
    * The code for MkId.mkDictFunId and mkDictFunTy
 
    * DFunUnfoldings get a little more complicated;
      their arguments are a new type DFunArg (in CoreSyn)
 
    * No "self" argument in tcInstanceMethod
    * No special tcSimplifySuperClasss
    * No "dependents" argument to EvDFunApp
 
  IMPORTANT
     It turns out that it's quite tricky to generate the right
     DFunUnfolding for a specialised dfun, when you use SPECIALISE
     INSTANCE.  For now I've just commented it out (in DsBinds) but
     that'll lose some optimisation, and I need to get back to
     this.
] 
[Add libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma to mingw tarballs
Ian Lynagh <ig...@earth.li>**20101213223153] 
[GHCi linker: Assume non-Haskell libraries are dynamic libs
Ian Lynagh <ig...@earth.li>**20101213124930
 Ignore-this: aa153a8f6e309c7b3dae7e46bb7a9583
 This works around a segfault we get when trying to load libiconv.a on
 some platforms.
] 
[Make the case-to-let transformation a little less eager
simo...@microsoft.com**20101208172251
 Ignore-this: 55eaa1b5753af31aeb32ec792cb6b662
 
 See Note [Case elimination: lifted case].
 Thanks to Roman for identifying this case.
] 
[Fix Trac #4534: renamer bug
simo...@microsoft.com**20101210084530
 Ignore-this: 8163bfa3a56344cfe89ad17c62e9655d
   
 The renamer wasn't attaching the right used-variables to a
 TransformStmt constructor.
 
 The real modification is in RnExpr; the rest is just
 pretty-printing and white space.
] 
[Only reset the event log if logging is turned on (addendum to #4512)
Simon Marlow <marlo...@gmail.com>**20101210093951
 Ignore-this: c9f85f0de2b11a37337672fba59aecc6
] 
[allocate enough room for the longer filename (addendum to #4512)
Simon Marlow <marlo...@gmail.com>**20101210093906
 Ignore-this: 270dc0219d98f1e0f9e006102ade7087
] 
[warning fix: don't redefine BLOCKS_PER_MBLOCK
Simon Marlow <marlo...@gmail.com>**20101210094002
 Ignore-this: cadba57f1c38f5e2af1de37d0a79c7ee
] 
[Add a test that all programs in the bindist were built with the right GHC
Ian Lynagh <ig...@earth.li>**20101210161218
 They should use the GHC from the build tree, not the bootstrapping compiler.
] 
[Add --version support to ghc-cabal
Ian Lynagh <ig...@earth.li>**20101212213600
 Ignore-this: ef696dcb1b96a23765f9f18e75a56f5
] 
[Don't link the GHC RTS into our C-only programs
Ian Lynagh <ig...@earth.li>**20101210185402
 Ignore-this: 56f620f7eb16a03e7497a161bc48458e
] 
[Build a copy of ghc-cabal with the in-tree compiler, for the bindist
Ian Lynagh <ig...@earth.li>**20101210181123] 
[fix warnings
Simon Marlow <marlo...@gmail.com>**20101209115844
 Ignore-this: ffff37feb2abbfc5bd12940c7007c208
] 
[:unset settings support
Boris Lykah <lyk...@gmail.com>**20101123190132
 Ignore-this: 5e97c99238f5d2394592858c34c004d
 Added support for settings [args, prog, prompt, editor and stop].
 Now :unset supports the same set of options as :set.
] 
[Use liftIO rather than io
Ian Lynagh <ig...@earth.li>**20101103212216] 
[Fixes for #4512: EventLog.c - provides ability to terminate event logging, Schedule.c - uses them in forkProcess.
Dmitry Astapov <dasta...@gmail.com>**20101203133950
 Ignore-this: 2da7f215d6c22708a18291a416ba8881
] 
[fix ticket number (#4505)
Simon Marlow <marlo...@gmail.com>**20101209120404
 Ignore-this: 5769c5ce2a8d69d62d977a9ae138ec23
] 
[Catch too-large allocations and emit an error message (#4505)
Simon Marlow <marlo...@gmail.com>**20101209114005
 Ignore-this: c9013ab63dd0bd62ea045060528550c6
 
 This is a temporary measure until we fix the bug properly (which is
 somewhat tricky, and we think might be easier in the new code
 generator).
 
 For now we get:
 
 ghc-stage2: sorry! (unimplemented feature or known bug)
   (GHC version 7.1 for i386-unknown-linux):
         Trying to allocate more than 1040384 bytes.
 
 See: http://hackage.haskell.org/trac/ghc/ticket/4550
 Suggestion: read data from a file instead of having large static data
 structures in the code.
] 
[Tweak the "sorry" message a bit
Simon Marlow <marlo...@gmail.com>**20101208163212
 Ignore-this: aa1ce5bc3c27111548204b740572efbe
 
 -		"sorry! (this is work in progress)\n"
 +		"sorry! (unimplemented feature or known bug)\n"
] 
[Cleanup comments and formatting only
b...@ouroborus.net**20101029065837
 Ignore-this: 393131d43ae57e4c1e7ac0dce734c452
] 
[Fix Windows memory freeing: add a check for fb == NULL; fixes trac #4506
Ian Lynagh <ig...@earth.li>**20101208152349
 Also added a few comments, and a load of code got indented 1 level deeper.
] 
[Make CPPFLAGS variables, as well as CFLAGS and LDFLAGS
Ian Lynagh <ig...@earth.li>**20101207010033
 Ignore-this: 2fc1ca1422aae1988d0fe1d29a8485d9
 This fixes the "does unsetenv return void" test in the unix package on
 OS X, if I tell it to make 10.4-compatible binaries. The test uses
 CPPFLAGS but not CFLAGS, so it thought it returned int (as it was
 in 10.5-mode), but the C compiler (using CFLAGS, so in 10.4 mode)
 thought it returned void.
 
 I also added CONF_LD_OPTS_STAGE$3 to the list of things in LDFLAGS,
 which looks like an accidental ommission.
] 
[Tweak the cleaning of inplace/; fixes trac #4320
Ian Lynagh <ig...@earth.li>**20101205212048] 
[Add a configure message
Ian Lynagh <ig...@earth.li>**20101206215201] 
[Tweak a configure test
Ian Lynagh <ig...@earth.li>**20101123170621] 
[Link even programs containing no Haskell modules with GHC
Ian Lynagh <ig...@earth.li>**20101206203329
 I don't remember why we made it use gcc instead, but going back to
 using ghc doesn't seem to break anything, and should fix the build
 on OS X 10.6.
] 
[Correct the stage that the includes/ tools are built in
Ian Lynagh <ig...@earth.li>**20101206203125] 
[Close .ghci files after reading them; fixes trac #4487
Ian Lynagh <ig...@earth.li>**20101205205301] 
[Fix a nasty bug in RULE matching: Trac #4814
simo...@microsoft.com**20101202102618
 Ignore-this: ba058ad46a02bd2faf3a14de93fd19c6
 
 See Note [Matching lets], which explains it all in detail.
 It took me a day to think of a nice way to fix the bug,
 but I think the result is quite respectable. Subtle, though.
] 
[Fix a recomp bug: make classes/datatypes depend directly on DFuns (#4469)
Simon Marlow <marlo...@gmail.com>**20101202122349
 Ignore-this: 61c765583bb1d97caa88cf9b4f45b87c
 And remove the old mechanism of recording dfun uses separately,
 because it didn't work.
 
 This wiki page describes recompilation avoidance and fingerprinting.
 I'll update it to describe the new method and what went wrong with the
 old method:
 
 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance
] 
[removeThreadFromQueue: stub out the link field before returning (#4813)
Simon Marlow <marlo...@gmail.com>**20101202160838
 Ignore-this: 653ae17bc1120d7f4130da94665002a1
] 
[handle ThreadMigrating in throwTo() (#4811)
Simon Marlow <marlo...@gmail.com>**20101203094818
 Ignore-this: 8ef8cb7fd3b50a27f83c29968131d461
 If a throwTo targets a thread that has just been created with
 forkOnIO, then it is possible the exception strikes while the thread
 is still in the process of migrating.  throwTo() didn't handle this
 case, but it's fairly straightforward.
] 
[Tell gcc to support back to OS X 10.5
Ian Lynagh <ig...@earth.li>**20101203201558
 Ignore-this: f02d70e5b9cce50137981c6cb2b62a18
] 
[Remove the no-ghci-lib warning in ghc-pkg
Ian Lynagh <ig...@earth.li>**20101127235805
 GHCi libs are no longer necessary, as we can use the .a or .so versions
 instead.
] 
[rts/Linker.c (loadArchive):
p...@cielonegro.org**20101130142700
 Ignore-this: bc84f9369ce5c2d289440701b7a3a2ab
 
 This routine should be aware of Mach-O misalignment of malloc'ed memory regions.
] 
[Add GNU-variant support to the .a parser, and other improvements/tidyups
Ian Lynagh <ig...@earth.li>**20101127223945] 
[Re-indent only
Ian Lynagh <ig...@earth.li>**20101127191646] 
[Improve linker debugging for archive files
Ian Lynagh <ig...@earth.li>**20101127190907] 
[Always enable the archive-loading code
Ian Lynagh <ig...@earth.li>**20101127173000
 If the GHCi .o lib doesn't exist, load the .a instead
] 
[FIX #1845 (unconditional relative branch out of range)
p...@cielonegro.org**20101130143014
 Ignore-this: df234bd8ad937104c455656fe3c33732
 
 Don't use mmap on powerpc-apple-darwin as mmap doesn't support
 reallocating but we need to allocate jump islands just after each
 object images. Otherwise relative branches to jump islands can fail
 due to 24-bits displacement overflow.
] 
[rts/Linker.c (machoGetMisalignment):
p...@cielonegro.org**20101130123355
 Ignore-this: 75425600049efd587e9873578e26392f
 
 Use fseek(3) instead of rewind(3) to move the file position indicator back to the initial position. Otherwise we can't use this function in loadArchive().
] 
[rts/Linker.c (ocFlushInstructionCache):
p...@cielonegro.org**20101130121425
 Ignore-this: 1e2c207e4b1d17387617ec5d645204b7
 
 I found this function causes a segfault when ocAllocateSymbolExtras() has allocated a separate memory region for jump islands.
] 
[fix ref to utils/ext-core, which moved to Hackage (extcore package)
Simon Marlow <marlo...@gmail.com>**20101201092147
 Ignore-this: 272a7daaa335ef60bcc645db70b4d68b
] 
[fix floating-point/FFI section: fenv is C99, not POSIX
Simon Marlow <marlo...@gmail.com>**20101201092119
 Ignore-this: ce8b3edd428e4f77691dd739b5b4ae73
] 
[Document the behaviour of fenv.h functions with GHC (#4391)
Simon Marlow <marlo...@gmail.com>**20101126125336
 Ignore-this: bc4eab49428d567505a28add6fed90f1
] 
[Substitution should just substitute, not optimise
simo...@microsoft.com**20101125172356
 Ignore-this: 657628d9b6796ceb5f915c43d56e4a06
 
 This was causing Trac #4524, by optimising
      (e |> co)  to   e
 on the LHS of a rule.  Result, the template variable
 'co' wasn't bound any more.
 
 Now that substition doesn't optimise, it seems sensible to call
 simpleOptExpr rather than substExpr when substituting in the
 RHS of rules.  Not a big deal either way.
] 
[Allow the old [$foo| ... |] syntax for quasi-quotes
simo...@microsoft.com**20101112083052
 Ignore-this: 868e0e07fc6bbc9772bcba54e8ca79d
 
 This is just a backward-compatibility thing, to be removed
 eventually.
] 
[For bindists, build ghc-pwd with stage 1
Ian Lynagh <ig...@earth.li>**20101121183520
 Ignore-this: a3b5c8b78c81ec1b6d5fbf23da346ff5
 rather then the bootstrapping compiler. This fixes problems where the
 bootstrapping compiler dynamically links against libraries not on the
 target machine.
] 
[Makefile tweak
Ian Lynagh <ig...@earth.li>**20101121183342
 Ignore-this: cd55a2819c1a5fd36da1bc7a75d2ded1
] 
[Fix a makefile include ordering sanity check
Ian Lynagh <ig...@earth.li>**20101121174916
 Ignore-this: d0bdd41c4b618944d04ecb4f54fdd0f1
] 
[Tweak the bindist configure.ac.in
Ian Lynagh <ig...@earth.li>**20101120173735] 
[configure.ac tweaks
Ian Lynagh <ig...@earth.li>**20101120170245] 
[When testing the bindist, tell it where gcc is
Ian Lynagh <ig...@earth.li>**20101120155920
 The location isn't baked into the bindist, as it may differ from
 machine to machine.
] 
[Add -fwarn-lazy-unlifted-bindings to the list of flags
simo...@microsoft.com**20101116172211
 Ignore-this: 4f150f347bb74027adacb64545f6b757
] 
[Improve documentation for -fwarn-incomplete-patterns
simo...@microsoft.com**20101116171527
 Ignore-this: d8386202cc322207436db0c5b185dab
] 
[Eventlog: Put correct size for startup event
sc...@leeds.ac.uk**20101105151655
 Ignore-this: 8b6eb4fa2137c8dfe50c5917e3a609a7
] 
[Omit bogus test for -XDeriveFunctor
simo...@microsoft.com**20101118090028
 Ignore-this: a534243011809ebbb788b910961601c5
 
 It was duplicated in the case of 'deriving( Functor )'
 and wrong for 'deriving( Foldable )'
] 
[Move the superclass generation to the canonicaliser
simo...@microsoft.com**20101118120533
 Ignore-this: 5e0e525402a240b709f2b8104c1682b2
 
 Doing superclass generation in the canonicaliser (rather than
 TcInteract) uses less code, and is generally more efficient.
 
 See Note [Adding superclasses] in TcCanonical.
 
 Fixes Trac #4497.
] 
[Improve error message on advice from a user
simo...@microsoft.com**20101118085306
 Ignore-this: bd4f3858ff24e602e985288f27d536f3
 
 See Trac #4499
] 
[Buglet in tcIface, now that nested binders can have pragmas
simo...@microsoft.com**20101027184235
 Ignore-this: de2db50370c35b8ae92ec2574d806b33
 
 This fix ties the knot for recursive groups properly
] 
[Fix initialisation of strictness in the demand analyser
simo...@microsoft.com**20101026081757
 Ignore-this: d89b117caa95b51b6c24584ac03bedf6
 
 Previously, the demand analyser assumed that every binder 
 starts off with no strictness info.  But now that we are
 preserving strictness on nesting bindings in interface files,
 that assumption is no longer correct, because an inlined function
 might have a nested binding with strictness set.
 
 So we need to know when we are in the initial sweep, so that we can
 set the strictness to 'bottom'. 
 
 See Note [Initialising strictness]
] 
[Fix the generation of in-scope variables for IfaceLint check
simo...@microsoft.com**20101118090057
 Ignore-this: bbcdba61ddf89d07fe69ca99c2017e3f
] 
[Serialise nested unfoldings across module boundaries
simo...@microsoft.com**20101025152817
 Ignore-this: 1520586f152501d4acb084ebf9cd3136
 
 As Roman reported in #4428, nested let-bindings weren't
 being recorded with their unfoldings.  Needless to say,
 fixing this had more knock-on effects than I expected.
] 
[Nicer error message for #3782
b...@ouroborus.net**20101029063320
 Ignore-this: fc746cad57410123a29f37f61f13dd3c
 It now says:
 
 ghc-stage2: sorry! (this is work in progress)
   (GHC version 7.1.20101028 for i386-apple-darwin):
 	Vectorise.Builtins.indexBuiltin
     
     DPH builtin function 'sumTyCon' of size '11' is not yet implemented.
     This function does not appear in your source program, but it is needed
     to compile your code in the backend. This is a known, current limitation
     of DPH. If you want it to to work you should send mail to cvs-ghc@haskell.org
     and ask what you can do to help (it might involve some GHC hacking).
 
 
 I added 'pprSorry' that behaves like 'pprPanic' except it say sorry! instead 
 of panic!, and doesn't ask the user to report a bug. 
] 
[Build system tweak: Inline DQ now it's the same on all platforms
Ian Lynagh <ig...@earth.li>**20101114134636] 
[Update to docbook 4.5; fixes trac #4447
Ian Lynagh <ig...@earth.li>**20101114155023] 
[Fix -fwarn-missing-import-lists (fix Trac #4489)
simo...@microsoft.com**20101115232142
 Ignore-this: 656b3a76540a488a7111ba7c9ec8ebc4
] 
[Ensure that instance overlap errors are report properly
simo...@microsoft.com**20101115142805
 Ignore-this: 2fca29a95bdc69a4c783cbcc663a10f7
 
 This (annoyingly) requires us to re-flatten the class predicate.
 See Note [Flattening in error message generation]
] 
[Fix Trac #4501: a transposition error in DynFlags
simo...@microsoft.com**20101117100832
 Ignore-this: b81eca419581a7cec773556514915814
 
 Push to STABLE
] 
[Fix Trac #4498: bang-pattern bindings are monomorphic
simo...@microsoft.com**20101117101058
 Ignore-this: 2a739aeca590b4dd1907078ba80133ff
 
 This patch forces bang patterns to be monomorphic,
 and documents this fact.
] 
[Ensure that unification variables alloc'd during solving are untouchable
simo...@microsoft.com**20101115121540
 Ignore-this: 4cdb38180488e605489ce5d018998089
 
 This fixes Trac #4494.  See Note [Extra TcsTv untouchables] in TcSimplify.
] 
[Document SPECIALISE for imported functions
simo...@microsoft.com**20101117111559
 Ignore-this: 5c9e83d15b85fe5a8639321e00e5dcaa
 
 This is a really useful new facility, but I'd forgotten to document it.
 Pls merge to 7.0 branch
] 
[Add a build system dependency; fixes #4357
Ian Lynagh <ig...@earth.li>**20101114140311] 
[Set RELEASE to NO
Ian Lynagh <ig...@earth.li>**20101117141621] 
[TAG GHC 7.0.1 release
Ian Lynagh <ig...@earth.li>**20101117140118
 Ignore-this: ac737bfbb99523a6e0aa7f7a32727de9
] 
Patch bundle hash:
720714d2611ec8d8d466d2ba5117c35204f98299
_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to