summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Minor edits to Backpack design docEdward Z. Yang2014-07-021-19/+92
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* remove redundant condition checking in profiling RTS codeosa12014-07-021-4/+2
| | | | | | | | | | | | | | Summary: A redundant condition checking is removed, as discussed in http://www.haskell.org/pipermail/ghc-devs/2014-June/005088.html Test Plan: validate Reviewers: simonmar, austin Reviewed By: austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D37
* includes/stg/SMP.h: use 'NOSMP' instead of never defined 'WITHSMP' (Trac #8789)Sergei Trofimovich2014-07-021-21/+21
| | | | | | | | | | | | | | | | | | Summary: git history does not contain state where 'WITHSMP' macro was ever defined. It should have always been '!NOSMP'. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: build tested Reviewers: austin, simonmar Reviewed By: austin, simonmar Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D33
* ghc-pkg register/update --enable-multi-instanceAustin Seipp2014-07-021-13/+36
| | | | | | | | | | | | | | | | | | | | | Summary: New flag to ghc-pkg register/update to lift the restriction on multiple instances of the same package version being in a db at once. Lifting the restriction is easy. The tricky bit is checking ghc does something sensible, but from the reading of the code it should treat such instances the same way it does with multiple instances between multiple DBs. We'll also need a way to unregister by installed package id. Test Plan: need to test that ghc is doing what we expect, at least if you use it like -hide-all-packages -package-id this -package-id that Reviewers: ezyang, simonmar Reviewed By: simonmar Subscribers: relrod Projects: #ghc Differential Revision: https://phabricator.haskell.org/D32
* compiler/ghc.mk: restore GhcHcOpts variable handling (Trac #8787)Sergei Trofimovich2014-07-021-3/+3
| | | | | | | | | | | | | | | | | | | Summary: wiki and mk/config.mk.in suggests setting GhcHcOpts for compiler-wide haskell flags. But it does not work for a while now (broke around ca07d92837fc1e3ae9be67bb7d9e7f1b8035b00f) Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: 'make' shows now ghc timing as it used to be Reviewers: simonmar, austin Reviewed By: austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D29
* reading/writing blocking FDs over FD_SETSIZE is broken (Partially Trac #9169)Sergei Trofimovich2014-07-021-1/+5
| | | | | | | | | | | | | | | | | | Summary: libraries/base/cbits/inputReady.c had no limits on file descriptors. Add a limit as non-threaded RTS does. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: none Reviewers: austin, simonmar Reviewed By: austin, simonmar Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D28
* Control CPP through settings file (#8683)Carter Tazio Schonwald2014-07-026-15/+142
| | | | | | | | | | | | | | | | Summary: Allow the CPP program and flag choices for GHC be configured via the the ghc settings file Test Plan: ran validate yesterday Reviewers: hvr, austin, mzero, simonmar Reviewed By: austin, mzero, simonmar Subscribers: mzero, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D26
* Finish up incomplete sectionsEdward Z. Yang2014-07-021-90/+230
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Finish the simple elaboration algoEdward Z. Yang2014-07-021-20/+41
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Fix variable name in allocate()Reid Barton2014-07-011-3/+3
|
* Backpack docs: Compilation, surface syntax, and package databaseEdward Z. Yang2014-07-011-92/+434
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Fixup nullary typeclasses (Trac #8993)Krzysztof Gogolewski2014-07-012-3/+8
| | | | | | | | | | | | | | Summary: Fix test broken after Trac #8993 Test Plan: validate Reviewers: austin, simonpj, hvr Reviewed By: austin, hvr Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D34
* Test Trac #9222Simon Peyton Jones2014-07-012-0/+8
|
* Fix demand analyser for unboxed typesSimon Peyton Jones2014-07-015-11/+78
| | | | | | | | | 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
* Check for integer overflow in allocate() (#9172)Reid Barton2014-07-019-1/+71
| | | | | | | | | | | | | | 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
* Partially fix #9003 by reverting bad numbering.Edward Z. Yang2014-07-011-13/+15
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Update Haddock submodule with Iavor's validate fix.Edward Z. Yang2014-07-011-0/+0
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Refactor checkHiBootIface so that TcGblEnv is not necessary.Edward Z. Yang2014-07-011-13/+28
| | | | | | | | | | | | | | | | 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
* Replace thenM/thenM_ with do-notation in RnExprJan Stolarek2014-07-011-126/+104
|
* Unbreak TcNullaryTC testcase, by using MPTCJoachim Breitner2014-07-011-1/+1
|
* Add a cast to new code in hp2psReid Barton2014-06-301-1/+1
| | | | | For parallelism with the existing code. I don't think it should make any difference.
* Avoid integer overflow in hp2ps (#9145)Reid Barton2014-06-301-3/+8
| | | | | This is slightly hackish, but hp2ps is already convoluted enough that I don't feel bad about it.
* Remove extraneous debugging output (#9071)Reid Barton2014-06-301-2/+1
|
* Re-add more primops for atomic ops on byte arraysJohan Tibell2014-06-3022-54/+1027
| | | | | | | | | | | | | | | | | | | | | | | This is the second attempt to add this functionality. The first attempt was reverted in 950fcae46a82569e7cd1fba1637a23b419e00ecd, 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#
* Revert "Fix obscure problem with using the system linker (#8935)"Austin Seipp2014-06-302-83/+32
| | | | | | This reverts commit 2f8b4c9330b455d4cb31c186c747a7db12a69251. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Remove dead code. Fix comment typo.Jan Stolarek2014-06-302-4/+2
|
* Document #8883 in the release notesJan Stolarek2014-06-301-1/+14
|
* Eliminate `Unify.validKindShape` (#9242)Iavor S. Diatchki2014-06-292-42/+2
|
* Overlapable pragmas for individual instances (#9242)Iavor S. Diatchki2014-06-297-29/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Factor-out the `OverlapMode` from `OverlapFlag`.Iavor S. Diatchki2014-06-295-36/+59
| | | | | | | | 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.
* Promote TcNullaryTC and TcCoercible to fast testsHerbert Valerio Riedel2014-06-291-2/+2
| | | | | | | | | 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 c63a465011b99eeafbb957074e54c2e6bbf751d9 (re #8993) and it seems to have gone unnoticed so far. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update 32bit & 64bit performance numbersHerbert Valerio Riedel2014-06-293-13/+26
| | | | | | | | | | | | | | | | Some numbers have decreased but the haddock numbers have generally increased noticeable again (see also last update in 970e5d99fb658b73) 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)
* Expect test failure for T8832 on 32bit (re #8832)Herbert Valerio Riedel2014-06-291-1/+1
| | | | Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update Cabal to BinaryLiterals-aware 1.20 versionHerbert Valerio Riedel2014-06-292-1/+0
| | | | | | | | | | | In 1c0b5fdc9f2b6ea8166cc565383d4cd20432343c (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>
* Tyop in commentGabor Greif2014-06-291-1/+1
|
* Add BUILD_DPH variable to GHC build-systemHerbert Valerio Riedel2014-06-294-6/+29
| | | | | | | | | | | | | | | | | | | 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
* Simplify .gitignore filesHerbert Valerio Riedel2014-06-2837-1865/+1704
| | | | | | | | | 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>
* Fix #9245 by always checking hi-boot for consistency if we find one.Edward Z. Yang2014-06-281-16/+24
| | | | | | | | | | | | | | | | | | | | | | 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
* Untabify and M-x whitespace cleanupGabor Greif2014-06-281-48/+42
|
* Whitespace onlyGabor Greif2014-06-281-61/+61
|
* Minor updates to Backpack docs.Edward Z. Yang2014-06-281-7/+10
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add -XBinaryLiterals language extension (re #9224)Herbert Valerio Riedel2014-06-2722-4/+181
| | | | | | | | | | | | | | | | | | | | | | | 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
* Comments onlyGabor Greif2014-06-272-2/+2
|
* Revert "Make -fno-write-interface to all modes of GHC, not just -fno-code."Edward Z. Yang2014-06-274-13/+6
| | | | This reverts commit 05120ecd95b2ebf9b096a95304793cd78be9506e.
* Make -fno-write-interface to all modes of GHC, not just -fno-code.Edward Z. Yang2014-06-274-6/+13
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Refactor extension-bitmap in LexerHerbert Valerio Riedel2014-06-271-196/+173
| | | | | | | | | | | | | | 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
* Fix docs typo.Edward Z. Yang2014-06-271-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* In TcValidity.checkAmbiguity, skolemise kind vars that appear free in the ↵Simon Peyton Jones2014-06-271-3/+8
| | | | | | kinds of type variables This was shown up by Trac #9222.
* More allDistinctTyVars from TcDeriv to TypeSimon Peyton Jones2014-06-272-12/+11
| | | | Just a minor refactoring
* s/KnownLit/KnownSymbol/g and a typo fixGabor Greif2014-06-271-3/+3
|