1. 13 Jul, 2015 7 commits
  2. 11 Jul, 2015 4 commits
  3. 10 Jul, 2015 6 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
    • thomie's avatar
      Delete the WayPar way · 9b1ebba2
      thomie authored
      Also remove 't' and 's' from ALL_WAYS; they don't exist.
      
      Differential Revision: https://phabricator.haskell.org/D1055
      9b1ebba2
    • 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
    • thomie's avatar
      Update .mailmap [skip ci] · 888026db
      thomie authored
      888026db
    • Simon Peyton Jones's avatar
      Better type wildcard errors · 9e86bf1b
      Simon Peyton Jones authored
      Adopts sugggestion in Trac #10224, comment:3
      9e86bf1b
    • Simon Peyton Jones's avatar
      Comments only · 0a3c43fe
      Simon Peyton Jones authored
      0a3c43fe
  4. 09 Jul, 2015 7 commits
    • Edward Z. Yang's avatar
      Make mkQualPackage more robust when package key is bad. · 6f1c0766
      Edward Z. Yang authored
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: bgamari, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1060
      
      GHC Trac Issues: #10624
      6f1c0766
    • Ben Gamari's avatar
      Add testcase for #10602 · a6359f26
      Ben Gamari authored
      a6359f26
    • Ben Gamari's avatar
      7dcf86f5
    • Simon Peyton Jones's avatar
      Infer types with flexible contexts · b5aabfbd
      Simon Peyton Jones authored
      Responding to Trac #10608 and Trac #10351, I've reverted
      to making type inference infer structured constraint like
          f :: C [t] => t -> t
      even if -XFlexibleContexts is not set.  That elicits an
      error message suggesting the flag.  The result is more
      helpful than the error message you get otherwise.
      b5aabfbd
    • Simon Peyton Jones's avatar
      White space only · c58dc1a1
      Simon Peyton Jones authored
      c58dc1a1
    • Simon Peyton Jones's avatar
      Document RULES and class methods · 889824dd
      Simon Peyton Jones authored
      Relates to Trac #10595
      889824dd
    • Ben Gamari's avatar
      Bitmap: Fix thunk explosion · b29633f5
      Ben Gamari authored
      Previously we would build up another `map (-N)` thunk
      for every word in the bitmap. Now we strictly accumulate the position
      and carry out a single ``map (`subtract` accum)``.
      
      `Bitmap.intsToBitmap` showed up in the profile while compiling a 
      testcase of #7450 (namely a program containing a record type with large 
      number of fields which derived `Read`). The culprit was 
      `CmmBuildInfoTables.procpointSRT.bitmap`. On the testcase (with 4096 
      fields), the profile previously looked like,
      
      ```
      	total time  =      307.94 secs   (307943 ticks @ 1000 us, 1 
      processor)
      	total alloc = 336,797,868,056 bytes  (excludes profiling 
      overheads)
      
      COST CENTRE              MODULE              %time %alloc
      
      lintAnnots               CoreLint             17.2   25.8
      procpointSRT.bitmap      CmmBuildInfoTables   11.3   25.2
      FloatOutwards            SimplCore             7.5    1.6
      flatten.lookup           CmmBuildInfoTables    4.0    3.9
      ...
      ```
      
      After this fix it looks like,
      ```
      	total time  =      256.88 secs   (256876 ticks @ 1000 us, 1 
      processor)
      	total alloc = 255,033,667,448 bytes  (excludes profiling 
      overheads)
      
      COST CENTRE              MODULE              %time %alloc
      
      lintAnnots               CoreLint             20.3   34.1
      FloatOutwards            SimplCore             9.1    2.1
      flatten.lookup           CmmBuildInfoTables    4.8    5.2
      pprNativeCode            AsmCodeGen            3.7    4.3
      simplLetUnfolding        Simplify              3.6    2.2
      StgCmm                   HscMain               3.6    2.1
      ```
      Signed-off-by: Ben Gamari's avatarBen Gamari <ben@smart-cactus.org>
      
      Test Plan: Validate
      
      Reviewers: austin, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1041
      
      GHC Trac Issues: #7450
      b29633f5
  5. 08 Jul, 2015 7 commits
  6. 07 Jul, 2015 9 commits
    • Ryan Scott's avatar
      Export more types from GHC.RTS.Flags (#9970) · 1967a52d
      Ryan Scott authored
      Export the data types `GiveGCStats`, `DoCostCentres`, `DoHeapProfiles`,
      and `DoTrace`, as well as the type synonyms `Time` and `RtsNat`. The
      above data types appear as fields in the `-Stats` data types in
      `GHC.RTS.Flags`, but since they only have `Show` instances, it is
      practically impossible to due anything useful with the above types
      unless they are exported.
      
      Reviewers: hvr, ekmett, austin, ezyang, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1030
      
      GHC Trac Issues: #9970
      1967a52d
    • 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
    • kgardas's avatar
      always use -fPIC on OpenBSD/AMD64 platform · d03bcfaa
      kgardas authored
      Summary:
      This patch switches -fPIC on for every invocation of GHC
      on OpenBSD/AMD64 platform. The reason is OpenBSD's support
      for PIE (PIC for executables) hence -fPIC is also needed
      for GHC compiled code.
      
      Fixes #10597
      
      Reviewers: austin
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1027
      d03bcfaa
    • Ben Gamari's avatar
      Generalize `Control.Monad.forever` · 6d69c3a2
      Ben Gamari authored
      This generalizes forever to depend on Applicative, rather than Monad.
      
      This was proposed a month ago
      (https://mail.haskell.org/pipermail/libraries/2015-May/025711.html).
      
      Differential Revision: https://phabricator.haskell.org/D1045
      6d69c3a2
    • 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
    • markus's avatar
      Fix todo in compiler/nativeGen: Rename Size to Format · 31580e2c
      markus authored
      This commit renames the Size module in the native code generator to
      Format, as proposed by a todo, as well as adjusting parameter names in
      other modules that use it.
      
      Test Plan: validate
      
      Reviewers: austin, simonmar, bgamari
      
      Reviewed By: simonmar, bgamari
      
      Subscribers: bgamari, simonmar, thomie
      
      Projects: #ghc
      
      Differential Revision: https://phabricator.haskell.org/D865
      31580e2c
    • 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
    • Simon Marlow's avatar
      Update comments around blackholes · ebfc2fb8
      Simon Marlow authored
      Test Plan: validate
      
      Reviewers: austin, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1047
      ebfc2fb8