- 09 Mar, 2005 10 commits
-
-
simonpj authored
Comments
-
simonpj authored
Document infix type operators
-
simonpj authored
Add parser support for infix type-variable operators
-
simonpj authored
Fix the superclass translation for instance decls Merge to STABLE There is a long-standing difficulty whereby it's surprisingly easy to accidentally generate an entirely-bogus recursive dictionary when generating the definitions for the superclasses of an instance decl. The problem arises because the default story is that whenever we add a constraint to our pile of solved constraints, we automatically add all its superclasses. But that is simply wrong when we are trying to generate superclasses. Solution: do no auto-superclass addition when solving the superclass constraints of an instance declaration. I think should fix it once and for all. tcrun021, tcrun033 are test cases tcrun033 showed up the bug; thanks to Simon Foster and Ralf Laemmel.
-
simonpj authored
Add missing provenance for mfix; pls merge
-
simonpj authored
Add notes about implicit parameters; pls merge
-
simonmar authored
Use a different magic number (0x1face64) for 64-bit interface files. This will prevent us trying to read the dictionary out of a 32-bit interface file on a 64-bit machine.
-
simonmar authored
revert previous change, it didn't work
-
wolfgang authored
Retain all CAFs when dynamic Haskell libraries are used from GHCi. The Linker usually replaces references to newCAF with references to newDynCAF, but the system dynamic linker won't do that for us. Also, the situation is slightly different - we never want CAFs from dylibs to be reverted, because the dylibs might be used both by the interpreted program and by GHCi itself. So instead of just caf_list, there's now both caf_list and revertible_caf_list. newDynCAF adds a CAF to revertible_caf_list, and newCAF either adds the CAF to caf_list or to the mutable list, depending on whether we are in GHCi. This hack is only active when Linker.c has loaded libHSbase_dyn.[so|dylib], but for now, it applies to all CAFs, not just dynamically-linked ones. If that is worth fixing, we could do that by checking whether the the CAF closure or it's info pointer is in the main executable's address range. MERGE TO STABLE
-
wolfgang authored
Some minimalistic documentation for -fPIC and -dynamic. MERGE TO STABLE
-
- 08 Mar, 2005 19 commits
-
-
sof authored
give 'runhaskell' the 'exeext' treatment too
-
sof authored
explicitly use 'exeext' to avoid cygwin 'cp' weirdity
-
simonmar authored
decode OccNames in dumpStyle too
-
simonmar authored
Fix something that's been bugging me for a while: by default, -ddump-* output doesn't include uniques when it outputs internal names, but in most cases you need them because the output hasn't been tidied, so you end up doing -dppr-debug which is overkill. Now, -ddump-* prints uniques for internal names by default. This shouldn't affect anything else.
-
simonmar authored
Install runghc too
-
simonmar authored
Fix what looks like a typo in the previous commit
-
simonmar authored
HACK HACK HACK on x86_64 we need 16-byte aligned constants on this platform sometimes. Don't just 16-byte align everything, but try to detect 16-byte constants and align just those. All the codegen tests now go through on registerised x86_64, I'm building a stage2 GHC now.
-
simonmar authored
Add runhaskell as an optional binary
-
simonmar authored
Build & install runhaskell, but only install it if there isn't already a $(bindir)/runhaskell.
-
simonmar authored
x86_64: the assembler doesn't like generating 8-byte relative relocations between text and rodata symbols. Hack around this by putting SRTs in the text segment for now.
-
simonpj authored
Avoid losing location info for ghci; please merge
-
simonpj authored
Print full instances in ghci; merge
-
simonpj authored
Comments
-
simonpj authored
Better printing of types; merge please
-
simonmar authored
Update comment
-
simonmar authored
x86_64: Add __DISCARD__() function call to the tailcall sequence to work around bugs in gcc (see comment for details).
-
simonpj authored
Add notes about newtype deriving
-
wolfgang authored
Mac OS X: Kill HaskellSupport.framework. Instead, look for GMP.framework (a framework-version of libgmp), else look for a normal -lgmp as usual. The other part of HaskellSupport.framework, dlcompat, is no longer needed (as of Mac OS X 10.3, it's included in libSystem). It's enough to just use the normal configure tests for -ldl. MERGE TO STABLE
-
wolfgang authored
Mach-O Linker: eradicate some warnings MERGE TO STABLE
-
- 07 Mar, 2005 9 commits
-
-
simonpj authored
----------------------------------------- Make sure that LiberateCase only binds Internal Names ----------------------------------------- Merge to STABLE The nested bindings generated by LiberateCase should be Internal as well as not-exported. Otherwise an External Name can float to top level, where it might name-clash with another one.
-
simonpj authored
----------------------------------------- Fix a long-standing indirection-zapping bug ----------------------------------------- Merge to STABLE Up to now we zap indirections as part of the occurence analyser. But this is bogus. The indirection zapper does the following: x_local = <expression> ...bindings... x_exported = x_local where x_exported is exported, and x_local is not, then we replace it with this: x_exported = <expression> x_local = x_exported ...bindings... But this is plain wrong if x_exported has a RULE that mentions something (f, say) in ...bindings.., because 'f' will then die. After hacking a few solutions, I've eventually simply made the indirection zapping into a separate pass (which is cleaner anyway), which wraps the entire program back into a single Rec if the bad thing can happen. On the way I've made indirection-zapping work in Recs too, which wasn't the case before. * Move the zapper from OccurAnal into SimplCore * Tidy up the printing of pragmas (PprCore and friends) * Add a new function Rules.addRules * Merge rules in the indirection zapper (previously one set was discarded)
-
simonmar authored
Include WORD_SIZE_IN_BITS in the interface header, and test it when reading. Fixes a problem whereby GHC on a 64-bit platform will crash if it tries to read an interface file generated by the same version of GHC on a 32-bit platform.
-
simonpj authored
----------------------------------------- Fix scoping bug for quantified type variables ----------------------------------------- Merge to STABLE When instantiating a declaration type signature, make sure to instantiate fresh names for non-scoped type variables, else they may be spuriously shared. Turns out that the test lib/Generics/reify tests this, which is good. Comments are with TcMType.tcInstSigType
-
simonmar authored
Try once more to get this #include right, and add a comment
-
simonmar authored
ghc_boot_platform.h is the right way to get hold of the platform defines inside the compiler.
-
simonmar authored
Mention not to use comments on the same line as OPTIONS_GHC
-
simonmar authored
Fix validate bug
-
simonmar authored
Add missing hs_* symbols
-
- 05 Mar, 2005 2 commits