1. 02 Oct, 2004 1 commit
    • dons's avatar
      [project @ 2004-10-02 07:32:25 by dons] · 20d697a1
      dons authored
      When linking against libpthreads, raise(3) can behave strangely on
      some platforms (OpenBSD at least, maybe other BSDs, not Linux). So use
      pthread_kill() to generate signals when running the threaded rts,
      instead of raise(), when System.Posix.Signals.raiseSignal is called.
      raiseSignal will call genericRaise, in the rts, which knows which
      function to use.
  2. 01 Oct, 2004 11 commits
    • panne's avatar
      [project @ 2004-10-01 19:23:47 by panne] · 1749c262
      panne authored
      Layout rule again...
    • simonpj's avatar
      [project @ 2004-10-01 16:39:26 by simonpj] · fc6e8220
      simonpj authored
      Allow kind signatures in GADT data type declarations
    • simonpj's avatar
      [project @ 2004-10-01 16:04:23 by simonpj] · 356b0d0f
      simonpj authored
      First-cut documentation for GADTs
    • simonpj's avatar
      [project @ 2004-10-01 16:03:58 by simonpj] · a73c835a
      simonpj authored
      A bit more about hi-boot
    • simonpj's avatar
      [project @ 2004-10-01 14:25:12 by simonpj] · ce3ae762
      simonpj authored
      Comments only
    • ross's avatar
      [project @ 2004-10-01 13:46:07 by ross] · 762ec41d
      ross authored
      fix dummy ASSERTM2 macro
    • simonpj's avatar
      [project @ 2004-10-01 13:42:04 by simonpj] · 837824d2
      simonpj authored
      	Simplify the treatment of newtypes
      	Complete hi-boot file consistency checking
      In the representation of types, newtypes used to have a special constructor
      all to themselves, very like TyConApp, called NewTcApp.    The trouble is
      that means we have to *know* when a newtype is a newtype, and in an hi-boot
      context we may not -- the data type might be declared as
      	data T
      in the hi-boot file, but as
      	newtype T = ...
      in the source file.  In GHCi, which accumulates stuff from multiple compiles,
      this makes a difference.
      So I've nuked NewTcApp.  Newtypes are represented using TyConApps again. This
      turned out to reduce the total amount of code, and simplify the Type data type,
      which is all to the good.
      This commit also fixes a few things in the hi-boot consistency checking
    • simonpj's avatar
      [project @ 2004-10-01 11:12:30 by simonpj] · fadd15c6
      simonpj authored
      Remove bogus defn in hi-boot
    • simonpj's avatar
      [project @ 2004-10-01 10:08:49 by simonpj] · da95f4a0
      simonpj authored
      	Do simple checking on hi-boot files
      This commit arranges that, when compiling A.hs, we compare
      the types we infer with those in A.hi-boot, if the latter 
      exists.  (Or, more accurately, if anything A.hs imports in
      turn imports A.hi-boot, directly or indirectly.)
      This has been on the to-do list forever.
    • simonpj's avatar
      [project @ 2004-10-01 09:49:14 by simonpj] · 1276aa3f
      simonpj authored
      Generate in the @size suffix for a stdcall symbol properly.
    • wolfgang's avatar
      [project @ 2004-10-01 03:52:57 by wolfgang] · 352def90
      wolfgang authored
      Replace \? by \{0,1\} in the sed regular expressions, as the former
      does not work with Mac OS X's (= BSD's) sed.
      I'm a bit confused by the situation here:
      According to Mac OS X man pages, the latter syntax is part of the
      POSIX 1003.2 standard for basic regular expressions, while the former
      is not. According to the manpage installed with my Gentoo linux, neither
      is in the POSIX standard.
      However, GNU sed accepts both \? and \{0,1\}, while Mac OS X's sed accepts
      only \{0,1\}.
  3. 30 Sep, 2004 8 commits
    • panne's avatar
      [project @ 2004-09-30 21:00:57 by panne] · 3772fc40
      panne authored
      Stylistic changes
    • panne's avatar
      [project @ 2004-09-30 20:56:49 by panne] · bc4b6a82
      panne authored
      Get all project info from configure.ac
    • panne's avatar
      [project @ 2004-09-30 19:24:53 by panne] · dfd0a66e
      panne authored
      Make it compile with a GHC 6.x. The layout rule seems to be a mystery
      even for one of the "fathers" of Haskell...  :-}
    • simonpj's avatar
      [project @ 2004-09-30 14:45:41 by simonpj] · d709f886
      simonpj authored
      Add HsPat.hi-boot
    • simonpj's avatar
      [project @ 2004-09-30 10:35:15 by simonpj] · 23f40f0e
      simonpj authored
      	Add Generalised Algebraic Data Types
      This rather big commit adds support for GADTs.  For example,
          data Term a where
       	  Lit :: Int -> Term Int
      	  App :: Term (a->b) -> Term a -> Term b
      	  If  :: Term Bool -> Term a -> Term a
          eval :: Term a -> a
          eval (Lit i) = i
          eval (App a b) = eval a (eval b)
          eval (If p q r) | eval p    = eval q
          		    | otherwise = eval r
      Lots and lots of of related changes throughout the compiler to make
      this fit nicely.
      One important change, only loosely related to GADTs, is that skolem
      constants in the typechecker are genuinely immutable and constant, so
      we often get better error messages from the type checker.  See
      There's a new module types/Unify.lhs, which has purely-functional
      unification and matching for Type. This is used both in the typechecker
      (for type refinement of GADTs) and in Core Lint (also for type refinement).
    • simonmar's avatar
      [project @ 2004-09-30 10:31:58 by simonmar] · 9b6858cb
      simonmar authored
      Add -I- after the include paths when running gcc.  This prevents
      accidental shadowing of system includes by putting a file called
      eg. stdint.h in the current directory.
    • krasimir's avatar
      [project @ 2004-09-30 05:54:18 by krasimir] · 84295ea0
      krasimir authored
      absCSyn directory doesn't exists in the HEAD
    • dons's avatar
      [project @ 2004-09-30 03:05:21 by dons] · 47b3a158
      dons authored
      Look for getpwnam, getpwuid.
  4. 29 Sep, 2004 3 commits
  5. 28 Sep, 2004 4 commits
    • simonmar's avatar
      [project @ 2004-09-28 15:08:58 by simonmar] · 07291441
      simonmar authored
      rts_evalStableIO: set rtsApiCapability to NULL *before* calling
      scheduleWaitThread, matching the way the other eval_* functions do
      The previous way lead to a suble race condition:
        - thread A calls rts_evalIO, enters scheduleWaitThread()
          (rtsApiCapability == NULL).
        - thread B calls rts_evalStableIO, creates a main thread and enters
          scheduleWaitThread() (rtsApiCapability == &MainCapability)
        - thread A exits scheduleWaitThread, sees that rtsApiCapability is
          non-NULL, and calls releaseCapability() on it.  This is bogus,
          because thread A doesn't actually hold the capability, and we've
          done a double-release.
      This scenario leads to assertion failures in a debug threaded RTS, and
      probably crashes in a non-debug threaded RTS.
    • simonmar's avatar
      [project @ 2004-09-28 13:15:19 by simonmar] · c6226d8a
      simonmar authored
      Avoid some warnings from gcc by appending an 'LL' suffix to 64-bit
      integers on a 32-bit platform.
      Suggested by: Sven Panne <Sven.Panne@aedion.de>
    • simonmar's avatar
      [project @ 2004-09-28 11:40:26 by simonmar] · d41a97b8
      simonmar authored
      oops, revert version number to 6.3 again
    • simonmar's avatar
      [project @ 2004-09-28 09:00:56 by simonmar] · 9ed23db4
      simonmar authored
      Ignore RULES pragmas unless we're in -fglasgow-exts mode.
  6. 27 Sep, 2004 5 commits
  7. 24 Sep, 2004 1 commit
    • wolfgang's avatar
      [project @ 2004-09-24 16:29:33 by wolfgang] · d190e1a1
      wolfgang authored
      PowerPC/Mac OS X:
      Improve epilogue mangling.
      This became necesssary because the new CG may "fall through" for cases in
      a switch that are known to never happen, so GCC generates the epilogue code
      again. With the previous CG, GCC never generated any epilog code, because
      every function ended with an unconditional tail jump.
  8. 22 Sep, 2004 2 commits
  9. 21 Sep, 2004 3 commits
  10. 20 Sep, 2004 2 commits
    • panne's avatar
      [project @ 2004-09-20 17:53:40 by panne] · 8c1c956b
      panne authored
      Removed dependency of $(TOP)/mk/config.mk on $(TOP)/config.status, resurrecting
      "make distclean". I'm not 100% sure that the autoconf-related rules are correct,
      "./config.status --recheck" in conjunction with make is a real brain-twister...
    • panne's avatar
      [project @ 2004-09-20 16:32:58 by panne] · c5f79a4d
      panne authored
      Ooops, forgot to rename version.mk in my previous committ...