1. 31 Aug, 2001 8 commits
  2. 30 Aug, 2001 5 commits
  3. 29 Aug, 2001 14 commits
    • sof's avatar
      [project @ 2001-08-29 19:29:04 by sof] · 2f3a767f
      sof authored
      make it compile.
      2f3a767f
    • sof's avatar
      [project @ 2001-08-29 18:12:19 by sof] · e9c95834
      sof authored
      emptyPLS: warning removal
      e9c95834
    • qrczak's avatar
      [project @ 2001-08-29 17:24:25 by qrczak] · aa84d93a
      qrczak authored
      Remove annoying warnings about using a deprecated extension
      when compiling via gcc-3.0.
      
      #if __GNUC__ >= 3
      /* Assume that a flexible array member at the end of a struct
       * can be defined thus: T arr[]; */
      #define FLEXIBLE_ARRAY
      #else
      /* Assume that it must be defined thus: T arr[0]; */
      #define FLEXIBLE_ARRAY 0
      #endif
      
      A test program (hsking) compiled fine with gcc-3.0!
      aa84d93a
    • rje's avatar
      [project @ 2001-08-29 16:02:30 by rje] · 2744e4fb
      rje authored
      Another Haskell equivalent of CTags.
      
      Written because fptags and hstags don't seem to be maintained any more and
      its seemed to be less effort to write a new version, than to figure out
      how those one's worked.
      2744e4fb
    • sewardj's avatar
      [project @ 2001-08-29 15:12:21 by sewardj] · cb97b80d
      sewardj authored
      Make the PEi386 linker able to handle symbols in .bss sections
      (almost) correctly:
      
      * "Anonymous" bss sections (where something like
           static int a[10]
        lives) are given a calloc'd block of memory to live in.
      
      * Publically visible bss-resident symbols, such as
          int a[10]
        are each given their own calloc'd block.  The normal
        way of things is for identically-named symbols in different
        modules to be commoned up and allocated the largest stated
        size of any of the symbols.  We don't do that -- if two different
        .o files each declared  int a[10],  you'll get two independent
        lumps of memory.  Hence "almost" above.
      
      These calloc'd lumps (pseudo-bss spaces) are not added to the list
      of sections extracted for the benefit of the closure-vs-itbl pointer
      checks done by the garbage collector.  I don't think that matters.
      
      These fixes need to be propagated to other formats too (viz, ELF).
      
      This fixes the problem reported by ??? in which, on Windows,
         writeFile "foo" "bar" in GHCi gives a segfault.
      
      This bug was so horrible to track down and fix that I have instituted
      range checking in the relocation processing machinery.  The runtime
      linker checks all locations it is patching to ensure they are within
      a known segment before writing to them.  Hopefully this will pick up
      any future problems.  The performance impact of this, assessed by
      the time to start up GHCi, is unmeasureably small.
      cb97b80d
    • sewardj's avatar
      [project @ 2001-08-29 15:02:02 by sewardj] · fd7763c5
      sewardj authored
      Duh.  Remember to actually zero out the space in stgCallocBytes.  Duh.
      fd7763c5
    • sewardj's avatar
      [project @ 2001-08-29 14:55:58 by sewardj] · 986472c3
      sewardj authored
      Add stgCallocBytes().
      986472c3
    • simonmar's avatar
      [project @ 2001-08-29 14:32:49 by simonmar] · be1ec674
      simonmar authored
      Fix *two* bugs in formatRealFloat:
      
      The first one is in the Haskell 98 errata, namely that negative
      exponents cause an infinite loop in the FFFixed case when no precision
      is specified.  eg. `Numeric.showFFloat Nothing 0.02 ""'  I've modified
      the code in the errata to properly handle the e == 0 case and to be
      slightly more efficient when e > 0.
      
      The second bug is this:
      
         Prelude> Numeric.showFFloat (Just 0) 0.02 ""
         "0."
      be1ec674
    • rje's avatar
      [project @ 2001-08-29 14:20:14 by rje] · c31a55d1
      rje authored
      FCode/Code is now a monad, and thus now also a constructed type, rather than a
      type synonym.
      
      This requires quite a lot of changes in quite a lot of files, but none of these changes should have changed the behaviour of anything.
      
      Being a Monad allows code that used FCode to be IMHO rather more readable
      as it can use do notation, and other common Monad idioms.
      
      In addition, state has been abstracted away with getter and setter
      functions, so that functions mess with the innards of FCode as little as
      possible - making it easier to change FCode in future.
      c31a55d1
    • simonmar's avatar
      [project @ 2001-08-29 11:20:40 by simonmar] · 13350796
      simonmar authored
      - use SET_HDR rather than initialising header.info directly (fixes
        potential bugs with profiling).
      
      - add some masking to the Int32/Word32 cases to match the Int8-16 and
        Word8-16 cases (potential 64-bit bugs).
      13350796
    • simonmar's avatar
      [project @ 2001-08-29 10:49:28 by simonmar] · 0c256695
      simonmar authored
      Add genRange method to class RandomGen, as per the revised Haskell 98
      library report.
      0c256695
    • simonmar's avatar
      [project @ 2001-08-29 10:19:31 by simonmar] · b48fe608
      simonmar authored
      Make the Permissions type non-abstract as per the revised Haskell 98 report.
      b48fe608
    • simonmar's avatar
      [project @ 2001-08-29 10:12:34 by simonmar] · adc02cf2
      simonmar authored
      update maximumBy and minimumBy in line with the revised Haskell 98 report
      adc02cf2
    • simonmar's avatar
      [project @ 2001-08-29 09:34:05 by simonmar] · ed69dbe9
      simonmar authored
      Changes to the Ix class from the revised Haskell 98 report:
      
        - Ord is no longer a superclass of Ix.
      
        - rangeSize is now a class member, as there are cases when
          it is useful to be able to override it.  As a result, GHC's
          performance-improving "unsafeRangeSize" function also has to be
          a class method just in case the programmer has overriden
          rangeSize.  Of course, unsafeRangeSize isn't visible when just
          importing Ix.
      
        - Added unsafeRangeSize bindings to all our standard Ix instances.
      
        - Improved the Ix instances for Int{8,16,32,64} and
          Word{8,16,32,64} by defining unsafeIndex instead of index, and
          providing a definition of unsafeRangeSize.
      
      I hope I haven't mucked anything up :) The array tests all pass
      successfully, except for arr016 which depended on Ord being a
      superclass of Ix.  I'll commit changes to this test shortly.
      ed69dbe9
  4. 28 Aug, 2001 9 commits
  5. 27 Aug, 2001 4 commits