1. 13 Jul, 2015 6 commits
  2. 11 Jul, 2015 4 commits
  3. 10 Jul, 2015 3 commits
    • Ben Gamari's avatar
      Fix self-contained handling of ASCII encoding · d69dfba4
      Ben Gamari authored
      D898 was primarily intended to fix hangs in the event that iconv was
      unavailable (namely #10298 and #7695). In addition to this fix, it also
      introduced self-contained handling of ANSI terminals to allow compiled
      executables to run in minimal environments lacking iconv.
      
      However, the behavior that the patch introduced is highly suspicious.
      Specifically, it gives the user a UTF-8 encoding even if they requested
      ASCII.
      
      This has the potential to break quite a lot of code. At very least it
      breaks GHC's Unicode terminal detection logic, which attempts to catch
      an invalid character when encoding a pair of smart-quotes. Of course,
      this exception will never be thrown if a UTF-8 encoder is used.
      
      Here we use the `char8` encoding to handle requests for ASCII encodings
      in the event that we find iconv to be non-functional.
      
      Fixes #10623.
      
      Test Plan: Validate with T8959a
      
      Reviewers: rwbarton, hvr, austin, hsyl20
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1059
      
      GHC Trac Issues: #10623
      d69dfba4
    • Simon Peyton Jones's avatar
      Improve error message for fundeps · 2d06a9f1
      Simon Peyton Jones authored
      Improve error message fundeps, especially when PolyKinds means that
      the un-determined variables are (invisible) kind variables.
      
      See Trac #10570.
      2d06a9f1
    • Simon Peyton Jones's avatar
      Better type wildcard errors · 9e86bf1b
      Simon Peyton Jones authored
      Adopts sugggestion in Trac #10224, comment:3
      9e86bf1b
  4. 09 Jul, 2015 2 commits
  5. 08 Jul, 2015 1 commit
  6. 07 Jul, 2015 5 commits
    • Edward Z. Yang's avatar
      Fix #10596 by looking up 'Int' not 'Maybe Int' in the map. · 00c8d4d5
      Edward Z. Yang authored
      
      Test Plan: validate
      
      Reviewers: goldfire, austin, simonpj, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: simonpj, rwbarton, thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1026
      
      GHC Trac Issues: #10596
      00c8d4d5
    • Sergei Trofimovich's avatar
      fix EBADF unqueueing in select backend (Trac #10590) · 5857e0af
      Sergei Trofimovich authored
      Alexander found a interesting case:
      1. We have a queue of two waiters in a blocked_queue
      2. first file descriptor changes state to RUNNABLE,
         second changes to INVALID
      3. awaitEvent function dequeued RUNNABLE thread to a
         run queue and attempted to dequeue INVALID descriptor
         to a run queue.
      
      Unqueueing INVALID fails thusly:
              #3  0x000000000045cf1c in barf (s=0x4c1cb0 "removeThreadFromDeQueue: not found")
                                     at rts/RtsMessages.c:42
              #4  0x000000000046848b in removeThreadFromDeQueue (...) at rts/Threads.c:249
              #5  0x000000000049a120 in removeFromQueues (...) at rts/RaiseAsync.c:719
              #6  0x0000000000499502 in throwToSingleThreaded__ (...) at rts/RaiseAsync.c:67
              #7  0x0000000000499555 in throwToSingleThreaded (..) at rts/RaiseAsync.c:75
              #8  0x000000000047c27d in awaitEvent (wait=rtsFalse) at rts/posix/Select.c:415
      
      The problem here is a throwToSingleThreaded function that tries
      to unqueue a TSO from blocked_queue, but awaitEvent function
      leaves blocked_queue in a inconsistent state while traverses
      over blocked_queue:
      
            case RTS_FD_IS_READY:
                IF_DEBUG(scheduler,
                    debugBelch("Waking up blocked thread %lu\n",
                               (unsigned long)tso->id));
                tso->why_blocked = NotBlocked;
                tso->_link = END_TSO_QUEUE;              // Here we break the queue head
                pushOnRunQueue(&MainCapability,tso);
                break;
      Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
      
      Test Plan: tested on a sample from T10590
      
      Reviewers: austin, bgamari, simonmar
      
      Reviewed By: bgamari, simonmar
      
      Subscribers: qnikst, thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1024
      
      GHC Trac Issues: #10590, #4934
      5857e0af
    • kanetw's avatar
      Deferred type errors now throw TypeError (#10284) · 9a3e1657
      kanetw authored
      Depends on D864.
      
      Previous behaviour was ErrorCall, which might mask issues in tests 
      using -fdefer-type-errors
      Signed-off-by: kanetw's avatarDavid Kraeutmann <kane@kane.cx>
      
      Test Plan: Test whether the error thrown is indeed TypeError and not 
      ErrorCall.
      
      Reviewers: hvr, nomeata, austin
      
      Reviewed By: nomeata, austin
      
      Subscribers: nomeata, simonpj, thomie
      
      Differential Revision: https://phabricator.haskell.org/D866
      
      GHC Trac Issues: #10284
      9a3e1657
    • kanetw's avatar
      Allow deferred type error warnings to be suppressed · f753cf11
      kanetw authored
      Adds a flag -fwarn-deferred-type-errors similar to -fwarn-typed-holes.
      Changes the boolean flag of -fdefer-type-errors to a 3-state flag 
      similar to the one used by -fdefer-typed-holes/-fwarn-typed-holes.
      
      Test Plan: Since only the absence of deferred type error warnings when 
      -fno-warn-deferred-type-errors is passed has to be tested, I duplicated 
      a test case checking -fdefer-type-errors and adjusted it accordingly.
      
      Reviewers: nomeata, simonpj, austin, thomie, bgamari, hvr
      
      Reviewed By: nomeata, simonpj, austin, thomie, bgamari, hvr
      
      Subscribers: bgamari, simonpj, nomeata, thomie
      
      Projects: #ghc
      
      Differential Revision: https://phabricator.haskell.org/D864
      
      GHC Trac Issues: #10283
      f753cf11
    • rwbarton's avatar
      Don't eagerly blackhole single-entry thunks (#10414) · aaa0cd20
      rwbarton authored
      In a parallel program they can actually be entered more than once,
      leading to deadlock.
      
      Reviewers: austin, simonmar
      
      Subscribers: michaelt, thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1040
      
      GHC Trac Issues: #10414
      aaa0cd20
  7. 05 Jul, 2015 3 commits
  8. 04 Jul, 2015 4 commits
    • triple's avatar
      Easy way to defer type errors (implements #8353) · 5d48e67f
      triple authored
      Added load! and reload! commands, effectively setting
      "-fdefer-type-errors" before loading a file and
      unsetting it after loading if it has not been set before.
      
      Differential Revision: https://phabricator.haskell.org/D960
      5d48e67f
    • thomie's avatar
      Testsuite: add -ignore-dot-ghci to some tests · 124f3999
      thomie authored
      Since T10408A and T10408B would become the same now, delete T10408A and
      rename T10408B to T10408. The test without -ignore-dot-ghci (T10408A)
      didn't add anything (#10408).
      124f3999
    • Michal Terepeta's avatar
      Support MO_{Add,Sub}IntC and MO_Add2 in the LLVM backend · b1d1c652
      Michal Terepeta authored
      This includes:
      
      - Adding new LlvmType called LMStructP that represents an unpacked
        struct (this is necessary since LLVM's instructions the
        llvm.sadd.with.overflow.* return an unpacked struct).
      
      - Modifications to LlvmCodeGen.CodeGen to generate the LLVM
        instructions for the primops.
      
      - Modifications to StgCmmPrim to actually use those three instructions
        if we use the LLVM backend (so far they were only used for NCG).
      
      Test Plan: validate
      
      Reviewers: austin, rwbarton, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D991
      
      GHC Trac Issues: #9430
      b1d1c652
    • eir@cis.upenn.edu's avatar
      Fix some validation errors. · 889c81c6
      eir@cis.upenn.edu authored
      Summary:
      This fixes test cases T10019 and T10534
      
      The patch for T10019 should be back-ported to master as well.
      
      Posting via Phab as a way to distribute a patch against the
      ghc-7.10 branch, which I don't have push access to.
      
      Test Plan: validate
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie, bgamari, mzero
      
      Differential Revision: https://phabricator.haskell.org/D1036
      889c81c6
  9. 03 Jul, 2015 5 commits
    • thomie's avatar
      parser: Allow Lm (MODIFIER LETTER) category in identifiers · 6b01d3ce
      thomie authored
      Easy fix in the parser to stop regressions, due to Unicode 7.0 changing
      the classification of some prior code points.
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      
      Test Plan: `tests/parser/should_compile/T10196.hs`
      
      Reviewers: hvr, austin, bgamari
      
      Reviewed By: austin, bgamari
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D969
      
      GHC Trac Issues: #10196
      6b01d3ce
    • thomasw's avatar
      Fix Trac #10519 · f8563838
      thomasw authored
      Look through nested foralls when checking the validity of a partial type
      signature. The combination of D836 and D613 prompts this change.
      
      Test Plan: The test T10519 must pass
      
      Reviewers: simonpj, alanz, austin
      
      Reviewed By: simonpj, alanz, austin
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D994
      
      GHC Trac Issues: #10519
      f8563838
    • Zejun Wu's avatar
      Enable using qualified field of constructor in GHCi · 1d6ead7d
      Zejun Wu authored
      The -fimplicit-import-qualified made it possible to uses qualifed names
      in GHCi without explicitly import the modules. But it didn't work for
      field of constructor, this patch fixed this issue.
      
      Test Plan:
      cd testsuite/tests/rename/ && make
      cd testsuite/tests/ghci/ && make
      
      Reviewers: austin, simonpj
      
      Reviewed By: austin, simonpj
      
      Subscribers: bgamari, thomie
      
      Differential Revision: https://phabricator.haskell.org/D900
      
      GHC Trac Issues: #10439
      1d6ead7d
    • Ben Gamari's avatar
      Use `+RTS -G1` for more stable residency measurements (#9675) · b5e1944e
      Ben Gamari authored
      Reviewers: ezyang, austin, thomie
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1006
      
      GHC Trac Issues: #10557
      b5e1944e
    • Peter Trommler's avatar
      Implement PowerPC 64-bit native code backend for Linux · d3c1dda6
      Peter Trommler authored
      Extend the PowerPC 32-bit native code generator for "64-bit
      PowerPC ELF Application Binary Interface Supplement 1.9" by
      Ian Lance Taylor and "Power Architecture 64-Bit ELF V2 ABI Specification --
      OpenPOWER ABI for Linux Supplement" by IBM.
      The latter ABI is mainly used on POWER7/7+ and POWER8
      Linux systems running in little-endian mode. The code generator
      supports both static and dynamic linking. PowerPC 64-bit
      code for ELF ABI 1.9 and 2 is mostly position independent
      anyway, and thus so is all the code emitted by the code
      generator. In other words, -fPIC does not make a difference.
      
      rts/stg/SMP.h support is implemented.
      
      Following the spirit of the introductory comment in
      PPC/CodeGen.hs, the rest of the code is a straightforward
      extension of the 32-bit implementation.
      
      Limitations:
      * Code is generated only in the medium code model, which
        is also gcc's default
      * Local symbols are not accessed directly, which seems to
        also be the case for 32-bit
      * LLVM does not work, but this does not work on 32-bit either
      * Must use the system runtime linker in GHCi, because the
        GHC linker for "static" object files (rts/Linker.c) for
        PPC 64-bit is not implemented. The system runtime
        (dynamic) linker works.
      * The handling of the system stack (register 1) is not ELF-
        compliant so stack traces break. Instead of allocating a new
        stack frame, spill code should use the "official" spill area
        in the current stack frame and deallocation code should restore
        the back chain
      * DWARF support is missing
      
      Fixes #9863
      
      Test Plan: validate (on powerpc, too)
      
      Reviewers: simonmar, trofi, erikd, austin
      
      Reviewed By: trofi
      
      Subscribers: bgamari, arnons1, kgardas, thomie
      
      Differential Revision: https://phabricator.haskell.org/D629
      
      GHC Trac Issues: #9863
      d3c1dda6
  10. 30 Jun, 2015 2 commits
  11. 29 Jun, 2015 1 commit
    • Joachim Breitner's avatar
      Update performance numbers due to #10482 · 9b5df2a4
      Joachim Breitner authored
      The fix in 0b7e538a has regressed these benchmarks. I have recentered
      them rather than marking them as broken(10482), because nobody
      systematically watches the broken test cases, and we want to catch
      future regressions (or improvements!). #10482 is currently still open,
      presumably because this needs investigating.
      9b5df2a4
  12. 27 Jun, 2015 1 commit
  13. 26 Jun, 2015 3 commits