- 03 May, 2005 6 commits
-
-
simonpj authored
Improve generation of 'duplicate import' warnings. This involved changing (actually simplifying) the definition of RdrName.ImportSpec. I'm not sure whether this one merits merging or not. Perhaps worth a try.
-
simonpj authored
Fix the test for duplicate local bindings, so that it works with Template Haskell. Pre-TH, all the local bindings came into scope at once, but with TH they come into scope in groups, and we must check for conflict with existing local bindings. MERGE TO STABLE
-
simonmar authored
Add a couple more lint tests
-
simonmar authored
MO_S_Conv folding: fold floating-point literals properly
-
sof authored
permit mingw_* vars to be overridden; merge to STABLE
-
sof authored
re-use prep-bin-dist-mingw by exec'ing it. Merge to STABLE
-
- 02 May, 2005 2 commits
- 30 Apr, 2005 1 commit
-
-
wolfgang authored
More Mac OS X Tiger / GCC 4.0 fixes. MERGE TO STABLE
-
- 29 Apr, 2005 15 commits
-
-
simonpj authored
Wibbles to new hs-boot instance story
-
simonpj authored
Better kind error reporting; MERGE TO STABLE
-
wolfgang authored
Mac OS X (Tiger): Fix the Mangler for (Apple's version of) GCC 4.0 MERGE TO STABLE
-
sof authored
BINDIST_DOC_WAYS: permit variable to be overridden (in a mk/build.mk, perhaps); merge to STABLE
-
sof authored
leave out Java bits in include/ that mingw-3.2 supplies; temporarily disable PDF document generation
-
sof authored
gcc-mingw-3.4.x seems to have renamed .rodata to .rdata; look for either
-
sof authored
'ghcprof' is a perl script, but installed in the bin/ directory. Merge to STABLE
-
simonpj authored
The boot dfunid should be a LocalId
-
simonmar authored
(from 1.4.6.1 on 6-4-branch) Fix some incorrect use of int/nat that breaks x86_64
-
krasimir authored
Small fixes that adds chm and HxS targets to the build system. The former is used to build all documentation in HtmlHelp format while the letter uses HtmlHelp2 format.
-
simonpj authored
Fix typo causing loop in SpecConstr!
-
simonpj authored
XML wibble
-
simonpj authored
Document improvements in overlap handling
-
simonmar authored
Re-instate support for environment variable expansion and the -D flag. Now it is done pre-parsing, however.
-
simonpj authored
Strip wired-in names from interface files
-
- 28 Apr, 2005 11 commits
-
-
simonpj authored
Further stage-2 wibbles
-
simonpj authored
Missing import
-
simonpj authored
A couple of hs-boot files
-
simonpj authored
Further wibbles to the new tidying plumbing
-
simonmar authored
StgFunInfoExtra_slow_apply(): convert the slow_apply_offset to a W_ before arithmetic.
-
simonpj authored
Re-plumb the connections between TidyPgm and the various code generators. There's a new type, CgGuts, to mediate this, which has the happy effect that ModGuts can die earlier. The non-O route still isn't quite right, because default methods are being lost. I'm working on it.
-
simonmar authored
calcAllocated: fix small mis-calculation in the SMP case
-
simonmar authored
Small code-size optimisation: I forgot to add a specialised case for functions with no argument words (which might happen if the function takes a void argument, for example).
-
simonpj authored
Instance for wired-in tycons wibble
-
simonpj authored
This big commit does several things at once (aeroplane hacking) which change the format of interface files. So you'll need to recompile your libraries! 1. The "stupid theta" of a newtype declaration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Retain the "stupid theta" in a newtype declaration. For some reason this was being discarded, and putting it back in meant changing TyCon and IfaceSyn slightly. 2. Overlap flags travel with the instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Arrange that the ability to support overlap and incoherence is a property of the *instance declaration* rather than the module that imports the instance decl. This allows a library writer to define overlapping instance decls without the library client having to know. The implementation is that in an Instance we store the overlap flag, and preseve that across interface files 3. Nuke the "instnce pool" and "rule pool" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A major tidy-up and simplification of the way that instances and rules are sucked in from interface files. Up till now an instance decl has been held in a "pool" until its "gates" (a set of Names) are in play, when the instance is typechecked and added to the InstEnv in the ExternalPackageState. This is complicated and error-prone; it's easy to suck in too few (and miss an instance) or too many (and thereby be forced to suck in its type constructors, etc). Now, as we load an instance from an interface files, we put it straight in the InstEnv... but the Instance we put in the InstEnv has some Names (the "rough-match" names) that can be used on lookup to say "this Instance can't match". The detailed dfun is only read lazily, and the rough-match thing meansn it is'nt poked on until it has a chance of being needed. This simply continues the successful idea for Ids, whereby they are loaded straightaway into the TypeEnv, but their TyThing is a lazy thunk, not poked on until the thing is looked up. Just the same idea applies to Rules. On the way, I made CoreRule and Instance into full-blown records with lots of info, with the same kind of key status as TyCon or DataCon or Class. And got rid of IdCoreRule altogether. It's all much more solid and uniform, but it meant touching a *lot* of modules. 4. Allow instance decls in hs-boot files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Allowing instance decls in hs-boot files is jolly useful, becuase in a big mutually-recursive bunch of data types, you want to give the instances with the data type declarations. To achieve this * The hs-boot file makes a provisional name for the dict-fun, something like $fx9. * When checking the "mother module", we check that the instance declarations line up (by type) and generate bindings for the boot dfuns, such as $fx9 = $f2 where $f2 is the dfun generated by the mother module * In doing this I decided that it's cleaner to have DFunIds get their final External Name at birth. To do that they need a stable OccName, so I have an integer-valued dfun-name-supply in the TcM monad. That keeps it simple. This feature is hardly tested yet. 5. Tidy up tidying, and Iface file generation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main/TidyPgm now has two entry points: simpleTidyPgm is for hi-boot files, when typechecking only (not yet implemented), and potentially when compiling without -O. It ignores the bindings, and generates a nice small TypeEnv. optTidyPgm is the normal case: compiling with -O. It generates a TypeEnv rich in IdInfo MkIface.mkIface now only generates a ModIface. A separate procedure, MkIface.writeIfaceFile, writes the file out to disk.
-
simonmar authored
Run each nofib program multiple times, tunable by the $(NoFibRuns) variable. nofib-analyse already knows how to average the times from multiple runs.
-
- 27 Apr, 2005 5 commits
-
-
sof authored
comment wibble; switch from Italian to English spelling of 'compatible'
-
simonmar authored
When using -H<size> in SMP mode, divide the total nursery size amongst the various nurseries. -H<size> now does something reasonable with SMP.
-
simonmar authored
Hold the sm_mutex around access to the mutable list. The SMP RTS now seems quite stable, I've run my simple test program with 64 threads without crashes.
-
simonmar authored
fprintf(stderr,..) --> debugBelch(...)
-
simonmar authored
Some extra sanity checking
-