- 06 Jan, 2012 13 commits
-
-
Simon Marlow authored
Fixes several test failures: ../../libraries/stm/tests 2411 [bad exit code] (normal,hpc,profasm,ghci,optllvm) ../../libraries/stm/tests stm046 [bad exit code] (normal,hpc,profasm,ghci,optllvm) ../../libraries/stm/tests stm061 [bad exit code] (normal,hpc,profasm,ghci,optllvm)
-
-
The sizes obtained this way do not work on a target system in general. So in a future cross-compilable setup we need another way of obtaining expansions for the macros OFFSET, FIELD_SIZE and TYPE_SIZE. Guarded against accidental use of 'sizeof' by poisoning. Verified that the generated *Constants.h/hs files are unchanged.
-
Simon Marlow authored
Don't try to print a stack trace from raiseAsync() when there's no exception - we might just be deleting the thread, or suspending duplicate work.
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
- 05 Jan, 2012 8 commits
-
-
Simon Marlow authored
Instead of enterLocalIdLabel we should get the label from the ClosureInfo, because that knows better whether the label should be local or not. Needed by #5357
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
Needed by #5357
-
Simon Marlow authored
Needed by #5357
-
Simon Marlow authored
Needed by #5357
-
Simon Marlow authored
Needed by #5357
-
Simon Marlow authored
Needed by #5357
-
- 04 Jan, 2012 9 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
We were mislabelling some foreign imports as IsData rather than IsFunction, because the type was forall a. FunPtr (... a ...). Eventually this gave rise to these obscure error when compiling unregisterised: libraries/base/Foreign/Marshal/Alloc.hc:473:0: warning: built-in function ‘free’ declared as non-function libraries/base/Foreign/Marshal/Alloc.hc:1004:0: error: ‘free’ redeclared as different kind of symbol
-
Fixes: #5733
-
dreixel authored
-
Simon Marlow authored
It doesn't hurt to map these to ArchUnknown since we don't need to know anything specific about them, and adding them would be a pain (there are a bunch of places where we have to case-match on all the arches to avoid warnings).
-
Simon Marlow authored
Another portabilty regression: before Platform we used to use elf_OBJ_FORMAT: #if linux_TARGET_OS || freebsd_TARGET_OS || openbsd_TARGET_OS || solaris2_TARGET_OS #define elf_OBJ_FORMAT 1 #endif which defaults to undefined on unknown platforms. Defaulting to non-ELF is correct, it just means that we won't rely on ELF-specific functionality. I've added a comment to explain that.
-
Simon Marlow authored
Now target32bit works for all targets without any manual intervention, as it should do. #5735 was a portability regression.
-
- 03 Jan, 2012 7 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
Modified version of a patch by shelarcy <shelarcy@gmail.com>
-
Simon Marlow authored
We don't want ghc --make M -o <file> to force recompilation of all modules when <file> changes. The -o value is already taken into account by the recompilation machinery when we check the modification time on the object file or the executable.
-
Simon Peyton Jones authored
For some reason we were printing every occurrence with its type and that is far too much.
-
Simon Peyton Jones authored
This patch should have no user-visible effect. It implements a significant internal refactoring of the way that FC axioms are handled. The ultimate goal is to put us in a position to implement "pattern-matching axioms". But the changes here are only does refactoring; there is no change in functionality. Specifically: * We now treat data/type family instance declarations very, very similarly to types class instance declarations: - Renamed InstEnv.Instance as InstEnv.ClsInst, for symmetry with FamInstEnv.FamInst. This change does affect the GHC API, but for the better I think. - Previously, each family type/data instance declaration gave rise to a *TyCon*; typechecking a type/data instance decl produced that TyCon. Now, each type/data instance gives rise to a *FamInst*, by direct analogy with each class instance declaration giving rise to a ClsInst. - Just as each ClsInst contains its evidence, a DFunId, so each FamInst contains its evidence, a CoAxiom. See Note [FamInsts and CoAxioms] in FamInstEnv. The CoAxiom is a System-FC thing, and can relate any two types, whereas the FamInst relates directly to the Haskell source language construct, and always has a function (F tys) on the LHS. - Just as a DFunId has its own declaration in an interface file, so now do CoAxioms (see IfaceSyn.IfaceAxiom). These changes give rise to almost all the refactoring. * We used to have a hack whereby a type family instance produced a dummy type synonym, thus type instance F Int = Bool -> Bool translated to axiom FInt :: F Int ~ R:FInt type R:FInt = Bool -> Bool This was always a hack, and now it's gone. Instead the type instance declaration produces a FamInst, whose axiom has kind axiom FInt :: F Int ~ Bool -> Bool just as you'd expect. * Newtypes are done just as before; they generate a CoAxiom. These CoAxioms are "implicit" (do not generate an IfaceAxiom declaration), unlike the ones coming from family instance declarations. See Note [Implicit axioms] in TyCon On the whole the code gets significantly nicer. There were consequential tidy-ups in the vectoriser, but I think I got them right.
-
- 02 Jan, 2012 1 commit
-
-
Ian Lynagh authored
sdist output was being redirected to $src_log, which presumably evaluated to rc_log.
-
- 29 Dec, 2011 2 commits
-
-
Simon Peyton Jones authored
and add intWithCommas to Outputable for printing large Int/Integers
-
Simon Peyton Jones authored
-