1. 06 Sep, 2014 2 commits
  2. 05 Sep, 2014 2 commits
    • Joachim Breitner's avatar
      Revert "Do not test max_bytes_used et. al for haddock tests" · 55e4e5ad
      Joachim Breitner authored
      This reverts commit 498d7dd2. Again
      sorry for the noise. This is the last reverstion. I will fix this for
      good at around 12:13 CEST tomorrow :-)
    • Sergei Trofimovich's avatar
      pprC: declare extern cmm primitives as functions, not data · e18525fa
      Sergei Trofimovich authored
        The commit fixes incorrect code generation of
        integer-gmp package on ia64 due to C prototypes mismatch.
        Before the patch prototypes for "foreign import prim" were:
            StgWord poizh[];
        After the patch they became:
            StgFunPtr poizh();
      Long story:
      Consider the following simple example:
          {-# LANGUAGE MagicHash, GHCForeignImportPrim, UnliftedFFITypes #-}
          module M where
          import GHC.Prim -- Int#
          foreign import prim "poizh" poi# :: Int# -> Int#
      Before the patch unregisterised build generated the
      following 'poizh' reference:
          EI_(poizh); /* StgWord poizh[]; */
          FN_(M_poizh_entry) {
          // ...
      After the patch it looks this way:
          EF_(poizh); /* StgFunPtr poizh(); */
          FN_(M_poizh_entry) {
          // ...
      On ia64 it leads to different relocation types being generated:
        incorrect one:
          addl r14 = @ltoffx(poizh#)
          ld8.mov r14 = [r14], poizh# ; r14 = address-of 'poizh#'
        correct one:
          addl r14 = @ltoff(@fptr(poizh#)), gp ; r14 = address-of-thunk 'poizh#'
          ld8 r14 = [r14]
      '@fptr(poizh#)' basically instructs assembler to creates
      another obect consisting of real address to 'poizh' instructions
      and module address. That '@fptr' object is used as a function "address"
      This object is different for every module referencing 'poizh' symbol.
      All indirect function calls expect '@fptr' object. That way
      call site reads real destination address and set destination
      module address in 'gp' register from '@fptr'.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
  3. 04 Sep, 2014 7 commits
  4. 02 Sep, 2014 4 commits
  5. 01 Sep, 2014 13 commits
    • Austin Seipp's avatar
      Revert "Fix a couple test failures encountered when building on Windows" · 31f43e80
      Austin Seipp authored
      This reverts commit 9711f78f, as it's
      causing build phailures in phabricator.
    • Sergei Trofimovich's avatar
      systools: fix gcc version detecton on non-english locale · 4d4d0770
      Sergei Trofimovich authored
      ghc runs 'gcc -v' to check if we run under vanilla gcc
      or disaguised clang by checking for string
          "gcc version <something>"
      But this check does not always work as gcc has that string
      localized via gettext mechanism:
          (some gcc's locale strings)
          be.po-msgstr "версія gcc %s\n"
          da.po-msgstr "GCC version %s\n"
          de.po-msgstr "gcc-Version %s %s\n"
          el.po-msgstr "έκδοση gcc %s\n"
      To ping gcc to English locale we now override environment
      variable with 'LANGUAGE=en' value.
      Fixes Issue #8825
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      Test Plan: validate
      Reviewers: austin
      Reviewed By: austin
      Subscribers: simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D185
      GHC Trac Issues: #8825
    • Austin Seipp's avatar
      Fix a couple test failures encountered when building on Windows · 9711f78f
      Austin Seipp authored
      * Adjusts performance tests
      * Change ghcpkg05.stderr-mingw32 to match ghcpkg05.stderr
      Test Plan: Ran 'sh validate' and observed fewer test failures afterwards
      Reviewers: austin
      Reviewed By: austin
      Differential Revision: https://phabricator.haskell.org/D191
    • Austin Seipp's avatar
      Set llc and opt commands on all platforms · 918719b9
      Austin Seipp authored
      LLVM llc and opt commands should be set on all platforms, including
      Windows. If they're not, GHC tries to execute an unnamed executable,
      resulting in error messages such as:
          Error (figuring out LLVM version): : runInteractiveProcess: invalid argument (Invalid argument)
          <no location info>:
              Warning: Couldn't figure out LLVM version!
                       Make sure you have installed LLVM
      This regression was introduced in e6bfc596.
      Test Plan: Build GHC and test if --info shows sensible values of "LLVM llc command" and "LLVM opt command"
      Reviewers: austin, #ghc
      Reviewed By: austin, #ghc
      Subscribers: austin
      Projects: #ghc
      Differential Revision: https://phabricator.haskell.org/D190
      GHC Trac Issues: #7143
    • Arash Rouhani's avatar
      Refactor stack squeezing logic · 2f343b0c
      Arash Rouhani authored
      This patch is only to make the code easier to read.
      In addition, this is the first patch I send with the arc/differential workflow.
      So I start with something very small.
      Test Plan: I have not even tried to compile it yet.
      Reviewers: simonmar, austin
      Reviewed By: austin
      Subscribers: simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D189
    • Austin Seipp's avatar
      genprimopcode: GHC.Prim is Unsafe (#9449) · 3be704ab
      Austin Seipp authored
      Make sure the documentation for `GHC.Prim` adequately
      reflects the fact it is unsafe.
      Also clean up some 80-column violations.
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      Test Plan:
      Build documentation, check `GHC.Prim`. It's properly marked
      as `Unsafe`.
      Reviewers: hvr, goldfire, ezyang
      Reviewed By: ezyang
      Subscribers: nomeata, simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D182
      GHC Trac Issues: #9449
    • thomie's avatar
      Make Lexer.x more like the 2010 report · 64c9898f
      thomie authored
      I tried reading the lexer and the 2010 report side-by-side. Althought I didn't
      quite finish, here are some small discrepancies that I found.
      This revision may be low priority for reviewers, but having these commits just
      in my local repository does no good either.
      * $nl was defined, but not used anywhere
      * formfeed is a newline character
      * add \: to $ascsymbol
        For simplification reason, the colon (':') was added to the character
        set $ascsymbol in the 2010 report. Here we make the same change.
      * introduce the macros `qvarid`, `qconid`, `qvarsym` and `qconsym`
      * foreign is a Haskell keyword
      * add/update comments
      Test Plan: Harbormaster (is awesome)
      Reviewers: simonmar, hvr, austin
      Reviewed By: austin
      Subscribers: hvr, simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D180
    • thomie's avatar
      Cleanup and better documentation of sync-all script · 0f31c2e5
      thomie authored
      Rumor has it that sync-all is slowly on the way out. Now that all
      subrepositories have been turned into git submodules, sync-all might
      not be needed anymore. Nevertheless, here are some changes I had made
      while trying to understand why it existed in the first place:
      * update comments + help text
      * rename some variables for maintainability
          * s/branch_name/remote_name/
          origin is the name of a remote, not a branch
          * s/repo_base/remote_root/
          the word *remote* is key here
          * s/defaultrepo/default_root/
          this was a darcsism, and it doesn't refer to a repository but to the
          root directory of all repositories
      * small tweaks
      * .git can be a file nowadays
      * don't skip END actions on exceptions #8886
        reverts d523f9b3
      Test Plan:
      Why revert d523f9b3?
      I put an old haddock repository from
      http://darcs.haskell.org/haddock2.git back in my tree. Now, when running
      `sync-all get`, the following happens:
      1. I get a cryptic error saying:
          fatal: reference is not a tree:
          Unable to checkout '5412c262f403e52be45d607b34eb3a5806ea2a76' in
          submodule path 'utils/haddock'
          git failed: 256 at ./sync-all line 112.
      2. sync-all checks if maybe an old haddock repository is present
      3. I get a clear warning saying:
          You have an old haddock repository in your GHC tree!
          Please remove it (e.g. "rm -r utils/haddock"), and then run
          "./sync-all get" to get the new repository.
      Without commit d523f9b3 reverted, steps
      2 and 3 were skipped. The problem that commit tried to solve,
      is now solved with 7012ed85.
      Reviewers: nomeata, austin, hvr
      Reviewed By: austin, hvr
      Subscribers: simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D178
      GHC Trac Issues: #8886, #9212
    • thomie's avatar
      StringBuffer should not contain initial byte-order mark (BOM) · 9e939403
      thomie authored
      Just skipping over a BOM, but leaving it in the Stringbuffer, is not
      sufficient. The Lexer calls prevChar when a regular expression starts
      with '^' (which is a shorthand for '\n^'). It would never match on the
      first line, since instead of '\n', prevChar would still return '\xfeff'.
      Test Plan: validate
      Reviewers: austin, ezyang
      Reviewed By: austin, ezyang
      Subscribers: simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D176
      GHC Trac Issues: #6016
    • Sergei Trofimovich's avatar
      includes/Stg.h: remove unused 'wcStore' inline · e81e0280
      Sergei Trofimovich authored
      Commit reverts never used addition in cbd29e0a
      I think it might make sense to take advantage of TSO/RMO/PSO models
      tome day. But it's highly architecture/model-dependent thus it better
      be implemented in per-arch Native CodeGen.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      Test Plan: build-tested on UNREG-amd64
      Reviewers: simonmar, austin
      Reviewed By: austin
      Subscribers: simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D186
    • Sergei Trofimovich's avatar
      testsuite: update T6056 rule firing order · 01a27c9d
      Sergei Trofimovich authored
      Fixes testsuite failure.
      Summary: Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
      Test Plan: validate --slow
      Reviewers: simonpj, austin
      Reviewed By: austin
      Subscribers: simonmar, ezyang, carter
      Differential Revision: https://phabricator.haskell.org/D184
    • Edward Z. Yang's avatar
    • Herbert Valerio Riedel's avatar
      Remove incorrect property in docstring (re #9532) · 3241ac56
      Herbert Valerio Riedel authored
      The property
        countLeadingZeros . negate = const 0
      doesn't generally hold and it's not such a useful property to state, as
      it simply follows from "sign-bit == most-significant-bit" for FiniteBits
      types which use twos-complement representation for negative values, and
      even then it breaks down for 0...
      TLDR, remove thinko from documentation of `countLeadingZeros`
  6. 31 Aug, 2014 3 commits
  7. 30 Aug, 2014 3 commits
  8. 29 Aug, 2014 6 commits