simonmar [Mon, 6 Jan 2003 14:15:38 +0000 (14:15 +0000)]
[project @ 2003-01-06 14:15:38 by simonmar]
Add a handy hint for finding the correct fully-qualified original
names for entities in .hi-boot files.
simonmar [Mon, 6 Jan 2003 13:12:37 +0000 (13:12 +0000)]
[project @ 2003-01-06 13:12:37 by simonmar]
The FUN application code is wrong when entering a BCO, because the BCO
entry code assumes a stack-only calling convention. Use the PAP entry
code instead, which also uses a stack-only convention.
simonmar [Mon, 6 Jan 2003 13:11:26 +0000 (13:11 +0000)]
[project @ 2003-01-06 13:11:26 by simonmar]
Prefix a double-underscore to a variable in a macro, to avoid conflicts.
wolfgang [Sat, 4 Jan 2003 18:46:57 +0000 (18:46 +0000)]
[project @ 2003-01-04 18:46:57 by wolfgang]
Darwin: Replace "g" constraint by "r" in inline assembly, otherwise it won't compile without -O
panne [Fri, 27 Dec 2002 21:55:30 +0000 (21:55 +0000)]
[project @ 2002-12-27 21:55:30 by panne]
Imports cleanup
panne [Fri, 27 Dec 2002 12:33:21 +0000 (12:33 +0000)]
[project @ 2002-12-27 12:33:21 by panne]
Nuked prototype for non-existent function 'RevertCAFs'. Even if this
should be the same as ghc/rts/Storage.h's 'revertCAFs', it would still
be a strange place...
panne [Fri, 27 Dec 2002 12:20:06 +0000 (12:20 +0000)]
[project @ 2002-12-27 12:20:06 by panne]
-#include cleanup. What we really need here are additional prototypes
for 'getAllocations' and 'revertCAFs', but these are only available
via RTS headers. I'm not sure if -#including them somehow would be OK,
so I left this out. A few lines of documentation who is allowed to
#include (or -#include) what would be helpful...
panne [Fri, 27 Dec 2002 11:35:16 +0000 (11:35 +0000)]
[project @ 2002-12-27 11:35:16 by panne]
* Fixed non-Mac-OS-X-builds
* Warning police: Fixed #includes
panne [Fri, 27 Dec 2002 10:32:59 +0000 (10:32 +0000)]
[project @ 2002-12-27 10:32:59 by panne]
Warning police: #undef SymX_redirect before it gets redefined. :-P
wolfgang [Thu, 26 Dec 2002 17:54:51 +0000 (17:54 +0000)]
[project @ 2002-12-26 17:54:51 by wolfgang]
Load Mac OS X - style "frameworks" given on the command line (-framework XXX)
wolfgang [Thu, 26 Dec 2002 17:52:35 +0000 (17:52 +0000)]
[project @ 2002-12-26 17:52:34 by wolfgang]
Mac OS X doesn't have the sysconfig constants _SC_GETPW_R_SIZE_MAX and _SC_GETGR_R_SIZE_MAX, so add a configure check
simonmar [Mon, 23 Dec 2002 11:02:15 +0000 (11:02 +0000)]
[project @ 2002-12-23 11:02:15 by simonmar]
Add the #includes from the rts package to the stub .c file.
Prior to rev. 1.42, we used to add all the #includes from all enabled
packages, together with any -#include options from the command-line.
But since this is auto-generated code and we know exactly which
#includes are required, this was overkill.
In rev. 1.42, all #includes except RtsAPI.h were removed from the stub
.c file. This was incorrect, because the stub file refers to some
entities defined in other RTS header files (the StgStablePtr type, and
deRefStablePtr() for example).
This change adds the header files from the rts package to the stub .c
file, fixing some recent test breakages.
ross [Fri, 20 Dec 2002 16:22:19 +0000 (16:22 +0000)]
[project @ 2002-12-20 16:22:19 by ross]
Add more M4 quoting (required by autoconf 2.57)
wolfgang [Thu, 19 Dec 2002 18:43:53 +0000 (18:43 +0000)]
[project @ 2002-12-19 18:43:53 by wolfgang]
Un-break for Mac OS X (handling of Apple's "frameworks")
panne [Thu, 19 Dec 2002 18:02:13 +0000 (18:02 +0000)]
[project @ 2002-12-19 18:02:13 by panne]
Warning police (labels at end of compound statements are uncool, GCC says...)
panne [Thu, 19 Dec 2002 18:00:42 +0000 (18:00 +0000)]
[project @ 2002-12-19 18:00:42 by panne]
Use a less uncool way to avoid spurious warnings
panne [Thu, 19 Dec 2002 17:57:39 +0000 (17:57 +0000)]
[project @ 2002-12-19 17:57:39 by panne]
Fixed #ifdefery for GCC >= 3.x
simonmar [Thu, 19 Dec 2002 15:12:02 +0000 (15:12 +0000)]
[project @ 2002-12-19 15:12:01 by simonmar]
GHCi needs to link in packages eagerly if they're specified on the
command line.
simonmar [Thu, 19 Dec 2002 14:33:23 +0000 (14:33 +0000)]
[project @ 2002-12-19 14:33:22 by simonmar]
Terrible hack to restore CAF handling behaviour in GHCi (it's
currently broken).
The story used to be this: in newCAF(), if the CAF is in dynamically
loaded code, then we save the CAF's info ptr in a spare slot in the
closure, and add the CAF to the caf_list. The GC will retain
everything on the caf_list. At any point the CAFs can all be reverted
by replacing their info pointers from the saved copies.
CAFs need to be retained for GHCi because they might be required in a
future execution; an optimisation would be to avoid retaining the CAFs
if we're in "revert mode"; i.e. the CAFs are all going to be reverted
after execution anyway. Also, this only applies to CAFs in compiled
code; CAFs in interpreted code are currently always retained.
Anyway, the old story is harder now that I removed the code that
checks whether a pointer is dynamically loaded or not (:-)). Rather
than re-instate that code, I created a new version of newCAF
(newDynCAF), and arranged that the dynamic linker redirects any
references to newCAF to point to newDynCAF instead. The result is
more efficient than before, and takes less code.
simonmar [Thu, 19 Dec 2002 14:25:05 +0000 (14:25 +0000)]
[project @ 2002-12-19 14:25:04 by simonmar]
Include a static version of deRefStablePtr in case the code that uses
it was compiled without optimisation (and therefore doesn't get the
inlined version).
simonmar [Thu, 19 Dec 2002 14:23:35 +0000 (14:23 +0000)]
[project @ 2002-12-19 14:23:35 by simonmar]
comment wibble
simonmar [Thu, 19 Dec 2002 12:49:27 +0000 (12:49 +0000)]
[project @ 2002-12-19 12:49:27 by simonmar]
Make this compile again
simonmar [Thu, 19 Dec 2002 12:24:49 +0000 (12:24 +0000)]
[project @ 2002-12-19 12:24:49 by simonmar]
Freshly generated by autoheader.
simonmar [Thu, 19 Dec 2002 12:21:36 +0000 (12:21 +0000)]
[project @ 2002-12-19 12:21:36 by simonmar]
Using AC_CHECK_FUNCS rather than AC_CHECK_FUNC seems to allow
autoheader to pick up HAVE_LCHOWN. Don't know why.
simonmar [Thu, 19 Dec 2002 12:06:41 +0000 (12:06 +0000)]
[project @ 2002-12-19 12:06:41 by simonmar]
- remove unused CODE_BEFORE_DATA
- remove duplicate symbols
- kill extra whitespace
- add missing HAVE_FRAMEWORK_HASKELLSUPPORT and HAVE_IN_ADDR_T
simonmar [Thu, 19 Dec 2002 11:28:58 +0000 (11:28 +0000)]
[project @ 2002-12-19 11:28:58 by simonmar]
Avoid using a variable for the first argument of AC_DEFINE_UNQUOTED,
because autoheader doesn't like it.
simonmar [Thu, 19 Dec 2002 09:37:32 +0000 (09:37 +0000)]
[project @ 2002-12-19 09:37:32 by simonmar]
oops, thought I compiled this before committing. Oh well.
igloo [Wed, 18 Dec 2002 17:45:30 +0000 (17:45 +0000)]
[project @ 2002-12-18 17:45:30 by igloo]
Context predicates start with a tcon name, not a type variable
igloo [Wed, 18 Dec 2002 17:28:17 +0000 (17:28 +0000)]
[project @ 2002-12-18 17:28:17 by igloo]
Convert Tup [e] and Pat [p] and e, p respectively.
simonmar [Wed, 18 Dec 2002 16:29:34 +0000 (16:29 +0000)]
[project @ 2002-12-18 16:29:25 by simonmar]
"Auto" packages.
The big change here is that it is no longer necessary to explicitly
say '-package X' on the command line if X is a package containing
hierarchical Haskell modules. All packages marked "auto" contribute
to the import path, so their modules are always available. At link
time, the compiler knows which packages are actually used by the
program, and it links in only those libraries needed.
There's one exception: one-shot linking. If you link a program using
ghc -o prog A.o B.o ...
then you need to explicitly add -package flags for each package
required (except base & haskell98) because the compiler has no
information about the package dependencies in this case.
Package configs have a new field: auto, which is either True or False.
Non-auto packages must be mentioned on the command-line as usual.
Non-auto packages are still required for:
- non-hierarchical libraries (to avoid polluting the module namespace)
- packages with no Haskell content
- if you want more than one version of a package, or packages
providing overlapping functionality where the user must decide
which one to use.
Doc changes to follow...
simonmar [Wed, 18 Dec 2002 16:15:43 +0000 (16:15 +0000)]
[project @ 2002-12-18 16:15:43 by simonmar]
Comment fix.
simonmar [Wed, 18 Dec 2002 11:17:16 +0000 (11:17 +0000)]
[project @ 2002-12-18 11:17:15 by simonmar]
Correctly describe the stack during a GHCi CCALL instruction to the
RTS. The previous hack, temporarily truncating the stack to the
topmost valid stack frame, didn't work because stack-squeezing tends
to move the stack around before the call.
The right thing to do is correctly describe the chunk of ccall args
with an info table, which is what this change does. We use a RET_DYN
info table with the number of non-ptrs from the CCALL instruction.
mthomas [Wed, 18 Dec 2002 01:13:37 +0000 (01:13 +0000)]
[project @ 2002-12-18 01:13:37 by mthomas]
Do a George Bush on unused macro arg irritating rich western programmer.
simonmar [Tue, 17 Dec 2002 13:56:01 +0000 (13:56 +0000)]
[project @ 2002-12-17 13:56:00 by simonmar]
Document -no-link.
simonmar [Tue, 17 Dec 2002 13:50:29 +0000 (13:50 +0000)]
[project @ 2002-12-17 13:50:28 by simonmar]
- add -no-link flag (omits link step, except in GHCi)
- tidy up some informmational messages
simonmar [Tue, 17 Dec 2002 12:29:48 +0000 (12:29 +0000)]
[project @ 2002-12-17 12:29:48 by simonmar]
On second thoughts, use memcmp instead.
simonmar [Tue, 17 Dec 2002 12:27:30 +0000 (12:27 +0000)]
[project @ 2002-12-17 12:27:30 by simonmar]
Oops, cmpFS uses strcmp() to compare strings, so it has a '\0'
terminator requirement. Fix it to use strncmp() instead.
simonmar [Tue, 17 Dec 2002 11:39:42 +0000 (11:39 +0000)]
[project @ 2002-12-17 11:39:41 by simonmar]
Fix recent breakage on the HEAD. This was caused by the fix to
Lex.lhs to treat primitive strings as "narrow" FastStrings in all
cases, rather than Unicode ("wide") FastStrings if the string
contained a '\0'. The problem is that narrow FastStrings aren't set
up to handle strings containing '\0'. They used to be, but it got
broken somewhere along the line.
This commit:
- remove the '\0' test from unpackCStringBA (it takes a length
argument anyway), and rename it to unpackNBytesBA. This fixes
the bug.
- remove the '\0' terminator from all strings generated by the
functions in PrimPacked. The terminators aren't required,
as far as I can tell. This should have a tiny but positive
effect on compile times.
MERGE TO STABLE
wolfgang [Fri, 13 Dec 2002 19:17:02 +0000 (19:17 +0000)]
[project @ 2002-12-13 19:17:02 by wolfgang]
Remove Mac OS X-specific code for determining memory layout (no longer needed).
wolfgang [Fri, 13 Dec 2002 19:14:58 +0000 (19:14 +0000)]
[project @ 2002-12-13 19:14:58 by wolfgang]
Add missing 'const's
simonmar [Fri, 13 Dec 2002 16:04:56 +0000 (16:04 +0000)]
[project @ 2002-12-13 16:04:56 by simonmar]
When lexing a primitive string, always make a "narrow" FastString.
Otherwise when the string contains zeros we get a Unicode string,
which luckily turns into the right thing when compiled but confuses the
byte-code generator.
So this fixes the symptom (byte-code generator can't load files
generated with happy -ag), but not the real bug (byte-code generator
can't handle unicode strings).
simonmar [Fri, 13 Dec 2002 15:16:29 +0000 (15:16 +0000)]
[project @ 2002-12-13 15:16:29 by simonmar]
Shortcut when switching evaluators: instead of going round the normal
scheduler loop, just cut to the chase and run the thread using the
other evaluator.
This avoids doing stack squeezing each time we switch evaluators,
which is an O(n) operation these days, whereas it used to be O(n) the
first time, and O(1) thereafter if the stack hadn't changed too much.
This is a problem that we should perhaps address separately, but for
now the workaround should provide a speed boost to GHCi on the HEAD.
simonmar [Fri, 13 Dec 2002 14:43:06 +0000 (14:43 +0000)]
[project @ 2002-12-13 14:43:06 by simonmar]
Fix bug in stack_frame_sizeW
simonmar [Thu, 12 Dec 2002 17:36:19 +0000 (17:36 +0000)]
[project @ 2002-12-12 17:36:16 by simonmar]
A modification to the way we build link lines.
Currently the link line is constructed like this, for packages p1, p2 etc.:
libraries p1 ++ extra_libs p1 ++
libraries p2 ++ extra_libs p2 ++
...
extra_ld_opts p1 ++
extra_ld_opts p2 ++
..
This change makes it follow this pattern:
libraries p1 ++ extra_libs p1 ++ extra_ld_opts p1 ++
libraries p2 ++ extra_libs p2 ++ extra_ld_opts p2 ++
...
which seems more useful: in particular it means that using foo-config
(eg. gtk-config) to populate extra_ld_opts should now work properly,
and extra_libs is no longer strictly speaking needed (you can just use
-l options in extra_ld_opts and get the same effect).
Also:
- There's now no difference between -l<lib> and -optl-l<lib>
- GHCi grabs libs from extra_ld_opts as well as extra_libs
simonmar [Thu, 12 Dec 2002 16:35:14 +0000 (16:35 +0000)]
[project @ 2002-12-12 16:35:14 by simonmar]
Fix to build with 4.08.x
simonmar [Thu, 12 Dec 2002 15:17:53 +0000 (15:17 +0000)]
[project @ 2002-12-12 15:17:52 by simonmar]
Fix some issues with hschooks.c, and hopefully clear up (or at least
document) the mess regarding which versions of Rts.h and RtsFlags.h
are included.
simonmar [Thu, 12 Dec 2002 15:03:43 +0000 (15:03 +0000)]
[project @ 2002-12-12 15:03:42 by simonmar]
Sigh, I thought I could keep this file private to the RTS, but sadly
it's needed in order to #include RtsFlags.h, and we advertise
RtsFlags.h as a way to tweak flags through defaultsHook(). Oh well.
simonmar [Thu, 12 Dec 2002 14:35:57 +0000 (14:35 +0000)]
[project @ 2002-12-12 14:35:57 by simonmar]
- Don't use non-portable autoconfery (this configure script was broken
with newer autoconfs)
- Use FPTOOLS_SHEBANG_PERL from aclocal.m4 rather than local copy.
simonmar [Thu, 12 Dec 2002 13:28:35 +0000 (13:28 +0000)]
[project @ 2002-12-12 13:28:35 by simonmar]
Also install <package>.haddock when we install the docs.
ross [Thu, 12 Dec 2002 13:21:47 +0000 (13:21 +0000)]
[project @ 2002-12-12 13:21:46 by ross]
Use ioError instead of throw for IOErrors, in anticipation of
a change from IOError = Exception to IOError = IOException.
simonmar [Thu, 12 Dec 2002 11:53:11 +0000 (11:53 +0000)]
[project @ 2002-12-12 11:53:11 by simonmar]
Make the new info-table construction code word without instance Bits
Int (i.e. GHC 4.08.x). This probably makes it more correct, too.
mthomas [Thu, 12 Dec 2002 03:19:12 +0000 (03:19 +0000)]
[project @ 2002-12-12 03:19:12 by mthomas]
Towards a complete binary package.
mthomas [Thu, 12 Dec 2002 03:15:41 +0000 (03:15 +0000)]
[project @ 2002-12-12 03:15:41 by mthomas]
Towards a MinGW32 binary distribution with all accessories + compiler.
simonpj [Wed, 11 Dec 2002 17:09:08 +0000 (17:09 +0000)]
[project @ 2002-12-11 17:09:08 by simonpj]
Back out the function tycon kind change (big comment to explain why)
simonpj [Wed, 11 Dec 2002 16:55:06 +0000 (16:55 +0000)]
[project @ 2002-12-11 16:55:04 by simonpj]
Tidy up info table generation
simonmar [Wed, 11 Dec 2002 16:37:44 +0000 (16:37 +0000)]
[project @ 2002-12-11 16:37:44 by simonmar]
Remove tests for text/data boundary symbols.
simonmar [Wed, 11 Dec 2002 16:37:17 +0000 (16:37 +0000)]
[project @ 2002-12-11 16:37:16 by simonmar]
Remove tests for text/data section boundary symbols.
simonmar [Wed, 11 Dec 2002 15:36:58 +0000 (15:36 +0000)]
[project @ 2002-12-11 15:36:20 by simonmar]
Merge the eval-apply-branch on to the HEAD
------------------------------------------
This is a change to GHC's evaluation model in order to ultimately make
GHC more portable and to reduce complexity in some areas.
At some point we'll update the commentary to describe the new state of
the RTS. Pending that, the highlights of this change are:
- No more Su. The Su register is gone, update frames are one
word smaller.
- Slow-entry points and arg checks are gone. Unknown function calls
are handled by automatically-generated RTS entry points (AutoApply.hc,
generated by the program in utils/genapply).
- The stack layout is stricter: there are no "pending arguments" on
the stack any more, the stack is always strictly a sequence of
stack frames.
This means that there's no need for LOOKS_LIKE_GHC_INFO() or
LOOKS_LIKE_STATIC_CLOSURE() any more, and GHC doesn't need to know
how to find the boundary between the text and data segments (BIG WIN!).
- A couple of nasty hacks in the mangler caused by the neet to
identify closure ptrs vs. info tables have gone away.
- Info tables are a bit more complicated. See InfoTables.h for the
details.
- As a side effect, GHCi can now deal with polymorphic seq. Some bugs
in GHCi which affected primitives and unboxed tuples are now
fixed.
- Binary sizes are reduced by about 7% on x86. Performance is roughly
similar, some programs get faster while some get slower. I've seen
GHCi perform worse on some examples, but haven't investigated
further yet (GHCi performance *should* be about the same or better
in theory).
- Internally the code generator is rather better organised. I've moved
info-table generation from the NCG into the main codeGen where it is
shared with the C back-end; info tables are now emitted as arrays
of words in both back-ends. The NCG is one step closer to being able
to support profiling.
This has all been fairly thoroughly tested, but no doubt I've messed
up the commit in some way.
igloo [Wed, 11 Dec 2002 14:02:28 +0000 (14:02 +0000)]
[project @ 2002-12-11 14:02:28 by igloo]
Handle bindings to just a pattern variable in cvtd.
simonmar [Wed, 11 Dec 2002 14:01:23 +0000 (14:01 +0000)]
[project @ 2002-12-11 14:01:22 by simonmar]
Update config.guess and config.sub from GNU; a bug was reported in the
previous versions.
igloo [Wed, 11 Dec 2002 12:35:58 +0000 (12:35 +0000)]
[project @ 2002-12-11 12:35:57 by igloo]
Improved foreign import conversion.
simonpj [Wed, 11 Dec 2002 12:04:05 +0000 (12:04 +0000)]
[project @ 2002-12-11 12:04:05 by simonpj]
wibbles to External Core
simonpj [Wed, 11 Dec 2002 12:02:15 +0000 (12:02 +0000)]
[project @ 2002-12-11 12:02:15 by simonpj]
Behave decently if there are NoStubs in ForeignStubs
simonpj [Wed, 11 Dec 2002 12:01:20 +0000 (12:01 +0000)]
[project @ 2002-12-11 12:01:20 by simonpj]
Change interface to mkIfaceOrig
simonpj [Wed, 11 Dec 2002 12:00:50 +0000 (12:00 +0000)]
[project @ 2002-12-11 12:00:50 by simonpj]
Better comparision for Exact RdrNames
simonpj [Wed, 11 Dec 2002 11:59:59 +0000 (11:59 +0000)]
[project @ 2002-12-11 11:59:59 by simonpj]
Original names can occur in binding positions in External Core
simonpj [Wed, 11 Dec 2002 11:59:26 +0000 (11:59 +0000)]
[project @ 2002-12-11 11:59:26 by simonpj]
Give -> the correct kind!
igloo [Tue, 10 Dec 2002 21:25:08 +0000 (21:25 +0000)]
[project @ 2002-12-10 21:25:07 by igloo]
Use real datatypes for TH Clause and Match
simonpj [Tue, 10 Dec 2002 17:34:35 +0000 (17:34 +0000)]
[project @ 2002-12-10 17:34:34 by simonpj]
Check for qualified names in binding positions in the parser instead
of the rename. In External Core it's OK to have qualified names in
these places.
simonpj [Tue, 10 Dec 2002 17:34:14 +0000 (17:34 +0000)]
[project @ 2002-12-10 17:34:14 by simonpj]
Parse Word literals
simonpj [Tue, 10 Dec 2002 17:31:59 +0000 (17:31 +0000)]
[project @ 2002-12-10 17:31:59 by simonpj]
Remove checkGHCI
igloo [Tue, 10 Dec 2002 16:28:48 +0000 (16:28 +0000)]
[project @ 2002-12-10 16:28:48 by igloo]
Use layout inside declarations quasi-quotes [d| ... |]
simonpj [Tue, 10 Dec 2002 15:42:19 +0000 (15:42 +0000)]
[project @ 2002-12-10 15:42:19 by simonpj]
Wibble
simonpj [Tue, 10 Dec 2002 15:27:59 +0000 (15:27 +0000)]
[project @ 2002-12-10 15:27:58 by simonpj]
Report TH errors better in stage 1
wolfgang [Tue, 10 Dec 2002 13:38:40 +0000 (13:38 +0000)]
[project @ 2002-12-10 13:38:40 by wolfgang]
Fix a race condition/possible deadlock in the threaded rts:
If a callback into haskell finished before waitThread_() was called,
the signal was lost ans waitThread_() waited indefinitely.
Solution: Don't release the sched_mutex between calls to scheduleThread_
and waitThread_.
Please note that the scheduler API function waitThread is still possibly
affected by this race condition. It's used in rts_mainEvalIO (I think that's
safe) and in finishAllThreads (this looks dangerous, but finishAllThreads is
never used).
igloo [Tue, 10 Dec 2002 02:34:22 +0000 (02:34 +0000)]
[project @ 2002-12-10 02:34:21 by igloo]
Correctly convert expressions from TH datastructures to the internel Hs*
datastructures containing right infix operators left-parenthesised.
wolfgang [Sun, 8 Dec 2002 14:28:15 +0000 (14:28 +0000)]
[project @ 2002-12-08 14:28:15 by wolfgang]
Mac OS X: fix a small bug that caused trouble with object splitting
dons [Sun, 8 Dec 2002 09:28:07 +0000 (09:28 +0000)]
[project @ 2002-12-08 09:28:07 by dons]
config.guess says "m68k-apple-netbsd1.6", and that's fine.
simonmar [Fri, 6 Dec 2002 09:50:22 +0000 (09:50 +0000)]
[project @ 2002-12-06 09:50:22 by simonmar]
Stub objects are called foo_stub.o, not foo.stub_o. In other words,
findLinkable (aka maybe_getFileLinkable in the 5.04 branch) has never
worked.
mthomas [Thu, 5 Dec 2002 23:49:43 +0000 (23:49 +0000)]
[project @ 2002-12-05 23:49:43 by mthomas]
A new rejig script which takes arguments rather than hardwired locations.
stolz [Thu, 5 Dec 2002 14:20:56 +0000 (14:20 +0000)]
[project @ 2002-12-05 14:20:55 by stolz]
Add SA_RESETHAND (aka SA_ONESHOT) support.
Requested by: John Meacham
> module Main where
> import System.Posix.Signals
> main = do
> installHandler sigUSR1 (Catch (print "usr1")) Nothing
> installHandler sigUSR2 (CatchOnce (print "usr2")) Nothing
> _ <- getLine
> return ()
simonmar [Thu, 5 Dec 2002 13:51:56 +0000 (13:51 +0000)]
[project @ 2002-12-05 13:51:56 by simonmar]
- remove old code for GHC < 3.03 (we don't support building GHC with
less than 4.08).
- remove ErrorHdrHook and PatError, we now catch all exceptions at
the top level and report panics (this will fix some test
discrepancies with GHCi).
simonmar [Thu, 5 Dec 2002 12:36:54 +0000 (12:36 +0000)]
[project @ 2002-12-05 12:36:54 by simonmar]
Don't put a recursive exception handler around the flushing of
stdout/stderr after running a command. If the user closes stdout or
stderr, we now fail rather than going into an infinite loop.
dons [Wed, 4 Dec 2002 23:41:15 +0000 (23:41 +0000)]
[project @ 2002-12-04 23:41:15 by dons]
Let configure know about perl v5.8
simonmar [Wed, 4 Dec 2002 12:06:28 +0000 (12:06 +0000)]
[project @ 2002-12-04 12:06:28 by simonmar]
Fix SPECIALISE documentation to not mention outdated syntax, and fix
the RULES syntax in one place
simonmar [Wed, 4 Dec 2002 11:10:17 +0000 (11:10 +0000)]
[project @ 2002-12-04 11:10:17 by simonmar]
Add an extra <P>..</P> around the list of packages under "hierarchical
libraries", to fix ugly spacing in IE. I have no idea if this is
valid HTML or not.
simonpj [Mon, 2 Dec 2002 17:10:13 +0000 (17:10 +0000)]
[project @ 2002-12-02 17:10:13 by simonpj]
Use the right PackageIfaceTable in cmInfoThing
simonpj [Mon, 2 Dec 2002 16:58:33 +0000 (16:58 +0000)]
[project @ 2002-12-02 16:58:33 by simonpj]
Remember to zapToType in tcSpliceExpr
simonmar [Mon, 2 Dec 2002 14:33:10 +0000 (14:33 +0000)]
[project @ 2002-12-02 14:33:10 by simonmar]
Fix a bug and clean up some cruft in here:
- In each function in the rts_getXXXX() family, there was a test that
the object is actually of the desired type by examining its info
table. Some of these tests were disabled, but there was no comment
explaining why. I've just (re-)discovered the reason: the
info table might be dynamically-loaded in the GHCi case.
Not all the tests were disabled, which lead to bugs using the FFI
in GHCi (in particular with functions that return Float or Double).
- I've added consistent, but commented out, assertions to each of
the rts_getXXXX() functions, and left a comment explaining why
these reasonable-looking assertions are disabled.
MERGE TO STABLE
simonmar [Mon, 2 Dec 2002 10:44:10 +0000 (10:44 +0000)]
[project @ 2002-12-02 10:44:10 by simonmar]
Add a FAQ item about long link times.
simonpj [Thu, 28 Nov 2002 17:17:44 +0000 (17:17 +0000)]
[project @ 2002-11-28 17:17:41 by simonpj]
-------------------------------
A day's work to improve error messages
-------------------------------
1. Indicate when the cause of the error is likely to be the monomorpism
restriction, and identify the offending variables. This involves
mainly tcSimplifyTop and its error generation.
2. Produce much better kind error messages. No more
../alonzo/DiGraph.hs:40:
Couldn't match `* -> *' against `Type bx'
Expected kind: * -> *
Inferred kind: Type bx
When checking that `DiGraph n' is a type
It took a surprisingly long time to get the details right.
simonpj [Thu, 28 Nov 2002 10:04:53 +0000 (10:04 +0000)]
[project @ 2002-11-28 10:04:52 by simonpj]
Report over-size tuples gracefully
simonpj [Thu, 28 Nov 2002 10:04:15 +0000 (10:04 +0000)]
[project @ 2002-11-28 10:04:15 by simonpj]
Document a couple more bugs
mthomas [Thu, 28 Nov 2002 01:00:44 +0000 (01:00 +0000)]
[project @ 2002-11-28 01:00:44 by mthomas]
Add a getting started example. Someone with Docbook please check the SGML.
mthomas [Tue, 26 Nov 2002 07:02:04 +0000 (07:02 +0000)]
[project @ 2002-11-26 07:02:04 by mthomas]
mblockIsHeap has been removed so update mingw32 branch - SIMON CHECK PLS!
simonmar [Fri, 22 Nov 2002 13:59:40 +0000 (13:59 +0000)]
[project @ 2002-11-22 13:59:40 by simonmar]
Two files that shouldn't have been on the HEAD (yet)
matthewc [Fri, 22 Nov 2002 07:43:30 +0000 (07:43 +0000)]
[project @ 2002-11-22 07:43:29 by matthewc]
Implement adjustor thunks for IA64.
N.B. malloc'd memory isn't executable, so I'm currently allocating them
on the (mmap'd) Haskell heap instead...
matthewc [Fri, 22 Nov 2002 06:54:05 +0000 (06:54 +0000)]
[project @ 2002-11-22 06:54:05 by matthewc]
Update HEAP_ALLOCED implementation for IA64.
simonpj [Thu, 21 Nov 2002 17:54:54 +0000 (17:54 +0000)]
[project @ 2002-11-21 17:54:54 by simonpj]
un-wibble
simonpj [Thu, 21 Nov 2002 17:54:18 +0000 (17:54 +0000)]
[project @ 2002-11-21 17:54:17 by simonpj]
Another wibble