summaryrefslogtreecommitdiff
path: root/ghc/tests
Commit message (Collapse)AuthorAgeFilesLines
* rempve some unused filesSimon Marlow2006-01-217-493/+0
|
* [project @ 2003-07-23 11:44:24 by simonmar]simonmar2003-07-231-1/+0
| | | | forgot one file
* [project @ 2003-07-23 11:43:16 by simonmar]simonmar2003-07-2369-1110/+0
| | | | | | These test have all moved over to fptools/testsuite/tests/ghc-regress/ghci. The old test suite in fptools/ghc/tests is now finally dead!
* [project @ 2002-12-11 15:36:20 by simonmar]simonmar2002-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [project @ 2002-02-12 15:17:13 by simonmar]simonmar2002-02-122-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch over to the new hierarchical libraries --------------------------------------------- This commit reorganises our libraries to use the new hierarchical module namespace extension. The basic story is this: - fptools/libraries contains the new hierarchical libraries. Everything in here is "clean", i.e. most deprecated stuff has been removed. - fptools/libraries/base is the new base package (replacing "std") and contains roughly what was previously in std, lang, and concurrent, minus deprecated stuff. Things that are *not allowed* in libraries/base include: Addr, ForeignObj, ByteArray, MutableByteArray, _casm_, _ccall_, ``'', PrimIO For ByteArrays and MutableByteArrays we use UArray and STUArray/IOUArray respectively now. Modules previously called PrelFoo are now under fptools/libraries/GHC. eg. PrelBase is now GHC.Base. - fptools/libraries/haskell98 provides the Haskell 98 std. libraries (Char, IO, Numeric etc.) as a package. This package is enabled by default. - fptools/libraries/network is a rearranged version of the existing net package (the old package net is still available; see below). - Other packages will migrate to fptools/libraries in due course. NB. you need to checkout fptools/libraries as well as fptools/hslibs now. The nightly build scripts will need to be tweaked. - fptools/hslibs still contains (almost) the same stuff as before. Where libraries have moved into the new hierarchy, the hslibs version contains a "stub" that just re-exports the new version. The idea is that code will gradually migrate from fptools/hslibs into fptools/libraries as it gets cleaned up, and in a version or two we can remove the old packages altogether. - I've taken the opportunity to make some changes to the build system, ripping out the old hslibs Makefile stuff from mk/target.mk; the new package building Makefile code is in mk/package.mk (auto-included from mk/target.mk). The main improvement is that packages now register themselves at make boot time using ghc-pkg, and the monolithic package.conf in ghc/driver is gone. I've updated the standard packages but haven't tested win32, graphics, xlib, object-io, or OpenGL yet. The Makefiles in these packages may need some further tweaks, and they'll need pkg.conf.in files added. - Unfortunately all this rearrangement meant I had to bump the interface-file version and create a bunch of .hi-boot-6 files :-(
* [project @ 2002-01-31 13:46:38 by simonmar]simonmar2002-01-315-0/+390
| | | | Add test for GHCi w/ Happy-generated parsers.
* [project @ 2001-10-30 16:18:12 by simonmar]simonmar2001-10-3012-18/+18
| | | | Update sample output. All the GHCi tests work as of today.
* [project @ 2001-10-30 16:17:34 by simonmar]simonmar2001-10-302-0/+17
| | | | Add deadlock-detection test.
* [project @ 2001-10-30 16:16:17 by simonmar]simonmar2001-10-302-0/+56
| | | | Add ':set args' and ':set prog' test.
* [project @ 2001-08-23 10:55:37 by simonmar]simonmar2001-08-231-59/+0
| | | | | Remove no-longer-useful README. All that's left here now is the GHCi tests, which aren't ready to be moved over to the new testsuite yet.
* [project @ 2001-08-23 10:53:46 by simonmar]simonmar2001-08-2345-1696/+0
| | | | remove unused tests.
* [project @ 2001-08-23 10:51:19 by simonmar]simonmar2001-08-2317-286/+0
| | | | | old tests, most of which seem to have been used during development rather than as regression tests.
* [project @ 2001-08-22 12:24:41 by simonmar]simonmar2001-08-221451-68591/+0
| | | | Remove old test suite (subsumed by fptools/testsuite).
* [project @ 2001-08-22 11:45:06 by sewardj]sewardj2001-08-221-3/+20
| | | | | Count comparisons and bomb about after 100, to avoid infinite loop due to buggy f-x-dynamic implementation on sparc-solaris.
* [project @ 2001-08-21 16:18:35 by simonmar]simonmar2001-08-215-28/+28
| | | | | | | Update output. All these tests now work with the current sources, after exposing several bugs. Tests are great.
* [project @ 2001-08-21 14:45:13 by simonmar]simonmar2001-08-216-13/+1
| | | | update output
* [project @ 2001-08-21 14:44:42 by simonmar]simonmar2001-08-212-0/+76
| | | | Test various forms of :info
* [project @ 2001-08-21 14:44:22 by simonmar]simonmar2001-08-212-0/+13
| | | | Test that System.exitWith doesn't kill the interpreter
* [project @ 2001-08-21 13:15:05 by simonmar]simonmar2001-08-211-1/+1
| | | | Use -ignore-dot-ghci for the GHCi tests.
* [project @ 2001-08-20 14:44:05 by simonmar]simonmar2001-08-206-115/+0
| | | | | | This StablePtr test is old, most of the features it uses are deprecated and have been replaced by newer mechanisms (eg. foreign export) which is tested elsewhere.
* [project @ 2001-08-17 17:18:51 by apt]apt2001-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | How I spent my summer vacation. Primops ------- The format of the primops.txt.pp file has been enhanced to allow (latex-style) primop descriptions to be included. There is a new flag to genprimopcode that generates documentation including these descriptions. A first cut at descriptions of the more interesting primops has been made, and the file has been reordered a bit. 31-bit words ------------ The front end now can cope with the possibility of 31-bit (or even 30-bit) Int# and Word# types. The only current use of this is to generate external .core files that can be translated into OCAML source files (OCAML uses a one-bit tag to distinguish integers from pointers). The only way to get this right now is by hand-defining the preprocessor symbol WORD_SIZE_IN_BITS, which is normally set automatically from the familiar WORD_SIZE_IN_BYTES. Just in case 31-bit words are used, we now have Int32# and Word32# primitive types and an associated family of operators, paralleling the existing 64-bit stuff. Of course, none of the operators actually need to be implemented in the absence of a 31-bit backend. There has also been some minor re-jigging of the 32 vs. 64 bit stuff. See the description at the top of primops.txt.pp file for more details. Note that, for the first time, the *type* of a primop can now depend on the target word size. Also, the family of primops intToInt8#, intToInt16#, etc. have been renamed narrow8Int#, narrow16Int#, etc., to emphasize that they work on Int#'s and don't actually convert between types. Addresses --------- As another part of coping with the possibility of 31-bit ints, the addr2Int# and int2Addr# primops are now thoroughly deprecated (and not even defined in the 31-bit case) and all uses of them have been removed except from the (deprecated) module hslibs/lang/Addr Addr# should now be treated as a proper abstract type, and has these suitable operators: nullAddr# : Int# -> Addr# (ignores its argument; nullary primops cause problems at various places) plusAddr# : Addr# -> Int# -> Addr# minusAddr : Addr# -> Addr# -> Int# remAddr# : Addr# -> Int# -> Int# Obviously, these don't allow completely arbitrary offsets if 31-bit ints are in use, but they should do for all practical purposes. It is also still possible to generate an address constant, and there is a built-in rule that makes use of this to remove the nullAddr# calls. Misc ---- There is a new compile flag -fno-code that causes GHC to quit after generating .hi files and .core files (if requested) but before generating STG. Z-encoded names for tuples have been rationalized; e.g., Z3H now means an unboxed 3-tuple, rather than an unboxed tuple with 3 commas (i.e., a 4-tuple)! Removed misc. litlits in hslibs/lang Misc. small changes to external core format. The external core description has also been substantially updated, and incorporates the automatically-generated primop documentation; its in the repository at /papers/ext-core/core.tex. A little make-system addition to allow passing CPP options to compiler and library builds.
* [project @ 2001-08-14 13:40:07 by sewardj]sewardj2001-08-141-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the story about POSIX headers in C compilation. Until now, all C code in the RTS and library cbits has by default been compiled with settings for POSIXness enabled, that is: #define _POSIX_SOURCE 1 #define _POSIX_C_SOURCE 199309L #define _ISOC9X_SOURCE If you wanted to negate this, you'd have to define NON_POSIX_SOURCE before including headers. This scheme has some bad effects: * It means that ccall-unfoldings exported via interfaces from a module compiled with -DNON_POSIX_SOURCE may not compile when imported into a module which does not -DNON_POSIX_SOURCE. * It overlaps with the feature tests we do with autoconf. * It seems to have caused borkage in the Solaris builds for some considerable period of time. The New Way is: * The default changes to not-being-in-Posix mode. * If you want to force a C file into Posix mode, #include as the **first** include the new file ghc/includes/PosixSource.h. Most of the RTS C sources have this include now. * NON_POSIX_SOURCE is almost totally expunged. Unfortunately we have to retain some vestiges of it in ghc/compiler so that modules compiled via C on Solaris using older compilers don't break.
* [project @ 2001-08-10 13:55:58 by simonmar]simonmar2001-08-102-0/+11
| | | | Test for identifiers containing non-ASCII characters.
* [project @ 2001-08-08 14:30:45 by simonmar]simonmar2001-08-082-2/+2
| | | | update expected output
* [project @ 2001-08-08 14:29:59 by simonmar]simonmar2001-08-081-2/+0
| | | | Remove parse error. This test actually doesn't work!
* [project @ 2001-08-08 14:28:08 by simonmar]simonmar2001-08-081-18/+18
| | | | Fix parse error and remove ^Ms (an untested test?)
* [project @ 2001-08-08 14:23:09 by simonmar]simonmar2001-08-088-31/+22
| | | | update expected output
* [project @ 2001-08-08 14:21:07 by simonmar]simonmar2001-08-081-3/+3
| | | | semantics of take, drop and splitAt have changed
* [project @ 2001-08-08 14:18:12 by simonmar]simonmar2001-08-0810-36/+43
| | | | update expected output
* [project @ 2001-08-08 13:31:05 by simonmar]simonmar2001-08-084-14/+6
| | | | update expected output
* [project @ 2001-08-08 13:22:27 by simonmar]simonmar2001-08-081-2/+2
| | | | | | lib specifications aren't allowed any more [ merge into new test suite ]
* [project @ 2001-08-08 10:36:59 by simonmar]simonmar2001-08-081-5/+6
| | | | update expected output
* [project @ 2001-08-07 20:08:37 by ken]ken2001-08-071-1/+1
| | | | | Change the number of threads to spawn in this test from 1000000 to 10000000, to (more likely) trigger the Alpha StgRun() bug that I just fixed.
* [project @ 2001-08-01 11:49:27 by simonmar]simonmar2001-08-012-2/+2
| | | | use :set rather than :s
* [project @ 2001-07-06 14:18:53 by simonmar]simonmar2001-07-062-0/+83
| | | | | | | Add test for broken takeMVar/putMVar in 5.00.2. Bug reported by Greg Mildenhall <gregm@pc-121.cs.uwa.edu.au> on comp.lang.functional..
* [project @ 2001-06-29 13:53:55 by simonmar]simonmar2001-06-291-5/+2
| | | | Uncomment part of this test that works properly now.
* [project @ 2001-06-29 13:42:19 by simonmar]simonmar2001-06-292-0/+22
| | | | | Test that openFile in WriteMode doesn't truncate the file if an error occurs.
* [project @ 2001-06-29 13:40:50 by simonmar]simonmar2001-06-292-0/+59
| | | | | Test that readFile doesn't leave the file locked after its output has been forced completely.
* [project @ 2001-06-28 15:06:47 by lewie]lewie2001-06-281-0/+2
| | | | Here ya go!
* [project @ 2001-06-07 11:07:51 by sewardj]sewardj2001-06-072-1/+25
| | | | Fix Unix world breakage.
* [project @ 2001-06-07 10:45:30 by sewardj]sewardj2001-06-0717-3/+126
| | | | Track current changes in the text-mode-seek-on-Windows saga.
* [project @ 2001-06-05 14:09:45 by sewardj]sewardj2001-06-0510-10/+40
| | | | Updates for 5.01.
* [project @ 2001-06-05 09:30:20 by simonpj]simonpj2001-06-052-0/+12
| | | | Add str002 (recursive newtype test)
* [project @ 2001-06-04 16:34:19 by simonmar]simonmar2001-06-042-0/+32
| | | | Add test for Manuel's finalizer bug.
* [project @ 2001-06-01 14:33:01 by sewardj]sewardj2001-06-012-1/+6
| | | | More tracking of IO lib changes.
* [project @ 2001-06-01 13:07:35 by sewardj]sewardj2001-06-0120-9/+128
| | | | | Track recent changes to lib/std for mingw. Mostly, make all seeked-on file handles be in binary mode.
* [project @ 2001-05-31 10:32:28 by sewardj]sewardj2001-05-316-5/+12
| | | | Various mingw fixes.
* [project @ 2001-05-31 10:01:57 by simonmar]simonmar2001-05-311-0/+2
| | | | update expected output
* [project @ 2001-05-31 09:48:54 by sewardj]sewardj2001-05-312-6/+6
| | | | Avoid use of /dev/null on mingw.
* [project @ 2001-05-30 16:39:48 by sewardj]sewardj2001-05-302-1/+3
| | | | Give correct output for mingw.