1. 30 Sep, 2004 7 commits
    • 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.
  2. 29 Sep, 2004 3 commits
  3. 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.
  4. 27 Sep, 2004 5 commits
  5. 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.
  6. 22 Sep, 2004 2 commits
  7. 21 Sep, 2004 3 commits
  8. 20 Sep, 2004 3 commits
  9. 19 Sep, 2004 2 commits
    • panne's avatar
      [project @ 2004-09-19 09:41:29 by panne] · b734be7a
      panne authored
      Use version info from configure.ac
    • panne's avatar
      [project @ 2004-09-19 09:15:03 by panne] · f271c1f8
      panne authored
      Use some sed magic to avoid PACKAGE_FOO clashes introduced by the autoconf
      cleanup yesterday. Another option would have been using a plain "AC_INIT" in
      fptools/configure.ac (and probably the same for fptools/libraries/configure.ac),
      so only "leaf configure.ac"s have package info. Not quite sure what would be the
      nicest way to handle this yet...
  10. 18 Sep, 2004 1 commit
    • panne's avatar
      [project @ 2004-09-18 12:49:55 by panne] · ced47f78
      panne authored
      Make autoupdate 2.52 happy, mainly by using the new formats of AC_INIT and
      AC_OUTPUT. This has the nice side effect that all "packages" have now a name, a
      version, a bug-report address, and a tar name, yielding better output with
      "configure --help=recursive". Nuked an unused AC_STRUCT_ST_BLKSIZE test on the
  11. 17 Sep, 2004 1 commit
  12. 16 Sep, 2004 3 commits
    • sof's avatar
      [project @ 2004-09-16 22:41:33 by sof] · 1f622420
      sof authored
      New option, -P, turns off line pragma emission
    • stolz's avatar
      [project @ 2004-09-16 08:13:02 by stolz] · bb787c29
      stolz authored
      Collect unknown chunks in new chkcat 'unknown' which gets treated like
      'misc', but isn't mangled on sparc-*-solaris2 because of function
      definitions in C-headers like <pwd.h>. This shouldn't affect any
      other platform since this was already a border-case.
      Closes SF Bug 1012521 "getUserEntryForID dies".
      Please merge.
    • mthomas's avatar
      [project @ 2004-09-16 01:39:24 by mthomas] · 81c59c75
      mthomas authored
      On Windows default to main.exe instead of a.out.
  13. 15 Sep, 2004 5 commits
    • ross's avatar
      [project @ 2004-09-15 17:48:08 by ross] · daf67985
      ross authored
      arrow notation: allow arrow applications (f -< a) to take a non-empty
      command stack, as suggested by Sebastian Boldt <Sebastian.Boldt@arcor.de>.
    • stolz's avatar
      [project @ 2004-09-15 13:50:59 by stolz] · 346166a4
      stolz authored
      - Remove configure tests for SIG{POLL,INFO,WINCH}:
        Testing via #ifdef SIGFOO should be sufficient.
      - Change #if HAVE_SIGPOLL to #ifdef SIGPOLL
      - Remove SIGINFO/WINCH from package base: they'll reappear in package unix
        in System/Posix/Signals.Exts.
    • simonmar's avatar
      [project @ 2004-09-15 12:06:08 by simonmar] · 39439207
      simonmar authored
      Oops, fix bugs in previous commit.
    • simonmar's avatar
      [project @ 2004-09-15 11:45:24 by simonmar] · f220cc51
      simonmar authored
      Add a couple of cases to mk_switch to catch the case when we have a
      tag range that has a lot of default cases at either end, and we're not
      using a single switch.  In situations like this we want to eliminate
      the default cases with an if-statement, before dealing with the rest
      of the branches, which might then be suitable for a switch.
      Also, ignore empty tag slots at either end of the range if there is no
      default case.
      This might work around a gcc 2.95 bug that we tickled with the
      code being generated before.
    • wolfgang's avatar
      [project @ 2004-09-15 02:47:03 by wolfgang] · f19e3063
      wolfgang authored
      Accept '#pragma' lines in the cmm parser.
      This is necessary because Apple's version of GNU cpp 3.3 leaves #pragma
      lines in it's output, which cause the build to fail on Mac OS X with
      GCC >= 3.3