- 19 Aug, 2001 1 commit
-
-
sof authored
Nuke uses of LEADING_UNDERSCORE; use Config.cLeadingUnderscore instead.
-
- 18 Aug, 2001 2 commits
- 17 Aug, 2001 16 commits
-
-
sof authored
Add -I$(GHC_INCLUDE_DIR) to SRC_MKDEPENDHS_OPTS; ghc-4.0x needs this since 'mkdependHS' also chases #includes. Not an issue with ghc-5.xx's dep-generator, since it invokes CPP prior to gathering up the imports. This should bring ghc-4.08-based nightly builds back to life.
-
apt authored
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.
-
sof authored
- have SysTools.FileOption take a prefix that is not to be transformed (this is to accommodate MS-style cmd-line options of the kind: "/out=foo.obj") - have users of Finder.mkHomeModuleLocn catch up with recent change to its type.
-
simonmar authored
bugfix for -G1
-
simonmar authored
fix a profiling bug: the cost centre stack in a raise_closure wasn't being initialised.
-
simonmar authored
The .hi file wasn't tracking the module name (my fault). Fix it.
-
sewardj authored
On 4.08.X compilers, just make rawSystem be System.system. This is so we can still build stage1s with 4.08.X. It won't work on Win32 but the minimum compiler to build a stage1 for Win32 is 5.01 AFAICS.
-
rrt authored
Add rules for way "i" for maing libraries, so that a DLL rather than a .a gets built, and with al rather than ld.
-
rrt authored
std.dll now gets made by target.mk rules
-
rrt authored
Add a dummy function _ErrorHdrHook to return the address of ErrorHdrHook. Dunno how this ever compiled before. Maybe this is just a special Friday effect. Maybe I shouldn't be committing stuff today. Maybe I should just give up now.
-
simonmar authored
don't include <string.h> here, HsStd.h is the right place.
-
simonmar authored
include <string.h>
-
rrt authored
Use EXCLUDED_SRCS to handle ilxstubs.c
-
rrt authored
Make sure std is compiled with -fvia-C (NCG can't cope)
-
sof authored
SRC_CC_OPTS: add GHC_{INCLUDE,RUNTIME}_DIR to include path
-
sof authored
Get rid of (harmless) CPP warnings
-
- 16 Aug, 2001 12 commits
-
-
sof authored
Death to GHC_INCLUDE_DIR (well, almost). - mk/target.mk: get rid off the abomination of having SRC_CC_OPTS include GHC_INCLUDE_DIR and GHC_RUNTIME_DIR for all fptools/ projects. - mk/suffix.mk: %.pp suffix rule no longer hardwires in the use of GHC_INCLUDE_DIR; just $(CPP_OPTS). ==> If you want GHC_INCLUDE_DIR on the include path, better add it to SRC_CPP_OPTS (say) at the point where you need it (ghc/compiler/Makefile and ghc/lib/std/Makefile do this now). - wipe out the use of -I$(GHC_INCLUDE_DIR) in HC_OPTS in hslibs/; not needed. - hslibs/mk/boilerplate.mk still define GHC_{IO_}INCLUDE_DIR for the purpose of using it when compiling .c files. It should be possible to get rid off it by having CC=$(HC), but I haven't imposed that change (yet).
-
rrt authored
Dunno how this got here
-
rrt authored
Update ILX tool functions to use Option and OptionFile
-
rrt authored
Remove spurious duplicate rule for PrelGHC.$(way)hi. Improve rule for std.vlb, thanks to a fix to mkvlb. Add -DILX to SRC_HC_OPTS (needed for PrelTopHandler).
-
rrt authored
Add -fruntime-types, which the ILX backend needs
-
rrt authored
Remove WAY_i_* settings from user ways section
-
simonmar authored
add newline to "WARNING: error while reading directory" message.
-
simonmar authored
Include fixity info in the output from :info.
-
simonmar authored
Prettier output for GHCi's :info - put parenthesis around operators in type signatures (both IfaceSig and ClassOpSig) - don't use the cryptic '= ::' notation for indicating that a class op has a default method, instead put the information in a comment after the type.
-
simonmar authored
Set the SrcLoc for expressions typed on the command line to <interactive>:1 rather than <no file>:0.
-
chak authored
* Use new `gen_no' member in `bdescr' * Track renaming of member `to_space' in `step' structure
-
chak authored
Compile `cmInfoThing' only for GHCI
-
- 15 Aug, 2001 9 commits
-
-
qrczak authored
Fix HS_SRCS.
-
simonmar authored
Slight prettification of class declarations when printed out in non-interface mode.
-
simonmar authored
Don't print all the fields of a record on the same line
-
simonmar authored
Aha! I discovered how to distinguish ordinary record selectors from class methods. Prelude> :i + -- + is a method in class Num + :: forall a. (Num a) => a -> a -> a
-
simonmar authored
recognise constructors properly
-
simonmar authored
Identify record selectors in :info. Sadly there doesn't seem to be an easy way to identify class methods.
-
rrt authored
Cut'n'paste the latest version of rawSystem, not the horrible old past-its-sell-by-date version I had in my smelly old tree.
-
rrt authored
Dearie dearie me, we are in a tizz today. Put some imports needed for all platforms where they belong, and not in a mingwin-only ifdef.
-
simonmar authored
correct the help information about :info
-