This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 01 Feb, 2005 3 commits
  2. 31 Jan, 2005 10 commits
    • simonpj's avatar
      [project @ 2005-01-31 16:59:37 by simonpj] · b2446845
      simonpj authored
      Tidy up stop-phase passing; fix bug in -o handling for ghc -E X.hs -o X.pp
      b2446845
    • simonpj's avatar
      [project @ 2005-01-31 15:48:13 by simonpj] · bd0d2652
      simonpj authored
      ---------------------------
      	Some Template Haskell fixes
      	---------------------------
      
      * Tidy up conversion from TH.Name to RdrName.RdrName. It was partly
        duplicated between Convert.thRdrName and TcSplice.lookupThName.
        Now it's all in one place: Convert.thRdrName
      
      * Fix a bug in TH.tupleTypeName/TH.tupleDataName (GHC.Tuple -> Data.Tuple)
      
      * Export appEs from Language.Haskell.TH
      bd0d2652
    • simonpj's avatar
      [project @ 2005-01-31 14:57:36 by simonpj] · 34fa81c4
      simonpj authored
      Compile utilities and lib/compat with GhcHcOpts, in case it is profiled
      34fa81c4
    • simonpj's avatar
      [project @ 2005-01-31 14:53:13 by simonpj] · f5106d93
      simonpj authored
      Compile utilities and lib/compat with GhcHcOpts, in case it is profiled
      f5106d93
    • simonpj's avatar
      [project @ 2005-01-31 13:53:29 by simonpj] · c269f662
      simonpj authored
      Wibble to hoistForAllTys
      c269f662
    • simonpj's avatar
      [project @ 2005-01-31 13:25:33 by simonpj] · f25b9225
      simonpj authored
      ---------------------------
      	Types and evaluated-ness in
      	  CoreTidy and CorePrep
      	---------------------------
      
      This commmit fixes two problems.
      
      1.  DataToTagOp requires its argument to be evaluated, otherwise it silently
          gives the wrong answer.  This was not happening because we had
      	case (tag2Enum x) of y -> ...(dataToTag y)...
          and the tag2Enum was being inlined (it's non-speculative), giving
      	...(dataToTag (tag2Enum x))...
      
          Rather than relying on a somewhat-delicate global invariant, CorePrep
          now establishes the invariant that DataToTagOp's argument is evaluated.
          It does so by putting up-to-date is-evaluated information into each
          binder's UnfoldingInfo; not a full unfolding, just the (OtherCon [])
          for evaluated binders.
      
          Then there's a special case for DataToTag where applications are dealt with.
      
          Finally, we make DataToTagOp strict, which it really is.
      
      
      2.  CoreTidy now does GADT refinement as it goes. This is important to ensure that
          each variable occurrence has informative type information, which in turn is
          essential to make exprType work (otherwise it can simply crash).
          [This happened in test gadt/tdpe]
      
          CorePrep has the same problem, but the solution is a little different:
          when looking up in the cloning environment, use the type at the occurrence
          site if we're inside a GADT.  It might be cleaner to use the same story as
          CoreTidy, but then we'd need to keep an in-scope set for type variables.
          No big deal either way.
      f25b9225
    • simonpj's avatar
      [project @ 2005-01-31 13:22:57 by simonpj] · 04612d54
      simonpj authored
      Rename mkTvSubst to mkOpenTvSubst; add new mkTvSubst
      04612d54
    • simonpj's avatar
      [project @ 2005-01-31 13:21:01 by simonpj] · 94df1013
      simonpj authored
      Name evaldUnfolding = OtherCon [], and use it
      94df1013
    • simonmar's avatar
      [project @ 2005-01-31 12:55:50 by simonmar] · 4078a5cf
      simonmar authored
      Move signal prototypes into RtsExternal.h
      4078a5cf
    • wolfgang's avatar
      [project @ 2005-01-31 05:27:14 by wolfgang] · c560ae86
      wolfgang authored
      Reorganise handling of -fPIC flags passed to C compiler.
      The flags expected by gcc differ only slightly per platform
      (basically depending whether you are on a Mac or not), we don't need
      separate cases for every processor.
      
      TODO: Display an error message for platforms where -fPIC -fvia-C is not
            supported.
      c560ae86
  3. 29 Jan, 2005 2 commits
  4. 28 Jan, 2005 10 commits
    • krasimir's avatar
      [project @ 2005-01-28 23:33:51 by krasimir] · 6317d554
      krasimir authored
      - The output from uncaught exceptions handler is redirected to RTS's errorBelch.
      - The output from Debug.Trace is redirected to RTS's debugBelch
      - Usually errorBelch and debugBelch messages go to stderr except for
      Windows GUI applications. For GUI applications the Debug.Trace output is
      redirected to debug console and the exceptions message is displayed in message box.
      6317d554
    • ross's avatar
      [project @ 2005-01-28 18:50:25 by ross] · 5500fa8f
      ross authored
      add missing underscores
      5500fa8f
    • simonpj's avatar
      [project @ 2005-01-28 17:44:55 by simonpj] · c51fdf44
      simonpj authored
      Arrange that when seeking instance decls in GHCi, in response
      to a :info command, we only print ones whose types are in scope
      unqualified.  This eliminates an alarmingly long list when
      simply typing ':info Show', say.
      
      On the way, I reorganised a bit.  GHCi printing happens by
      converting a TyThing to an IfaceDecl, and printing that.
      I now arrange to generate unqualifed IfaceExtNames directly
      during this conversion, based on what is in scope.  Previously
      it was done during the pretty-printing part via the UserStyle.
      But this is nicer.
      c51fdf44
    • ross's avatar
      [project @ 2005-01-28 16:28:56 by ross] · 550efe6e
      ross authored
      from 6.3, generate INCLUDE instead of OPTIONS -#include and GHC_OPTIONS
      instead of OPTIONS.
      550efe6e
    • simonmar's avatar
      [project @ 2005-01-28 14:41:23 by simonmar] · b220cc67
      simonmar authored
      x-ref INCLUDE pragmas
      b220cc67
    • simonmar's avatar
      [project @ 2005-01-28 14:41:09 by simonmar] · da6eff29
      simonmar authored
      Document {-# INCLUDE #-}
      da6eff29
    • simonmar's avatar
      [project @ 2005-01-28 14:27:00 by simonmar] · b4b792b5
      simonmar authored
      add an INCLUDE pragma, as a compiler-independent alternative to
      -#include.
      b4b792b5
    • simonmar's avatar
      [project @ 2005-01-28 14:21:12 by simonmar] · a02314bd
      simonmar authored
      Fix -no-recomp
      a02314bd
    • simonmar's avatar
      [project @ 2005-01-28 14:01:08 by simonmar] · 81066717
      simonmar authored
      Here's a file I forgot to add.
      
      NB. ghcconfig.h is now a *source file*.  If you're using a linked
      build tree, please remove it from ghc/includes and re-link (in fact,
      you probabaly need a make clean in ghc/includes at least).
      81066717
    • simonmar's avatar
      [project @ 2005-01-28 12:55:17 by simonmar] · 153b9cb9
      simonmar authored
      Rationalise the BUILD,HOST,TARGET defines.
      
      Recall that:
      
        - build is the platform we're building on
        - host is the platform we're running on
        - target is the platform we're generating code for
      
      The change is that now we take these definitions as applying from the
      point of view of the particular source code being built, rather than
      the point of view of the whole build tree.
      
      For example, in RTS and library code, we were previously testing the
      TARGET platform.  But under the new rule, the platform on which this
      code is going to run is the HOST platform.  TARGET only makes sense in
      the compiler sources.
      
      In practical terms, this means that the values of BUILD, HOST & TARGET
      may vary depending on which part of the build tree we are in.
      
      Actual changes:
      
       - new file: includes/ghcplatform.h contains platform defines for
         the RTS and library code.
      
       - new file: includes/ghcautoconf.h contains the autoconf settings
         only (HAVE_BLAH).  This is so that we can get hold of these
         settings independently of the platform defines when necessary
         (eg. in GHC).
      
       - ghcconfig.h now #includes both ghcplatform.h and ghcautoconf.h.
      
       - MachRegs.h, which is included into both the compiler and the RTS,
         now has to cope with the fact that it might need to test either
         _TARGET_ or _HOST_ depending on the context.
      
       - the compiler's Makefile now generates
           stage{1,2,3}/ghc_boot_platform.h
         which contains platform defines for the compiler.  These differ
         depending on the stage, of course: in stage2, the HOST is the
         TARGET of stage1.  This was wrong before.
      
       - The compiler doesn't get platform info from Config.hs any more.
         Previously it did (sometimes), but unless we want to generate
         a new Config.hs for each stage we can't do this.
      
       - GHC now helpfully defines *_{BUILD,HOST}_{OS,ARCH} automatically
         in CPP'd Haskell source.
      
       - ghcplatform.h defines *_TARGET_* for backwards compatibility
         (ghcplatform.h is included by ghcconfig.h, which is included by
         config.h, so code which still #includes config.h will get the TARGET
         settings as before).
      
       - The Users's Guide is updated to mention *_HOST_* rather than
         *_TARGET_*.
      
       - coding-style.html in the commentary now contains a section on
         platform defines.  There are further doc updates to come.
      
      Thanks to Wolfgang Thaller for pointing me in the right direction.
      153b9cb9
  5. 27 Jan, 2005 15 commits
    • simonpj's avatar
      [project @ 2005-01-27 15:55:38 by simonpj] · b5dbb387
      simonpj authored
      Make -no-recomp a dynamic flag
      b5dbb387
    • simonpj's avatar
      [project @ 2005-01-27 15:53:38 by simonpj] · 8ec76b05
      simonpj authored
      Comments
      8ec76b05
    • simonpj's avatar
      [project @ 2005-01-27 15:53:08 by simonpj] · 2ec5498e
      simonpj authored
      Remove redundant parens in pretty print
      2ec5498e
    • simonpj's avatar
      [project @ 2005-01-27 15:52:09 by simonpj] · dd08967f
      simonpj authored
      Wibble
      dd08967f
    • simonpj's avatar
      [project @ 2005-01-27 15:51:11 by simonpj] · a4124cf4
      simonpj authored
      Add a rule for dataToTag (tagToEnum x)
      a4124cf4
    • simonmar's avatar
      [project @ 2005-01-27 14:38:29 by simonmar] · 2cf37ff9
      simonmar authored
      Fix explicit layout
      2cf37ff9
    • simonmar's avatar
      [project @ 2005-01-27 13:00:14 by simonmar] · 0287b1b5
      simonmar authored
      bootstrapping wibbles
      0287b1b5
    • simonmar's avatar
      [project @ 2005-01-27 12:55:15 by simonmar] · 35c17bb1
      simonmar authored
      bootstrapping wibbles
      35c17bb1
    • ross's avatar
      [project @ 2005-01-27 12:38:49 by ross] · 9a89def5
      ross authored
      turn -Dfoo into
      	#define foo 1
      (like C compilers do) instead of
      	#define foo
      9a89def5
    • simonpj's avatar
      [project @ 2005-01-27 12:16:51 by simonpj] · d1a59a92
      simonpj authored
      Fix handling of dependent packages without a version
      d1a59a92
    • simonpj's avatar
      [project @ 2005-01-27 11:51:56 by simonpj] · 56f5bc18
      simonpj authored
      Import trimming
      56f5bc18
    • simonpj's avatar
      [project @ 2005-01-27 11:50:58 by simonpj] · 281bcf70
      simonpj authored
      Make sure that the interactive context can see home-package instances;
      I forgot to do this when making tcRnModule find the appropriate intances
      (TcRnDriver rev 1.91)
      
      This was causing SourceForge [ghc-Bugs-1106171].
      281bcf70
    • simonmar's avatar
      [project @ 2005-01-27 11:29:03 by simonmar] · d9c3fa92
      simonmar authored
      Suppress .cmm suffix rules when $(BootingFromHc)
      d9c3fa92
    • simonpj's avatar
      [project @ 2005-01-27 11:12:52 by simonpj] · 04864fb7
      simonpj authored
      Remove redundant .hi-boot files.  The earliest compiler we claim to be able
      to compile GHC with is GHC 5, and that needs hi-boot-5 boot files.  So the
      plain hi-boot files are dead.
      
      Reason for removing them now is that my big commit accidentally splatted
      them with binary data; so if you ever want to recover them, go back
      one revision beore the one I'm deleting.
      04864fb7
    • simonpj's avatar
      [project @ 2005-01-27 10:44:00 by simonpj] · 508a505e
      simonpj authored
      --------------------------------------------
                Replace hi-boot files with hs-boot files
        	--------------------------------------------
      
      This major commit completely re-organises the way that recursive modules
      are dealt with.
      
        * It should have NO EFFECT if you do not use recursive modules
      
        * It is a BREAKING CHANGE if you do
      
      ====== Warning: .hi-file format has changed, so if you are
      ======		updating into an existing HEAD build, you'll
      ======		need to make clean and re-make
      
      
      The details:  [documentation still to be done]
      
      * Recursive loops are now broken with Foo.hs-boot (or Foo.lhs-boot),
        not Foo.hi-boot
      
      * An hs-boot files is a proper source file.  It is compiled just like
        a regular Haskell source file:
      	ghc Foo.hs		generates Foo.hi, Foo.o
      	ghc Foo.hs-boot		generates Foo.hi-boot, Foo.o-boot
      
      * hs-boot files are precisely a subset of Haskell. In particular:
      	- they have the same import, export, and scoping rules
      	- errors (such as kind errors) in hs-boot files are checked
        You do *not* need to mention the "original" name of something in
        an hs-boot file, any more than you do in any other Haskell module.
      
      * The Foo.hi-boot file generated by compiling Foo.hs-boot is a machine-
        generated interface file, in precisely the same format as Foo.hi
      
      * When compiling Foo.hs, its exports are checked for compatibility with
        Foo.hi-boot (previously generated by compiling Foo.hs-boot)
      
      * The dependency analyser (ghc -M) knows about Foo.hs-boot files, and
        generates appropriate dependencies.  For regular source files it
        generates
      	Foo.o : Foo.hs
      	Foo.o : Baz.hi		-- Foo.hs imports Baz
      	Foo.o : Bog.hi-boot	-- Foo.hs source-imports Bog
      
        For a hs-boot file it generates similar dependencies
      	Bog.o-boot : Bog.hs-boot
      	Bog.o-boot : Nib.hi	-- Bog.hs-boto imports Nib
      
      * ghc -M is also enhanced to use the compilation manager dependency
        chasing, so that
      	ghc -M Main
        will usually do the job.  No need to enumerate all the source files.
      
      * The -c flag is no longer a "compiler mode". It simply means "omit the
        link step", and synonymous with -no-link.
      508a505e