summaryrefslogtreecommitdiff
path: root/compiler/ghci
Commit message (Collapse)AuthorAgeFilesLines
* Don't define DYNAMIC when compiling the dyn wayIan Lynagh2012-12-051-3/+2
| | | | | | | | | We want to compile the sources only once, and to produce both vanilla and dyn object files. This means that the sources can't differ for the two ways. This needed a bit of a kludge to get keepCAFsForGHCi included only in the dynamic library.
* Remove a use of printfIan Lynagh2012-11-291-2/+1
| | | | | It looks like it would fail anyway, as it 'show'ed its argument before passing it on to printf.
* Small refactoringIan Lynagh2012-11-291-3/+3
|
* Whitespace only in compiler/ghci/LibFFI.hscIan Lynagh2012-11-291-17/+10
|
* Replace all uses of ghcError with throwGhcException and purge ghcError.Erik de Castro Lopo2012-11-304-16/+16
|
* typosGabor Greif2012-11-071-1/+1
|
* Fix the instantiation of data constructors in the GHCi debuggerSimon Peyton Jones2012-11-061-5/+34
| | | | | | | | | | This bug caused Trac #7386, because in the (rather tricky) "type inference" (aka run time type reconstruction) done by the GHCi debugger, we were failing to instantiate a data type family correctly. When that code was written we didn't *have* data families. I wrote Note [Constructor arg types] to explain the new scheme.
* Do not treat a constructor in a *pattern* as a *use* of that constructorSimon Peyton Jones2012-10-291-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | Occurrences in terms are uses, in patterns they are not. In this way we get unused-constructor warnings from modules like this module M( f, g, T ) where data T = T1 | T2 Bool f x = T2 x g T1 = True g (T2 x) = x Here a T1 value cannot be constructed, so we can warn. The use in a pattern doesn't count. See Note [Patterns are not uses] in RnPat. Interestingly this change exposed three module in GHC itself that had unused constructors, which I duly removed: * ghc/Main.hs * compiler/ghci/ByteCodeAsm * compiler/nativeGen/PPC/RegInfo Their changes are in this patch.
* typoGabor Greif2012-10-241-2/+2
|
* Set the way when loading dynamic objects for GHCiIan Lynagh2012-10-191-0/+5
| | | | | This fixes using TH when building profiled libraries when dynamic-by-default is enabled.
* Remove the old codegenSimon Marlow2012-10-195-83/+93
| | | | | Except for CgUtils.fixStgRegisters that is used in the NCG and LLVM backends, and should probably be moved somewhere else.
* Refactor the way dump flags are handledIan Lynagh2012-10-181-2/+2
| | | | | | | | | | | | | We were being inconsistent about how we tested whether dump flags were enabled; in particular, sometimes we also checked the verbosity, and sometimes we didn't. This lead to oddities such as "ghc -v4" printing an "Asm code" section which didn't contain any code, and "-v4" enabled some parts of "-ddump-deriv" but not others. Now all the tests use dopt, which also takes the verbosity into account as appropriate.
* Some alpha renamingIan Lynagh2012-10-162-5/+5
| | | | | Mostly d -> g (matching DynFlag -> GeneralFlag). Also renamed if* to when*, matching the Haskell if/when names
* Rename DynFlag to GeneralFlagIan Lynagh2012-10-161-1/+1
| | | | | This avoids confusion due to [DynFlag] and DynFlags being completely different types.
* When dynamic-by-default, don't use the GHCi linkerIan Lynagh2012-10-131-16/+47
| | | | We instead link objects into a temporary DLL and dlopen that
* Make adjust_ul handle BCOsIan Lynagh2012-10-051-1/+3
| | | | | | | We never ran into this before, because replace_osuf was almost always False (i.e. we were almost always using the vanilla way when using bytecode, so adjust_ul wasn't needed). Now that we can have the dynamic way on by default many tests were failing because of it.
* Load the right object files in ghciIan Lynagh2012-10-041-29/+44
| | | | When we have a dynamic ghc, we need to load the dynamic object files
* Fix the recompilation check for dynamic librariesIan Lynagh2012-10-031-7/+0
| | | | | I've put mkSOName in HscTypes for now; I'm not sure what the best place for it is.
* Make StgWord a portable type tooIan Lynagh2012-09-183-8/+17
| | | | | StgWord is a newtyped Word64, as it needed to be something that has a UArray instance.
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-09-171-1/+1
|\
| * typoGabor Greif2012-09-171-1/+1
| |
* | Remove unused importIan Lynagh2012-09-171-1/+0
|/
* Move wORD_SIZE into platformConstantsIan Lynagh2012-09-168-150/+133
|
* Windows build fixIan Lynagh2012-09-161-6/+8
|
* Move wORD_SIZE_IN_BITS to DynFlagsIan Lynagh2012-09-142-35/+38
| | | | This frees wORD_SIZE up to be moved out of HaskellConstants
* Move some more constants fo platformConstantsIan Lynagh2012-09-141-3/+3
|
* Move ldInputs into DynFlagsIan Lynagh2012-09-031-3/+2
|
* Remove some CPP from compiler/ghci/Linker.lhsIan Lynagh2012-08-281-2/+3
|
* Remove Util.{isDarwinTarget,isWindowsTarget}Ian Lynagh2012-08-281-26/+36
|
* Make -fscc-profiling a dynamic flagIan Lynagh2012-07-244-33/+40
| | | | All the flags that 'ways' imply are now dynamic
* Add a separate FastZString typeIan Lynagh2012-07-151-4/+4
| | | | | | | | | FastStrings are now always UTF8-encoded. There's no StringTable for FastZString, but I don't think one is needed. We only ever make a FastZString by running zEncodeFS on a FastString, and the FastStrings are shared via the FastString StringTable, so we get the same FastZString from the IORef.
* Implement FastBytes, and use it for MachStrIan Lynagh2012-07-141-1/+1
| | | | | | | | | | | | | This is a first step on the way to refactoring the FastString type. FastBytes currently has no unique, mainly because there isn't currently a nice way to produce them in Binary. Also, we don't currently do the "Dictionary" thing with FastBytes in Binary. I'm not sure whether this is important. We can change both decisions later, but in the meantime this gets the refactoring underway.
* Add a Note, copying text from #2437Simon Marlow2012-07-021-1/+27
|
* Use a derived Ord instance for DiscrIan Lynagh2012-06-221-12/+3
| | | | | | Our hand-written leAlt behaved differently when given a micture of constructors, but I think that either it won't make a difference or that this will be an improvement.
* Derive Eq DiscrIan Lynagh2012-06-221-9/+2
| | | | We had effectively hand-written the instance instead
* Remove some uses of sortLeIan Lynagh2012-06-221-1/+1
| | | | | | Technically the behaviour of sortWith has changed, as it used x `le` y = get_key x < get_key y (note "<" rather than "<="), but I assume that that was just a mistake.
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-06-131-33/+71
|\ | | | | | | | | Fix conflicts in: compiler/main/DynFlags.hs
| * Attempt to fix the bytecode generator for unboxed tuples, given the latest ↵Max Bolingbroke2012-06-091-33/+71
| | | | | | | | changes to unboxed tuple support
* | Remove lots of commented out 'in' keywordsIan Lynagh2012-06-131-5/+0
| |
* | Pass DynFlags down to showSDocIan Lynagh2012-06-124-39/+42
| |
* | Pass DynFlags to the LogActionIan Lynagh2012-06-112-3/+3
|/ | | | | | | A side-effect is that we can no longer use the LogAction in defaultErrorHandler, as we don't have DynFlags at that point. But all that defaultErrorHandler did is to print Strings as SevFatal, so now it takes a 'FatalMessager' instead.
* Merge remote-tracking branch 'origin/unboxed-tuple-arguments2'Paolo Capriotti2012-06-053-55/+99
|\
| * Support code generation for unboxed-tuple function argumentsunboxed-tuple-arguments2Max Bolingbroke2012-05-153-55/+99
| | | | | | | | | | | | | | | | | | | | | | This is done by a 'unarisation' pre-pass at the STG level which translates away all (live) binders binding something of unboxed tuple type. This has the following knock-on effects: * The subkind hierarchy is vastly simplified (no UbxTupleKind or ArgKind) * Various relaxed type checks in typechecker, 'foreign import prim' etc * All case binders may be live at the Core level
* | Change how macros like ASSERT are definedIan Lynagh2012-06-052-0/+2
| | | | | | | | | | By using Haskell's debugIsOn rather than CPP's "#ifdef DEBUG", we don't need to kludge things to keep the warning checker happy etc.
* | avoid name clashSimon Marlow2012-06-041-0/+4
| |
* | Remove some more stdout/stderr usesIan Lynagh2012-05-291-4/+5
| |
* | Remove more uses of stdout and stderrIan Lynagh2012-05-291-3/+4
| |
* | Replace printDump with a new SeverityIan Lynagh2012-05-291-3/+4
|/ | | | | | We now use log_action with severity SevDump, rather than calling printDump. This means that what happens to dumped info is now under the control of the GHC API user, rather than always going to stdout.
* Handle cases with no alternatives in GHCiSimon Marlow2012-05-111-0/+3
| | | | Fixes cgrun045(ghci) amongst others
* Fix Win64 build now that hsc2hs knows what platform we're onIan Lynagh2012-05-011-2/+2
|