1. 26 Jun, 2015 7 commits
    • Simon Peyton Jones's avatar
      Don't float out alpha[sig] ~ Int · b69dc731
      Simon Peyton Jones authored
      This is just a small twiddle to TcSimplify.usefulToFloat
      See Note [Which equalities to float].
      b69dc731
    • Simon Peyton Jones's avatar
      Fix addDataConStrictness · 9014a7ee
      Simon Peyton Jones authored
      See Note [Add demands for strict constructors].
      
      The new bit is the test for isAbsDmd in addDataConStrictness.
      There was a cryptic note that said that this function
      should add a seqDmd even for Absent arguments, but that
      is definitely a bad thing (as the Note now says), causing
      unused arguments to be passed to the worker.
      
      Easy fix!
      9014a7ee
    • Simon Peyton Jones's avatar
      Minor fix to free-vars in RnTypes · cc0dba1e
      Simon Peyton Jones authored
      A type wild-card should't appear in the "uses"
      free-variable set.
      cc0dba1e
    • Simon Peyton Jones's avatar
      Allow recursive unwrapping of data families · 0b7e538a
      Simon Peyton Jones authored
      When doing strictness analysis, we need to look inside products.
      To avoid unpacking infinitely, we must be careful about
      infinite types.  That in turn is controlled by TyCon.checkRecTc.
      
      For data families like
         data instance T (a,b) = MkT a (T b)
      we want to unpack the thing recursively for types like
        T (Int, (Int, (Int, Int)))
      
      This patch elaborates the checkRecTc mechanism in TyCon, to
      maintain a *count* of how many times a TyCon has shown up,
      rather than just a boolean.
      
      A simple change, and a useful one.  Fixes Trac #10482.
      0b7e538a
    • Simon Peyton Jones's avatar
      Use a Representaional coercion for data families · ff8a6716
      Simon Peyton Jones authored
      When we have
        data instance T (a,b) = MkT a b
      we make a represntation type
        data TPair a b = MkT a b
      plus an axiom to connect the two
        ax a b :: T (a,b)  ~R  TPair a b
      
      Previously this was a Nominal equality, and that worked ok
      but seems illogical since Nominal equalities are between
      types that the programmer thinks of as being equal.  But
      TPair is not visible to the programmer; indeed we call it
      the "representation TyCon".  So a Representational equality
      seems more suitable here.
      ff8a6716
    • Simon Peyton Jones's avatar
      Improve pretty-printing for CoPat · 9195927d
      Simon Peyton Jones authored
      9195927d
    • Simon Peyton Jones's avatar
      White space only · 3edc1868
      Simon Peyton Jones authored
      3edc1868
  2. 25 Jun, 2015 4 commits
  3. 24 Jun, 2015 3 commits
  4. 23 Jun, 2015 4 commits
    • thomie's avatar
      Build system: delete unused variables in config.mk.in · 95d50310
      thomie authored
      GhcStage1DefaultNewCodegen, GhcStage2DefaultNewCodegen,
      GhcStage3DefaultNewCodegen and GhcCompilerWays are not used anywhere.
      95d50310
    • Edward Z. Yang's avatar
      Make $1 in $1_$2_$3_FOO actually be directory. · 73a6265e
      Edward Z. Yang authored
      
      
      Summary:
      Previously, we used $1_$2_PACKAGE_KEY to parametrize $1.  But the
      documentation says that $1 should be the directory...  and we're now
      putting the libraries in $1_$2_LIB_NAME.  So use /that/.  This is just
      alpha-renaming, so as long as we're consistent, there's no material
      difference.)
      
      I also fixed a bug of a package ID calculation which I missed first
      time around, which was tickled by this change.
      
      BTW, this means DEP_KEYS and TRANSITIVE_DEP_KEYS are unused, so
      remove them from ghc-cabal.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: austin
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1010
      73a6265e
    • Sergei Trofimovich's avatar
      powerpc: add basic support for PLT relocations (#10402) · c0847967
      Sergei Trofimovich authored
      Commit a93ab43a
      
      
      enabled support for proper PIC relocations from
      assembler.
      
      Commit adds support for relocations of type:
          R_PPC_REL16_HI
          R_PPC_REL16_HA
          R_PPC_REL16_LO
          R_PPC_PLTREL24
      
      They are used only when GHC is built in
          DYNAMIC_GHC_PROGRAMS = NO
      mode.
      
      Verified by running the following test:
      
          // cat a.c
          #include <stdio.h>
      
          void ffi_a_hello (int i) {
              fprintf (stderr, "WEEEEEEEE: i=%d\n", i);
          }
      
          -- cat A.hs
          {-# LANGUAGE ForeignFunctionInterface #-}
          module A where
      
          import Foreign.C
      
          foreign import ccall "ffi_a_hello" a :: CInt -> IO ()
      
          # ghc -fPIC -c a.c -fforce-recomp
          # ghc -fPIC -c A.hs -fforce-recomp
          # ghc --interactive ./a.o A
          ...
          *A> a 42
          WEEEEEEEE: i=42
      See gory details in Trac #10402.
      Signed-off-by: default avatarColin Watson <cjwatson@debian.org>
      Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
      
      Reviewed By: bgamari, austin
      
      Differential Revision: https://phabricator.haskell.org/D996
      
      GHC Trac Issues: #10402
      c0847967
    • Simon Peyton Jones's avatar
      Further elaborate Trac #10403 test · 55843f1c
      Simon Peyton Jones authored
      Adding app1, app2, as requested in the ticket
      55843f1c
  5. 22 Jun, 2015 5 commits
  6. 21 Jun, 2015 2 commits
  7. 20 Jun, 2015 10 commits
  8. 19 Jun, 2015 4 commits
  9. 18 Jun, 2015 1 commit