Simon Peyton Jones [Wed, 4 May 2011 14:45:43 +0000 (15:45 +0100)]
Improve error message when a function is applied
to too many or too few args, in a higher order context
The change is to tcExpr.funResCtxt
Simon Peyton Jones [Wed, 4 May 2011 14:44:42 +0000 (15:44 +0100)]
Final batch of monad-comprehension stuff
* Do-notation in arrows is marked with HsStmtContext = ArrowExpr
* tcMDoStmt (which was only used for arrows) is moved
to TcArrows, and renamed tcArrDoStmt
* Improved documentation in the user manual
* Lots of other minor changes
Simon Peyton Jones [Wed, 4 May 2011 10:37:02 +0000 (11:37 +0100)]
Merge remote branch 'origin/master' into monad-comp
Simon Peyton Jones [Tue, 3 May 2011 07:57:30 +0000 (08:57 +0100)]
More hacking on monad-comp
Lots of refactoring. In particular I have now combined
TansformStmt and GroupStmt into a single constructor TransStmt.
This gives lots of useful code sharing.
Simon Peyton Jones [Mon, 2 May 2011 12:56:37 +0000 (13:56 +0100)]
More on monad-comp; an intermediate state, so don't pull
Simon Peyton Jones [Mon, 2 May 2011 08:02:18 +0000 (09:02 +0100)]
More hacking on monad-comp; now works
Ian Lynagh [Sun, 1 May 2011 16:00:26 +0000 (17:00 +0100)]
Remove some ifdefs in favour of Haskell tests
Ian Lynagh [Sun, 1 May 2011 15:34:51 +0000 (16:34 +0100)]
Remove an ifdef from ghci/ByteCodeAsm.lhs
Ian Lynagh [Sun, 1 May 2011 15:19:06 +0000 (16:19 +0100)]
Ignore requests to use backends that aren't available; fixes #5145
Now if you try to use "-fasm" with an unreg compiler, for example,
you just get a warning saying it's being ignored.
Ian Lynagh [Sun, 1 May 2011 14:38:18 +0000 (15:38 +0100)]
Remove the OMIT_NATIVE_CODEGEN ifdef
We now test
cGhcWithNativeCodeGen == "YES"
instead.
Ian Lynagh [Sun, 1 May 2011 13:37:07 +0000 (14:37 +0100)]
Remove a commented out import
Ian Lynagh [Sun, 1 May 2011 13:20:25 +0000 (14:20 +0100)]
Small DynFlags improvements
Ian Lynagh [Sat, 30 Apr 2011 22:59:15 +0000 (23:59 +0100)]
Reinstate the "-O conflicts with --interactive" warning
Ian Lynagh [Sat, 30 Apr 2011 21:58:57 +0000 (22:58 +0100)]
Update the defaultObjectTarget definition
We now default to HscC if unregisterised, else HscAsm if we have
an NCG, else LLVM.
David Terei [Sun, 1 May 2011 09:50:03 +0000 (19:50 +1000)]
LLVM: Fix bug with osx mangler and jump tables.
Edward Z. Yang [Tue, 5 Apr 2011 16:38:15 +0000 (17:38 +0100)]
Implement dead basic block elimination.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Edward Z. Yang [Sat, 30 Apr 2011 12:04:54 +0000 (13:04 +0100)]
Remove dead Alpha native backend.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Ian Lynagh [Sat, 30 Apr 2011 11:03:28 +0000 (12:03 +0100)]
Don't expose the cas definition to .hc files
This is more pleasant than having the C generator check whether the
function it's calling is cas, and not generate a prototype if so.
Ian Lynagh [Fri, 29 Apr 2011 18:05:19 +0000 (19:05 +0100)]
Use "true" rather than ":" for RANLIB, where we don't have ranlib
We can pass "true" to Cabal, but not ":" as it's just a shell built-in
Ian Lynagh [Fri, 29 Apr 2011 17:50:19 +0000 (18:50 +0100)]
Pass the right tool locations to Cabal when generating package.mk files
Ian Lynagh [Fri, 29 Apr 2011 17:07:57 +0000 (18:07 +0100)]
Fix build on OS X amd64
Simon Peyton Jones [Fri, 29 Apr 2011 17:06:03 +0000 (18:06 +0100)]
Simon's hacking on monad-comp; incomplete
Ian Lynagh [Fri, 29 Apr 2011 15:19:33 +0000 (16:19 +0100)]
We no longer need to pass pgmc etc in the ghc.wrapper script
They can now be set in the settings file instead
Ian Lynagh [Fri, 29 Apr 2011 13:56:31 +0000 (14:56 +0100)]
Add ar location and details to settings file
Ian Lynagh [Fri, 29 Apr 2011 13:37:44 +0000 (14:37 +0100)]
Add stage-specific AS variables to the build system
Ian Lynagh [Fri, 29 Apr 2011 13:19:53 +0000 (14:19 +0100)]
Add "C compiler flags" to settings file
I've made cpp_args include gcc_args. It effectively didn't before,
but seeing as gcc_args sometimes has -D flags in, I think doing so
is the right thing to do.
Ian Lynagh [Fri, 29 Apr 2011 11:59:00 +0000 (12:59 +0100)]
Move the machdepCCOpts flags into cCcOpts
This will ultimately mean they end up in the settings file, rather
than being hardcoded.
We now unconditionally give -D_REENTRANT on alpha, but I think that's
probably the right thing to do nowadays anyway.
Ian Lynagh [Fri, 29 Apr 2011 11:41:27 +0000 (12:41 +0100)]
Remove redundant -DDONT_WANT_WIN32_DLL_SUPPORT flag
Ian Lynagh [Fri, 29 Apr 2011 11:30:56 +0000 (12:30 +0100)]
Remove some out-of-date comments
Ian Lynagh [Thu, 28 Apr 2011 19:23:22 +0000 (20:23 +0100)]
Remove html, pdf and ps from the list of targets in MAKEHELP
They don't exist in the makefiles.
Adam Megacz [Sat, 23 Apr 2011 03:22:06 +0000 (20:22 -0700)]
primops.txt.pp: add missing type application in description of GHC.Prim.Any
Understanding GHC.Prim.Any is all about understanding the need for
explicit type applications in CoreSyn; the previous example had one
explicit type application but was missing the other, which this patch
adds. It also expands the explanation, based on SPJ's post here:
http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/46551
Simon Peyton Jones [Thu, 28 Apr 2011 10:50:15 +0000 (11:50 +0100)]
Merge remote branch 'origin/master' into monad-comp
Conflicts:
compiler/main/HscMain.lhs
Simon Peyton Jones [Thu, 28 Apr 2011 10:44:12 +0000 (11:44 +0100)]
Preliminary monad-comprehension patch (Trac #4370)
This is the work of Nils Schweinsberg <mail@n-sch.de>
It adds the language extension -XMonadComprehensions, which
generalises list comprehension syntax [ e | x <- xs] to work over
arbitrary monads.
Ian Lynagh [Wed, 27 Apr 2011 23:35:02 +0000 (00:35 +0100)]
Merge boot and boot-pkgs
There is no longer any need for them to be separate, and this
way we don't have to call perl from the boot script. This is
particularly useful when perl isn't where we expect it to be
(#5154).
Ian Lynagh [Wed, 27 Apr 2011 23:23:28 +0000 (00:23 +0100)]
configure: bootstrapping fix (#5155)
Don't check ghc compiles for the right platform when we're bootstrapping.
Johan Tibell [Wed, 27 Apr 2011 12:43:51 +0000 (14:43 +0200)]
Output ELF .size directives for functions
This allows tools like Linux's perf events to display symbol names for
CMM primops.
Edward Z. Yang [Wed, 27 Apr 2011 16:54:15 +0000 (17:54 +0100)]
Fix bug in multi-destination jump patching.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Edward Z. Yang [Sun, 17 Apr 2011 22:29:29 +0000 (23:29 +0100)]
Implement jump table fix-ups for linear register allocator.
We achieve this by splitting up instruction selection for case
switches into two parts: the actual code generation, and the
generation of the accompanying jump table. With this scheme,
the jump fixup code can modify the contents of the jump table
stored within the JMP_TBL (or BCTL) instruction, before the
actual data section is created.
SPARC and PPC patches are untested; they might not work!
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Edward Z. Yang [Mon, 18 Apr 2011 19:06:11 +0000 (20:06 +0100)]
Eliminate GC check when no extra stack is used.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Edward Z. Yang [Thu, 14 Apr 2011 20:20:21 +0000 (21:20 +0100)]
Give manifestSP better information about the actual SP location.
This patch fixes silliness where the SP pointer is continually
bumped up and down.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Ian Lynagh [Wed, 27 Apr 2011 15:21:45 +0000 (16:21 +0100)]
Ignore failure for "./sync-all checkout"
Not all repos are necessarily branched.
Ian Lynagh [Wed, 27 Apr 2011 15:15:30 +0000 (16:15 +0100)]
Add checkout support to sync-all
Matthias Kilian [Sun, 24 Apr 2011 15:22:50 +0000 (17:22 +0200)]
Skip missing directories for real.
While here, make the code a little bit more readable.
U-EUROPE\dimitris [Wed, 27 Apr 2011 10:04:52 +0000 (11:04 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
U-EUROPE\dimitris [Wed, 27 Apr 2011 10:04:02 +0000 (11:04 +0100)]
Solving one IP from another. This fixes #5120.
Ben Lippmeier [Wed, 27 Apr 2011 06:40:48 +0000 (16:40 +1000)]
Merge branch 'master' of /Users/benl/devel/ghc/ghc-head
Ben Lippmeier [Wed, 27 Apr 2011 06:40:35 +0000 (16:40 +1000)]
Run a CSE pass after vectorisation. This cleans up common sub-expressions introduced by the vectoriser. It has no effect unless -fvectorise is enabled.
Ben Lippmeier [Wed, 27 Apr 2011 06:38:14 +0000 (16:38 +1000)]
Document flags to suppress unwanted info in core dumps.
Ian Lynagh [Tue, 26 Apr 2011 23:33:28 +0000 (00:33 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Ian Lynagh [Tue, 26 Apr 2011 23:19:09 +0000 (00:19 +0100)]
Build system: Tell hsc2hs where to find cabal_macros.h
Ian Lynagh [Tue, 26 Apr 2011 23:09:08 +0000 (00:09 +0100)]
Whitespace only in rules/distdir-way-opts.mk
David Terei [Tue, 26 Apr 2011 02:16:18 +0000 (19:16 -0700)]
Formatting wibble in GhcMake.hs
David Terei [Mon, 25 Apr 2011 22:55:55 +0000 (15:55 -0700)]
Fix some warnings and formatting in HsDecls
David Terei [Mon, 25 Apr 2011 20:11:21 +0000 (13:11 -0700)]
Formatting fixes to TcForeign.lhs
David Terei [Mon, 25 Apr 2011 20:06:11 +0000 (13:06 -0700)]
Trim some trailing spaces
David Terei [Mon, 25 Apr 2011 20:04:49 +0000 (13:04 -0700)]
Add missing eol marker in RnSource.lhs
David Terei [Mon, 25 Apr 2011 20:04:20 +0000 (13:04 -0700)]
Fix some small errors in comments
David Terei [Mon, 25 Apr 2011 19:53:33 +0000 (12:53 -0700)]
Share some work in MkIface
David Terei [Mon, 25 Apr 2011 19:53:00 +0000 (12:53 -0700)]
Formatting wibble
David Terei [Mon, 25 Apr 2011 19:45:13 +0000 (12:45 -0700)]
Formatting fixes in Lexer.x
David Terei [Mon, 25 Apr 2011 19:44:59 +0000 (12:44 -0700)]
Remove unused imports
David Terei [Mon, 25 Apr 2011 19:44:46 +0000 (12:44 -0700)]
Fix warnings in HsImpExp.lhs
David Terei [Mon, 25 Apr 2011 19:44:29 +0000 (12:44 -0700)]
Fix spelling mistake in comment
Edward Z. Yang [Sat, 16 Apr 2011 20:43:42 +0000 (21:43 +0100)]
cmm-notes updates.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Edward Z. Yang [Fri, 15 Apr 2011 15:43:41 +0000 (16:43 +0100)]
Raw versions of if and switch.
This makes the following statements valid C--, which uses the
block ID directly rather than generating an anonymous block:
if (expr) goto foo;
switch expr {
case 0: goto foo;
case 1: goto bar;
}
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Ian Lynagh [Sun, 24 Apr 2011 18:16:12 +0000 (19:16 +0100)]
Derive some Typeable instances
We were using the Typeable.hs macros, but for no good reason as
far as I can tell.
Ian Lynagh [Sun, 24 Apr 2011 13:49:23 +0000 (14:49 +0100)]
Update time library 1.2.0.3 -> 1.2.0.4
Ian Lynagh [Sat, 23 Apr 2011 21:47:02 +0000 (22:47 +0100)]
"perl command" should be perl, not gcc!
Ian Lynagh [Sat, 23 Apr 2011 21:42:55 +0000 (22:42 +0100)]
Fix warnings in DynFlags
I also made the -ffloat-all-lams flag not take an argument, as it just
ignored it.
Ian Lynagh [Sat, 23 Apr 2011 20:43:25 +0000 (21:43 +0100)]
Rename "GCC command" to "C compiler command"
Makes it consistent with the existing "C compiler flags"
field.
Ian Lynagh [Sat, 23 Apr 2011 19:40:43 +0000 (20:40 +0100)]
Get CC_STAGE0 from the bootstrapping compiler
Rather than using the compiler that configure detects, we use
the "GCC command" field from the --info output of the bootstrapping
compiler (provided it is >= 7.1).
Ian Lynagh [Sat, 23 Apr 2011 16:49:50 +0000 (17:49 +0100)]
Add stage-specific versions of more ar-related makefile vars
Ian Lynagh [Sat, 23 Apr 2011 16:31:43 +0000 (17:31 +0100)]
Remove unused ArSupportsInput makefile var
Ian Lynagh [Sat, 23 Apr 2011 16:25:25 +0000 (17:25 +0100)]
Remove now-unused BASH makefile variable
Ian Lynagh [Sat, 23 Apr 2011 16:21:59 +0000 (17:21 +0100)]
Make and use AR_STAGE[0123] makefile vars
Ian Lynagh [Sat, 23 Apr 2011 16:09:51 +0000 (17:09 +0100)]
Remove now-unused compiler/Makefile.local
Ian Lynagh [Sat, 23 Apr 2011 15:19:40 +0000 (16:19 +0100)]
Remove unused makefile variable PREPROCESSCMD
Ian Lynagh [Sat, 23 Apr 2011 12:44:04 +0000 (13:44 +0100)]
Remove unused Makefile.local
Ian Lynagh [Sat, 23 Apr 2011 12:43:12 +0000 (13:43 +0100)]
Remove unused Makefile.inc
Ian Lynagh [Sat, 23 Apr 2011 12:42:04 +0000 (13:42 +0100)]
Remove an nhc-specific makefile
Ian Lynagh [Sat, 23 Apr 2011 12:40:52 +0000 (13:40 +0100)]
Make stage-specific CC variables
This allows different gcc's to be used when building different stages,
which we need to do when cross-compiling.
Ian Lynagh [Sat, 23 Apr 2011 10:59:56 +0000 (11:59 +0100)]
Update .gitignore for the extra-gcc-opts -> settings change
Ian Lynagh [Fri, 22 Apr 2011 21:57:24 +0000 (22:57 +0100)]
Remove UseGcc makefile var
It couldn't be overridden, and was defined as YES.
Ian Lynagh [Fri, 22 Apr 2011 21:49:28 +0000 (22:49 +0100)]
Rename FP_HAVE_GCC to FP_GCC_VERSION
Ian Lynagh [Fri, 22 Apr 2011 21:45:04 +0000 (22:45 +0100)]
Remove HaveGcc (it was always YES)
Ian Lynagh [Fri, 22 Apr 2011 21:27:50 +0000 (22:27 +0100)]
Remove redundant tests for whether we're in a GHC tree
We always are, nowadays.
Ian Lynagh [Fri, 22 Apr 2011 18:11:56 +0000 (19:11 +0100)]
Revert "Output ELF .size directives for functions"
This reverts commit
b1f453e16f0ce11a2ab18cc4c350bdcbd36299a6.
It caused dynHelloWorld(dyn) to fail.
Ian Lynagh [Fri, 22 Apr 2011 17:42:38 +0000 (18:42 +0100)]
Move gcc's and perl's location to the settings file
They were hardcoded in Config.hs
Johan Tibell [Tue, 19 Apr 2011 16:04:03 +0000 (18:04 +0200)]
Output ELF .size directives for functions
This allows tools like Linux's perf events to display symbol names for
CMM primops.
Ian Lynagh [Fri, 22 Apr 2011 12:34:26 +0000 (13:34 +0100)]
Move the opt* fields from DynFlags into the Settings type
The pgm* fields are already in Settings
Ian Lynagh [Fri, 22 Apr 2011 11:56:02 +0000 (12:56 +0100)]
Tweak build rules for libffi
We were doing
echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g'
but the only x86 value HOSTPLATFORM can have is i386.
We now tell libffi its build platform again, but we now tell it it's
$(BUILDPLATFORM) rather than $(HOSTPLATFORM).
Mark Lentczner [Thu, 14 Apr 2011 21:38:48 +0000 (14:38 -0700)]
no need to set --build when configuring libffi
The value --build was set to broke cross-compilier builds, and isn't
needed for regular builds.
Mark Lentczner [Thu, 14 Apr 2011 21:36:42 +0000 (14:36 -0700)]
fix documentation of FP_ARG_WITH_PATH_GNU_PROG
Ian Lynagh [Thu, 21 Apr 2011 23:21:23 +0000 (00:21 +0100)]
Initialise Settings before DynFlags
Stops us having to temporarily have a panic in the DynFlags.
We still need a panic in the DynFlags used for the top-level
error handler, though.
Lennart Kolmodin [Thu, 21 Apr 2011 16:17:02 +0000 (18:17 +0200)]
Fix typo in shared libraries documentation.
Ian Lynagh [Thu, 21 Apr 2011 23:10:06 +0000 (00:10 +0100)]
Split off a Settings type from DynFlags
Ian Lynagh [Thu, 21 Apr 2011 18:36:52 +0000 (19:36 +0100)]
Rename "extra-gcc-opts" to "settings", and start generalising it
Ian Lynagh [Thu, 21 Apr 2011 14:53:02 +0000 (15:53 +0100)]
Fix typo in comment
Simon Peyton Jones [Thu, 21 Apr 2011 08:00:43 +0000 (09:00 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Matthias Kilian [Mon, 18 Apr 2011 21:59:51 +0000 (23:59 +0200)]
do not use sed for version date processing but rather cut and tr
Based on an idea from Karel Gardas, who had troubles with the original
sed version (which didn't work with /usr/bin/sed on Solaris).