1. 09 Jan, 2003 1 commit
    • simonmar's avatar
      [project @ 2003-01-09 10:49:21 by simonmar] · 78dddbd2
      simonmar authored
      Further refine the criteria for deciding whether command line
      arguments should be passed to the compilation manager or the linker.
      See comments in the file.
  2. 08 Jan, 2003 6 commits
    • simonmar's avatar
      [project @ 2003-01-08 15:47:54 by simonmar] · 356fb38b
      simonmar authored
      Improve the missing module message in the compilation manager, too.
    • simonmar's avatar
      [project @ 2003-01-08 15:28:04 by simonmar] · b1f1b152
      simonmar authored
      Improve missing-module error messages.  eg.
          Failed to load interface for `Foo':
              Could not find interface file for `Foo'
              (use -v to see a list of the files searched for)
      and if we add the -v flag:
          Failed to load interface for `Foo':
              Could not find interface file for `Foo'
              locations searched:
    • simonmar's avatar
      [project @ 2003-01-08 13:03:25 by simonmar] · 4107a275
      simonmar authored
      Add -mno-omit-leaf-frame-pointer if gcc supports it.
    • simonmar's avatar
      [project @ 2003-01-08 12:37:45 by simonmar] · 63366c1a
      simonmar authored
      stg_BCO_entry needs to be extern now.
    • simonmar's avatar
      [project @ 2003-01-08 12:03:28 by simonmar] · 7a156bdf
      simonmar authored
      - Detect whether we have a recent GCC that might need
        templates to acconfig.h.
      - Regen mk/config.h.in.
    • simonmar's avatar
      [project @ 2003-01-08 10:10:19 by simonmar] · 3801775f
      simonmar authored
      Update the documentation on --make mode to indicate that multiple
      sources/modules can be given on the command line, as well as multiple
      object files.
  3. 07 Jan, 2003 5 commits
  4. 06 Jan, 2003 12 commits
    • simonpj's avatar
      [project @ 2003-01-06 15:30:14 by simonpj] · fcf37c94
      simonpj authored
      	Several small but tiresome things shown up by Template Haskell
      1. Make the 'knot' in TcRnDriver much smaller; in fact move it to
         TcIfaceSig.tcInterfaceSigs.  Reasons
      	a) much tidier
      	b) avoids a loop in Template Haskell, when we try to run
      	   an expression during type checking (when the knot is
      	   not fully tied)
         See comments in TcIfaceSig
      2. Stop typechecking if tcGroup fails.  Reason: otherwise tcLookup can
         fail in the next group.
      3. Catch linking errors more gracefully when running a splice (in TcSplice)
    • simonpj's avatar
      [project @ 2003-01-06 15:29:27 by simonpj] · 97ee3b24
      simonpj authored
      Small extra tc-trace
    • simonpj's avatar
      [project @ 2003-01-06 15:27:11 by simonpj] · b708d7d8
      simonpj authored
      Make HscMain.compileExpr run lint if -dcore-lint is on
    • simonpj's avatar
      [project @ 2003-01-06 15:26:09 by simonpj] · b6247d0d
      simonpj authored
      1.  Arrange that -ddump-tc-trace will print out the exception caught by tryTc
      2.  Make forkM a bit quieter, unless -ddump-tc-trace is on.
    • simonpj's avatar
      [project @ 2003-01-06 15:19:08 by simonpj] · 4eb50f71
      simonpj authored
    • simonpj's avatar
      [project @ 2003-01-06 15:18:48 by simonpj] · 019b29da
      simonpj authored
      dieWith uses ProgramError, not UsageError
    • simonpj's avatar
      [project @ 2003-01-06 15:17:57 by simonpj] · aef84dce
      simonpj authored
      	Try slightly more aggressive rule application
      Switch on AlwaysActive rules even in SimplGently.  This should
      make some TH programs a little better, but it's not a big deal.
    • simonpj's avatar
      [project @ 2003-01-06 15:16:33 by simonpj] · 392095c9
      simonpj authored
      	Make ModLocation have a FilePath
      	instead of (Maybe FilePath) for
      	the object-file location
      This generally tides things up, and makes ml_obj_file more like
      Furthermore the ml_obj_file field gets filled in even when we
      initially expect just an .hi file.  This is important for Template
    • simonmar's avatar
      [project @ 2003-01-06 14:40:04 by simonmar] · e26bfe83
      simonmar authored
      Disable the version check on the .hi file for --show-iface.  This
      means that it can be used on .hi files for other "ways" (eg. profiled)
      without having to resort to using the undocumented -buildtag option.
    • simonmar's avatar
      [project @ 2003-01-06 14:15:38 by simonmar] · 9490f5ce
      simonmar authored
      Add a handy hint for finding the correct fully-qualified original
      names for entities in .hi-boot files.
    • simonmar's avatar
      [project @ 2003-01-06 13:12:37 by simonmar] · e8812a63
      simonmar authored
      The FUN application code is wrong when entering a BCO, because the BCO
      entry code assumes a stack-only calling convention.  Use the PAP entry
      code instead, which also uses a stack-only convention.
    • simonmar's avatar
      [project @ 2003-01-06 13:11:26 by simonmar] · 4de89387
      simonmar authored
      Prefix a double-underscore to a variable in a macro, to avoid conflicts.
  5. 04 Jan, 2003 1 commit
  6. 27 Dec, 2002 5 commits
  7. 26 Dec, 2002 2 commits
  8. 23 Dec, 2002 1 commit
    • simonmar's avatar
      [project @ 2002-12-23 11:02:15 by simonmar] · 0d7bfe8e
      simonmar authored
      Add the #includes from the rts package to the stub .c file.
      Prior to rev. 1.42, we used to add all the #includes from all enabled
      packages, together with any -#include options from the command-line.
      But since this is auto-generated code and we know exactly which
      #includes are required, this was overkill.
      In rev. 1.42, all #includes except RtsAPI.h were removed from the stub
      .c file.  This was incorrect, because the stub file refers to some
      entities defined in other RTS header files (the StgStablePtr type, and
      deRefStablePtr() for example).
      This change adds the header files from the rts package to the stub .c
      file, fixing some recent test breakages.
  9. 20 Dec, 2002 1 commit
  10. 19 Dec, 2002 6 commits
    • wolfgang's avatar
      [project @ 2002-12-19 18:43:53 by wolfgang] · 422fc0f1
      wolfgang authored
      Un-break for Mac OS X (handling of Apple's "frameworks")
    • panne's avatar
      [project @ 2002-12-19 18:02:13 by panne] · 7e4f1410
      panne authored
      Warning police (labels at end of compound statements are uncool, GCC says...)
    • panne's avatar
      [project @ 2002-12-19 18:00:42 by panne] · 04bfae04
      panne authored
      Use a less uncool way to avoid spurious warnings
    • panne's avatar
      [project @ 2002-12-19 17:57:39 by panne] · 5af1a666
      panne authored
      Fixed #ifdefery for GCC >= 3.x
    • simonmar's avatar
      [project @ 2002-12-19 15:12:01 by simonmar] · e5f943eb
      simonmar authored
      GHCi needs to link in packages eagerly if they're specified on the
      command line.
    • simonmar's avatar
      [project @ 2002-12-19 14:33:22 by simonmar] · 0d27d151
      simonmar authored
      Terrible hack to restore CAF handling behaviour in GHCi (it's
      currently broken).
      The story used to be this: in newCAF(), if the CAF is in dynamically
      loaded code, then we save the CAF's info ptr in a spare slot in the
      closure, and add the CAF to the caf_list.  The GC will retain
      everything on the caf_list.  At any point the CAFs can all be reverted
      by replacing their info pointers from the saved copies.
      CAFs need to be retained for GHCi because they might be required in a
      future execution; an optimisation would be to avoid retaining the CAFs
      if we're in "revert mode"; i.e. the CAFs are all going to be reverted
      after execution anyway.  Also, this only applies to CAFs in compiled
      code; CAFs in interpreted code are currently always retained.
      Anyway, the old story is harder now that I removed the code that
      checks whether a pointer is dynamically loaded or not (:-)).  Rather
      than re-instate that code, I created a new version of newCAF
      (newDynCAF), and arranged that the dynamic linker redirects any
      references to newCAF to point to newDynCAF instead.  The result is
      more efficient than before, and takes less code.