Skip to content
Snippets Groups Projects
  1. Mar 20, 2015
  2. Mar 19, 2015
  3. Mar 17, 2015
  4. Mar 16, 2015
  5. Mar 15, 2015
  6. Mar 14, 2015
    • Edward Z. Yang's avatar
      We need to import 'cast' on Windows · d6f5b4cf
      Edward Z. Yang authored and Herbert Valerio Riedel's avatar Herbert Valerio Riedel committed
      
      This fixes breakage introduced via
      47b5b5c2
      
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      (cherry picked from commit 11314b93)
      d6f5b4cf
    • Peter Trommler's avatar
      Link temporary shared objects with `--no-as-needed` · 3ea34922
      Peter Trommler authored and Herbert Valerio Riedel's avatar Herbert Valerio Riedel committed
      Some ELF link editors default to `--as-needed` and record only
      those libraries in DT_NEEDED tags that are needed to resolve
      undefined symbols in the shared object to be created.
      
      In Template Haskell we rely on all symbols that were defined
      in modules compiled so far to be available in the current
      temporary shared object. To prevent the link editor from
      dropping the DT_NEEDED tag for the previously linked temporary
      shared object we need to override the link editors default and
      specify `--no-as-needed` on the command line. This is for GNU ld
      and GOLD ld.
      
      This addresses #10110
      
      TODO: regression test
      
      (cherry picked from commit 1b7f5976)
      3ea34922
    • Thomas Miedema's avatar
      Move the function strip_quotes to testutil.py · 65753a9d
      Thomas Miedema authored and Herbert Valerio Riedel's avatar Herbert Valerio Riedel committed
      If one runs the testsuite with a profiling compiler, during the import
      of `testlib.py`, `testlib.py` sets the global variable `gs_working`. To
      do so, it executes a few statements which require the function
      `strip_quotes` to be in scope. But that function only gets defined at
      the very end of testlib.py.
      
      This patch moves the definition of `strip_quotes` to testutil.py, which
      is imported at the very top of testlib.py. This unbreaks the nightly
      builders.
      
      (cherry picked from commit cc07a0ba)
      65753a9d
  7. Mar 13, 2015
    • Herbert Valerio Riedel's avatar
      Rename ty{Con,peRep}Hash to ty{Con,peRep}Fingerprint · cc393440
      Herbert Valerio Riedel authored
      This is a follow-up change to 56e0ac98
      
      See also discussion at
      https://groups.google.com/d/msg/haskell-core-libraries/e9N3U6nJeQE/V-TvG3G-3x4J
      
      (cherry picked from commit 842028b4)
      cc393440
    • Austin Seipp's avatar
      Add missed test (uuugh) · 89465bc6
      Austin Seipp authored and thoughtpolice's avatar thoughtpolice committed
      
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      (cherry picked from commit 34ba68c2)
      89465bc6
    • Iavor S. Diatchki's avatar
      Custom `Typeable` solver, that keeps track of kinds. · 6f46fe15
      Iavor S. Diatchki authored
      Summary:
      This implements the new `Typeable` solver: when GHC sees `Typeable` constraints
      it solves them on the spot.
      
      The current implementation creates `TyCon` representations on the spot.
      
      Pro: No overhead at all in code that does not use `Typeable`
      Cons: Code that uses `Typeable` may create multipe `TyCon` represntations.
      
      We have discussed an implementation where representations of `TyCons` are
      computed once, in the module, where a datatype is declared.  This would
      lead to more code being generated:  for a promotable datatype we need to
      generate `2 + number_of_data_cons` type-constructro representations,
      and we have to do that for all programs, even ones that do not intend to
      use typeable.
      
      I added code to emit warning whenevar `deriving Typeable` is encountered---
      the idea being that this is not needed anymore, and shold be fixed.
      
      Also, we allow `instance Typeable T` in .hs-boot files, but they result
      in a warning, and are ignored.  This last one was to avoid breaking exisitng
      code, and should become an error, eventually.
      
      Test Plan:
      1. GHC can compile itself.
      2. I compiled a number of large libraries, including `lens`.
          - I had to make some small changes:
            `unordered-containers` uses internals of `TypeReps`, so I had to do a 1 line fix
          - `lens` needed one instance changed, due to a poly-kinded `Typeble` instance
      
      3. I also run some code that uses `syb` to traverse a largish datastrucutre.
      I didn't notice any signifiant performance difference between the 7.8.3 version,
      and this implementation.
      
      Reviewers: simonpj, simonmar, austin, hvr
      
      Reviewed By: austin, hvr
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D652
      
      GHC Trac Issues: #9858
      
      (cherry picked from commit b359c886)
      6f46fe15
  8. Mar 12, 2015
  9. Mar 11, 2015
    • Thomas Miedema's avatar
      Cleanup test framework string formatting · dde3a237
      Thomas Miedema authored and Herbert Valerio Riedel's avatar Herbert Valerio Riedel committed
      * Use format strings instead of string concatenation.
      * Wrap `config.compiler`, `config.hpc` etc. in quotes in `mk/test.mk`, so we
        don't have to in .T scripts and driver/testlib.py.
      
      Update hpc submodule (test cleanup)
      
      (cherry picked from commit 5258566e)
      dde3a237
    • Herbert Valerio Riedel's avatar
      Update filepath submodule to filepath-1.4 snapshot · 773b90b0
      Herbert Valerio Riedel authored
      This also needs to update a couple of other submodules
      to update the upper bound on filepath to allow this major
      version bump to 1.4.0.0
      
      (cherry picked from commit 5f356f3e)
      773b90b0
    • Edward Z. Yang's avatar
      Update Cabal submodule to latest 1.22 snapshot · e8fd6186
      Edward Z. Yang authored and Herbert Valerio Riedel's avatar Herbert Valerio Riedel committed
      
      This changes the library file name format
      
      NOTE: This patch originally updated to Cabal HEAD, but was reduced to
            update to Cabal 1.22 HEAD by hvr as this is needed in order to
            update the filepath submodule to version 1.4.0, and subsequently
            to be cherry-picked into the ghc-7.10 branch
      
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      (cherry picked from commit 838d8044)
      e8fd6186
    • Thomas Miedema's avatar
      testsuite: format commands using config dict · 4ce0453f
      Thomas Miedema authored and Herbert Valerio Riedel's avatar Herbert Valerio Riedel committed
      Allow `cmd_wrapper` to return a format string that can refer to config values.
      Very useful! This allows for many tests to be defined in pure Python, instead
      of in an additional script or Makefile.
      
      Example:
      
        def Thpc(cmd):
          return(cmd + ' && {hpc} report Thpc.tix')
        test('Thpc', [cmd_wrapper(Thpc), only_ways['hpc']), compile_and_run, [''])
      
      The `{hpc}` is replaced by the value of `config.hpc`. The result is that the
      module `Thpc` first gets compiled, then the binary `Thpc` is run, and then the
      `hpc report` command is run. The output of all of this is redirected
      (and later appended) to Thpc.run.stdout/stderr as normally.
      
      (cherry picked from commit 91c11fea)
      4ce0453f
    • AndreasVoellmy's avatar
      RTS/IOManager: fix trac issue #9722. · fb2ab1e3
      AndreasVoellmy authored and thoughtpolice's avatar thoughtpolice committed
      Summary:
      Whenever the RTS has been inactive for idleGCDelayTime, the idle timer
      fires and calls wakeUpRts(), which in turn calls ioManagerWakeup(),
      which in turn writes a byte (or a few) to a file descriptor (stored in
      the io_manager_wakeup_fd variable) registered by the TimerManager and
      on which the TimerManager will wait. (Note that the write will only
      occur if the file descriptor is non-negative.) When the RTS shuts
      down, it shuts down the TimerManager, and in this process the file
      descriptor stored in io_manager_wakeup_fd is closed. In the error
      case, the idle timer fires after the close of the file occurs, and
      then the write() call in ioManagerWakeup() fails and the
      aforementioned error message gets printed.
      
      This patch solves the problem by (1) having the TimerManager (via
      Control) write -1 to io_manager_wakeup_fd just before closing the file
      descriptor written in io_manager_wakeup_fd, and (2) having
      ioManagerWakeup() ignore an error returned by write() in the case that
      the write returned -1 and the io_manager_wakeup_fd is -1.
      
      Reviewers: austin, simonmar, hvr, thomie
      
      Reviewed By: thomie
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D722
      
      GHC Trac Issues: #9722
      
      (cherry picked from commit 74625d68)
      fb2ab1e3
    • Erik de Castro Lopo's avatar
      ghc-prim : Hide 64 bit primops when the word size is 32 bits (fixes #9886). · bd785d10
      Erik de Castro Lopo authored and thoughtpolice's avatar thoughtpolice committed
      Summary:
      These primops were failing to compile on PowerPC (32 bit). There is also
      currently no way to call into these primops from Haskell code. Currently,
      the *only* way to call any of these C hs_atomic_* functions is via the
      fetch*IntArray primops which are only defined for Int values and Int is
      always the native word size.
      
      When these functions can be called (and tested) from Haskell code, then
      it will be worth while implementing them.
      
      Test Plan:
          Compile and run on x86, x86_64, powerpc and arm:
          testsuite/tests/concurrent/should_run/AtomicPrimops.hs
      
      Reviewers: tibbe, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D702
      
      GHC Trac Issues: #9886
      
      (cherry picked from commit 19440ae2)
      bd785d10
  10. Mar 10, 2015
  11. Mar 09, 2015
Loading