Skip to content
Snippets Groups Projects
  1. Oct 05, 2014
    • Herbert Valerio Riedel's avatar
      Implement `MIN_VERSION_GLASGOW_HASKELL()` macro · 3549c952
      Herbert Valerio Riedel authored
      This exposes the `cProjectPatchLevel{1,2}` value at the CPP level to
      allow it to be used in CPP conditionals. Concretely, GHC 7.10.2.20150623
      would result in
      
        #define __GLASGOW_HASKELL__             710
        #define __GLASGOW_HASKELL_PATCHLEVEL1__ 2
        #define __GLASGOW_HASKELL_PATCHLEVEL2__ 20150623
      
      while GHC 7.10.3 results in
      
        #define __GLASGOW_HASKELL__             710
        #define __GLASGOW_HASKELL_PATCHLEVEL1__ 3
      
      and finally GHC 7.9.20141009 results in
      
        #define __GLASGOW_HASKELL__             709
        #define __GLASGOW_HASKELL_PATCHLEVEL1__ 20141009
      
      As it's error-prone to properly express CPP conditionals for testing GHC
      multi-component versions, a new macro `MIN_VERSION_GLASGOW_HASKELL()` is
      provided (also via the new CPP include file `ghcversion.h`)
      
      Finally, in order to make it easier to define the new CPP macro
      `MIN_VERSION_GLASGOW_HASKELL()`, a new default-included
      `include/ghcversion.h` is used for the new CPP definitions.
      
      Reviewed By: ekmett, austin, #ghc
      
      Differential Revision: https://phabricator.haskell.org/D66
      3549c952
  2. Oct 04, 2014
    • Sergei Trofimovich's avatar
      ghc.mk: fix list for dll-split on GHCi-less builds · 2a8ea474
      Sergei Trofimovich authored
      
      To reproduce build failure it's enough to try
      to build GHC on amd64 with the following setup:
      
          $ cat mk/build.mk
          # for #9552
          GhcWithInterpreter = NO
      
      It gives:
      
          Reachable modules from DynFlags out of date
          Please fix compiler/ghc.mk, or building DLLs on Windows may break (#7780)
          Redundant modules: Bitmap BlockId ... <list of 42 modules>
          <make error>
      
      dll-split among other things makes sure
      all mentioned modules are used by DynFlags.
      '#ifdef GHCI' keeps is from happening.
      
      Patch moves those 42 modules under
      'GhcWithInterpreter' guard.
      
      Fixes Issue #9552
      
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      2a8ea474
  3. Oct 03, 2014
  4. Oct 02, 2014
    • Edward Z. Yang's avatar
      arclint: Don't complain about tabs unless it's inside the diff. · 2b59c7ac
      Edward Z. Yang authored
      Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: none
      
      Reviewers: austin
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D303
      2b59c7ac
    • Joachim Breitner's avatar
      Really fix dropWhileEndLE commit · eb353399
      Joachim Breitner authored
      which I fixed before, but failed to pass -a to "git commit --amend"
      eb353399
    • Sergei Trofimovich's avatar
      rts/PrimOps.cmm: follow '_static_closure' update · eb191ab6
      Sergei Trofimovich authored
      
      Caught by UNREG build failure:
      
            rts_dist_HC rts/dist/build/PrimOps.o
          /tmp/ghc8613_0/ghc8613_2.hc: In function 'cf8_entry':
      
          /tmp/ghc8613_0/ghc8613_2.hc:1942:13:
               error: 'base_ControlziExceptionziBase_nestedAtomically_static_closure' undeclared (first use in this function)
               R1.w = (W_)&base_ControlziExceptionziBase_nestedAtomically_static_closure;
                           ^
      
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      eb191ab6
    • David Feuer's avatar
      Use dropWhileEndLE p instead of reverse . dropWhile p . reverse · 9bf5228f
      David Feuer authored and Joachim Breitner's avatar Joachim Breitner committed
      Summary: Using `dropWhileEndLE` tends to be faster and easier to read
      than the `reverse . dropWhile p . reverse` idiom. This also cleans up
      some other, nearby, messes. Fix #9616 (incorrect number formatting
      potentially leading to incorrect numbers in output).
      
      Test Plan: Run validate
      
      Reviewers: thomie, rwbarton, nomeata, austin
      
      Reviewed By: nomeata, austin
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Projects: #ghc
      
      Differential Revision: https://phabricator.haskell.org/D259
      
      GHC Trac Issues: #9623, #9616
      
      Conflicts:
      	compiler/basicTypes/OccName.lhs
      9bf5228f
    • Austin Seipp's avatar
      d6d5c127
    • Edward Z. Yang's avatar
      Rename _closure to _static_closure, apply naming consistently. · 35672072
      Edward Z. Yang authored
      
      Summary:
      In preparation for indirecting all references to closures,
      we rename _closure to _static_closure to ensure any old code
      will get an undefined symbol error.  In order to reference
      a closure foobar_closure (which is now undefined), you should instead
      use STATIC_CLOSURE(foobar).  For convenience, a number of these
      old identifiers are macro'd.
      
      Across C-- and C (Windows and otherwise), there were differing
      conventions on whether or not foobar_closure or &foobar_closure
      was the address of the closure.  Now, all foobar_closure references
      are addresses, and no & is necessary.
      
      CHARLIKE/INTLIKE were not changed, simply alpha-renamed.
      
      Part of remove HEAP_ALLOCED patch set (#8199)
      
      Depends on D265
      
      Signed-off-by: default avatarEdward Z. Yang <ezyang@mit.edu>
      
      Test Plan: validate
      
      Reviewers: simonmar, austin
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D267
      
      GHC Trac Issues: #8199
      35672072
    • Edward Z. Yang's avatar
      Properly generate info tables for static closures in C--. · 178eb906
      Edward Z. Yang authored
      
      Summary:
      Previously, we assumed all objects declared in C-- were not-static, even
      ones which were CONSTR_NOCAF_STATIC.  This used to be harmless, but now
      we need this information to be correct.
      
      Part of remove HEAP_ALLOCED patch set (#8199)
      
      Depends on D264
      
      Signed-off-by: default avatarEdward Z. Yang <ezyang@mit.edu>
      
      Test Plan: validate
      
      Reviewers: simonmar, austin
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D265
      
      GHC Trac Issues: #8199
      178eb906
    • Edward Z. Yang's avatar
      BC-breaking changes to C-- CLOSURE syntax. · 3b5a840b
      Edward Z. Yang authored
      
      Summary:
      Previously, there were two variants of CLOSURE in C--:
      
          - Top-level CLOSURE(foo_closure, foo, lits...), which defines a new
            static closure and gives it a name, and
      
          - Array CLOSURE(foo, lits...), which was used for the static char
            and integer arrays.
      
      They used the same name, were confusing, and didn't even generate
      the correct internal label representation!  So now, we have two
      new forms:
      
          - Top-level CLOSURE(foo, lits...) which automatically generates
            foo_closure (along with foo_info, which we were doing already)
      
          - Array ANONYMOUS_CLOSURE(foo, lits...) which doesn't generate
            a foo_closure identifier.
      
      Part of remove HEAP_ALLOCED patch set (#8199)
      
      Signed-off-by: default avatarEdward Z. Yang <ezyang@mit.edu>
      
      Test Plan: validate
      
      Reviewers: simonmar, austin
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D264
      
      GHC Trac Issues: #8199
      3b5a840b
    • Edward Z. Yang's avatar
      Place static closures in their own section. · b23ba2a7
      Edward Z. Yang authored
      
      Summary:
      The primary reason for doing this is assisting debuggability:
      if static closures are all in the same section, they are
      guaranteed to be adjacent to one another.  This will help
      later when we add some code that takes section start/end and
      uses this to sanity-check the sections.
      
      Part of remove HEAP_ALLOCED patch set (#8199)
      
      Signed-off-by: default avatarEdward Z. Yang <ezyang@mit.edu>
      
      Test Plan: validate
      
      Reviewers: simonmar, austin
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D263
      
      GHC Trac Issues: #8199
      b23ba2a7
    • Edward Z. Yang's avatar
      Use LinkerInternals.h for exitLinker. · 644c76a3
      Edward Z. Yang authored
      Part of remove HEAP_ALLOCED patch set (#8199)
      
      Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonmar, austin
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D262
      
      GHC Trac Issues: #8199
      644c76a3
  5. Oct 01, 2014
  6. Sep 29, 2014
Loading