Skip to content
Snippets Groups Projects
  1. Oct 19, 1999
    • Julian Seward's avatar
      [project @ 1999-10-19 12:05:27 by sewardj] · b8c5a91a
      Julian Seward authored
      Make typeVarsIn non-static since interface.c needs to see it.
      b8c5a91a
    • Julian Seward's avatar
      [project @ 1999-10-19 11:41:35 by sewardj] · c630ceb5
      Julian Seward authored
      Change CFunDescriptor to match new foreign import implementation.
      c630ceb5
    • Julian Seward's avatar
      [project @ 1999-10-19 11:01:24 by sewardj] · 0600f5d1
      Julian Seward authored
      Reimplement back-end for foreign import (calling out).
      
      Return to a cleaned-up version of Alastair's callfun.S,
      wherein an architecture and calling-convention specific
      piece of assembly code is used to construct arguments and
      then call the specified function, under the direction of
      a type descriptor string.
      
      Defined an interface to this function (universal_call_c)
      which I hope will work regardless of 32-or-64 bitness,
      endianness and calling convention.
      
      Current implementation is for x86-linux only.
      0600f5d1
  2. Oct 18, 1999
    • sof's avatar
      [project @ 1999-10-18 11:49:47 by sof] · f083bb77
      sof authored
      * Time.CalendarTime.ctMonth's type should be Month (was Int.)
      * fixed Time.addToClockTime - the original implementation was
        completely wrong (thanks to George Russell for indirectly
        reporting the bug.)
      * Added the non-std Time.noTimeDiff, handy when you want to do
        calendar calculations, e.g.,
      
                  ct <- getClockTime
                  print (toUTCTime (addToClockTime noTimeDiff{tdMonth=1} ct))
      
      * many 'foreign import' decls were not marked as unsafe, even though they
        were passing out MutableByteArray and ByteArray vals. Fixed.
      f083bb77
    • Kevin Glynn's avatar
      [project @ 1999-10-18 11:44:20 by kglynn] · f021fc6f
      Kevin Glynn authored
      The fix to ignore error() cases when doing CPR analysis exposed a
      problem with the Void type.  A function that always constructs a void
      result was converted to w/w, but the worker was producing an unboxed
      tuple with 0 components.  Not good.
      
      Fixed so that constructing a void gives CPR value Top.  This is OK
      because we won't really be constructing a void each time, we will be
      returning a pointer to a shared void cell.
      f021fc6f
  3. Oct 16, 1999
  4. Oct 15, 1999
    • AndyGill's avatar
      [project @ 1999-10-15 23:52:00 by andy] · dee93f80
      AndyGill authored
      Adding diffs between Hugs98 (Jan99) and Hugs98 (Sep99)
      manually to STG Hugs.
      
      These are the changes to input.c, with minor tweeks to
      connect.h and parser.y to make this work.
      dee93f80
    • AndyGill's avatar
      [project @ 1999-10-15 22:35:04 by andy] · 9e0c9691
      AndyGill authored
      Adding diffs between Hugs98 (Jan99) and Hugs98 (Sep99) manually to STG Hugs.
      9e0c9691
    • AndyGill's avatar
      [project @ 1999-10-15 21:40:49 by andy] · ecd09ad0
      AndyGill authored
      Updating all copyright messages to the same as Hugs98.
      ecd09ad0
    • AndyGill's avatar
      [project @ 1999-10-15 19:11:54 by andy] · 07a8980d
      AndyGill authored
      Changing order of check for use of DLL for dynamic linking.
      (Under cygwin, we still want to use DLL's).
      07a8980d
    • Julian Seward's avatar
      [project @ 1999-10-15 11:02:06 by sewardj] · dfb12323
      Julian Seward authored
      Added basic support for foreign export dynamic.
      
      Many aspects of it are still broken:
      * Only supports x86-linux.
      * The range of allowable types is small: Char Int Float Double
        Addr and Word.
      * Adjustor thunks are never freed.
      * Returning Doubles or Floats doesn't work at all.
      
      I expect to fix some of these shortly.  foreign import also
      needs redoing, so it can accept any number of arguments of
      any type.
      
      Also:
      * Fixed setRtsFlags in Evaluator.c to make it endian-independent.
      * Fixed raisePrim in Evaluator.c so things like division by zero,
        array index errors, etc, throw an exception instead of
        terminating StgHugs.  raisePrim is renamed makeErrorCall.
      dfb12323
    • Simon Marlow's avatar
      [project @ 1999-10-15 09:50:22 by simonmar] · f5fd4677
      Simon Marlow authored
      Add macros for two-register call/return convention, for experimentation.
      f5fd4677
    • Simon Marlow's avatar
      [project @ 1999-10-15 08:56:46 by simonmar] · ed2992a5
      Simon Marlow authored
      set $(HC) to the inplace ghc driver script.
      ed2992a5
  5. Oct 14, 1999
  6. Oct 13, 1999
  7. Oct 12, 1999
  8. Oct 11, 1999
  9. Oct 10, 1999
  10. Oct 08, 1999
    • sof's avatar
      [project @ 1999-10-08 15:20:32 by sof] · 5c5512df
      sof authored
      Incorporate some fixes for Hugs
      5c5512df
    • Simon Marlow's avatar
      [project @ 1999-10-08 15:17:00 by simonmar] · 6e487969
      Simon Marlow authored
      While fiddling around with concurrency & exceptions this afternoon, I
      realised an important property of raiseInThread: it is synchronous.
      The exception is raised immediately, and doesn't sit in some queue
      somewhere waiting to be raised at a later date.
      
      This is important if you have eg. two threads that can kill each
      other.  We can guarantee that only one of the threads gets to kill the
      other, under no circumstances can there be two killThreads fired in
      opposite directions at the same time.
      
      Documented this.
      6e487969
    • Simon Marlow's avatar
      [project @ 1999-10-08 14:16:15 by simonmar] · 214fe5a1
      Simon Marlow authored
      Change that slipped through the net in the recent build system changes.
      214fe5a1
    • sof's avatar
      [project @ 1999-10-08 11:00:16 by sof] · e34e6f56
      sof authored
      Improved on the install rules for libexecs and bins a little
      (at least from a Win32 pov - you can now install "happy.bin"
      without trouble.)
      e34e6f56
  11. Oct 07, 1999
  12. Oct 06, 1999
    • Simon Marlow's avatar
      [project @ 1999-10-06 12:25:18 by simonmar] · 1e717429
      Simon Marlow authored
      Always prepend `#! $(INTERP)' to a script, even if we're BIN_DISTing.
      It doesn't do any harm, and means that we can execute the BIN_DIST
      version of a script from the build tree, provided it doesn't depend on
      any global paths.
      1e717429
  13. Oct 05, 1999
    • Simon Marlow's avatar
      [project @ 1999-10-05 11:36:27 by simonmar] · 347936f4
      Simon Marlow authored
      GHC versions are now of the form AA.BB.C, where AA is the major
      version, BB is the minor version, and C is the patchlevel.
      
      Part of this commit accidentally ended up in an earlier commit to
      fptools/ghc/mk/version.mk, which contains some comments on the version
      rationale.  Excerpt:
      
      # ProjectVersionInt does *not* contain the patchlevel (rationale: this
      # figure is used for conditional compilations, and library interfaces
      # etc. are not supposed to change between patchlevels).
      
      i.e. a patchlevel is for bugfixes only, no new features or
      interface-changing changes.  Unfortunately, we made this mistake in
      4.04pl1, and won't be making it again.
      347936f4
    • Simon Marlow's avatar
      [project @ 1999-10-05 10:30:26 by simonmar] · 67fe852e
      Simon Marlow authored
      Build System Cleanup
      --------------------
      
      This commit is intended to clear the way for automatic RPM building.
      In particular, the idea is that 'make install' doesn't build anything,
      so you can do
      
      	make install prefix=/some/tmp/prefix
      
      to install everything in /some/tmp/prefix, but leave the hardwired-in
      install directories the same.
      
      For scripts that depend on the install dir (currently just the GHC
      driver and mkdependHS), we now build two versions: <script>-inplace,
      which is used for running the script from the build tree, and
      <script>, which is the to-be-installed version.
      
      NOTE: binary distributions are now a little bit trickier to build.
      You *must* include the line "BIN_DIST=1" in your build.mk if you
      intend to make a binary distribution from the current build tree.
      This is because certain scripts have to be built differently, and we
      don't rebuild them when doing 'make binary-dist' anymore (since 'make
      binary-dist' just does a 'make install' with a re-targetted prefix,
      just like the RPM builder).
      
      Other changes
      
      	- the binary-dist machinery is now all in fptools/Makefile
      	- removed a gratuitous $(package)-$(version) level of
      	  directories from the binary distribution.
      	- binary distributions are now placed under the package
      	  name, rather than fptools/fptools.
      	- various other minor cleanups.
      67fe852e
Loading