- 01 Jul, 2014 10 commits
-
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
This is a tricky case exposed by Trac #9254. I'm surprised it hasn't shown up before, because it's happens when you use unsafePerformIO in the right way. Anyway, fixed now. See Note [Analysing with absent demand] in Demand.lhs
-
rwbarton authored
Summary: Check for integer overflow in allocate() (#9172) Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D36
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Summary: This patch is a prelude to implementation of hi-to-hi compatibility checking. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D35
-
Jan Stolarek authored
-
Joachim Breitner authored
-
rwbarton authored
For parallelism with the existing code. I don't think it should make any difference.
-
rwbarton authored
This is slightly hackish, but hp2ps is already convoluted enough that I don't feel bad about it.
-
- 30 Jun, 2014 7 commits
-
-
rwbarton authored
-
tibbe authored
This is the second attempt to add this functionality. The first attempt was reverted in 950fcae4, due to register allocator failure on x86. Given how the register allocator currently works, we don't have enough registers on x86 to support cmpxchg using complicated addressing modes. Instead we fall back to a simpler addressing mode on x86. Adds the following primops: * atomicReadIntArray# * atomicWriteIntArray# * fetchSubIntArray# * fetchOrIntArray# * fetchXorIntArray# * fetchAndIntArray# Makes these pre-existing out-of-line primops inline: * fetchAddIntArray# * casIntArray#
-
Austin Seipp authored
This reverts commit 2f8b4c93 . Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Jan Stolarek authored
-
Jan Stolarek authored
-
Iavor S. Diatchki authored
-
Iavor S. Diatchki authored
Programmers may provide a pragma immediately after the `instance` keyword to control the overlap/incoherence behavior for individual instances. For example: instance {-# OVERLAP #-} C a where ... I chose this notation, rather than the other two outlined in the ticket for these reasons: 1. Having the pragma after the type looks odd, I think. 2. Having the pragma after there `where` does not work for stand-alone derived instances I have implemented 3 pragams: 1. NO_OVERLAP 2. OVERLAP 3. INCOHERENT These correspond directly to the internal modes currently supported by GHC. If a pragma is specified, it will be used no matter what flags are turned on. For example, putting `NO_OVERLAP` on an instance will mark it as non-overlapping, even if `OVERLAPPIN_INSTANCES` is turned on for the module.
-
- 29 Jun, 2014 7 commits
-
-
Iavor S. Diatchki authored
This seems a bit cleaner conceptually because the overlap mode and running in safety mode are quite orthogonal. More pragmatically, it also makes it possible to use `OverlapMode` to let programmers pick the overlap mode for individual instances.
-
Herbert Valerio Riedel authored
I'm wondering whether it's sensible to omit so many typecheck testcases from the default validate test target. As for instance, TcNullaryTC has been failing since its introduction in c63a4650 (re #8993 ) and it seems to have gone unnoticed so far. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Herbert Valerio Riedel authored
Some numbers have decreased but the haddock numbers have generally increased noticeable again (see also last update in 970e5d99) This updates all numbers I noticed in the "fast" test-mode, *except* for the T9203 test-case on 32bit, which needs more investigation before bumping due to its significant increase: bytes allocated value is too high: Expected bytes allocated: 50000000 +/-5% Lower bound bytes allocated: 47500000 Upper bound bytes allocated: 52500000 Actual bytes allocated: 85093548 *** unexpected failure for T9203(normal)
-
Herbert Valerio Riedel authored
Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Herbert Valerio Riedel authored
In 1c0b5fdc (re #9224 ) `BinaryLiterals` was temporarily added to T4437's `expectedGhcOnlyExtensions` list. This can now reverted as Cabal has been made aware of `BinaryLiterals` (see haskell/cabal#1970 and haskell/cabal#1972). updates Cabal submodule Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Gabor Greif authored
-
Herbert Valerio Riedel authored
Now that the `libraries/dph` submodule is checked out always we need a different way to disable building DPH to save compile-time while developing GHC. This commit adds a new YES/NO Make variable `BUILD_DPH` that can be used inside mk/build.mk to control whether to build libraries/dph or not. The default setting is `BUILD_DPH=YES` (via `mk/config.mk.in`). This also changes `validate`'s flag `--no-dph` to explicitly disable DPH for the current validation run. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org> Test Plan: successful validates with `--fast --no-dph` Differential Revision: https://phabricator.haskell.org/D31
-
- 28 Jun, 2014 5 commits
-
-
Herbert Valerio Riedel authored
It's a bit confusing to have .gitignore files spread all over the filesystem. This commit tries to consolidate those into one .gitignore file per component. Moreover, we try to describe files to be ignored which happen to have a common identifying pattern by glob patterns. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Edward Z. Yang authored
Summary: What this fix does is reorder how we look for hi-boot files: we unconditionally check for an hi-boot file, and if we don't find one, we check the import graph to see if there was circularity. This is as opposed to the previous scheme (check for circularity, then load hi-boot file). This costs us an extra file system access every typecheck, which is not the best. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: Validate and check for compiler regressions in nofib Reviewers: simonpj, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D30
-
Gabor Greif authored
-
Gabor Greif authored
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- 27 Jun, 2014 8 commits
-
-
Herbert Valerio Riedel authored
Haskell2010 supports - base-10 (prefix-less), - base-8 (via `0[oO]`-prefix), and - base-16 (via `0[xX]`-prefix) integer literals. This commit adds syntax support for base-2 integer literals via the new `0[bB]` prefix. The use of a `0b` prefix for indicating binary literals is known from popular programming languages such as C++14, Perl, Python, Ruby, and Java. This syntax extension is disabled by default and can be enabled via the new `{-# LANGUAGE BinaryLiterals #-}` pragma and/or the new `-XBinaryLiterals` This new extensions requires to upgrade the `ExtsBitmap` type from `Word` to `Word64` as this adds a 33th flag which is not guaranteed to fit into a `Word`. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org> Differential Revision: https://phabricator.haskell.org/D22
-
Gabor Greif authored
-
Edward Z. Yang authored
This reverts commit 05120ecd.
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Herbert Valerio Riedel authored
This introduces an Enum type `ExtBits` for the currently used 32 flags and introduces a type-synonym `ExtsBitmap` for representing a set over `ExtBits`. While at it, the current `Int` was replaced by `Word` to have the compiler catch any missed use-sites. This will make it easy to swap the `Word`-representation of `ExtsBitmap` by something different, such as e.g. a `Word64` Test Plan: successful validate Differential Revision: https://phabricator.haskell.org/D23
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Simon Peyton Jones authored
This was shown up by Trac #9222.
-
Simon Peyton Jones authored
Just a minor refactoring
-
- 26 Jun, 2014 3 commits
-
-
Gabor Greif authored
-
Herbert Valerio Riedel authored
Also set `submodule.<name>.ignore=none` explicitly for the recently converted submodules, as those are not supposed to have untracked/unignored files lying around. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Edward Z. Yang authored
Summary: Normally, -fno-code does not generate interface files. However, if you want to use it to type check over multiple runs of GHC, you will need the interface files to check source files further down the dependency chain; -fwrite-interface does this for you. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: clean validate, and a new test-case Reviewers: simonpj Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D27
-