summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Rename iserv-slave to remote-iservwip/angerman/win32-crossMoritz Angermann2018-03-134-4/+34
|
* Cleanup LD detection.Moritz Angermann2018-03-132-2/+3
|
* Assume `C:` to be system libraries on windows.Moritz Angermann2018-03-131-0/+3
|
* Better logging in iserv-remoteMoritz Angermann2018-03-131-1/+2
|
* Adds iserv-slave (via CLI)Moritz Angermann2018-03-133-0/+54
|
* Adds iserv-proxy/cabal.projectMoritz Angermann2018-03-131-0/+4
|
* Move `iserv` into `utils` and change package name from `iserv-bin` to `iserv`Moritz Angermann2018-03-131-63/+0
| | | | | | | | | | | | | | | | | Summary: This is done for consistency. We usually call the package file the same name the folder has. The move into `utils` is done so that we can move the library into `libraries/iserv` and the proxy into `utils/iserv-proxy` and then break the `iserv.cabal` apart. This will make building the cross compiler with TH simpler, because we can build the library and proxy as separate packages. Test Plan: ./validate Reviewers: bgamari, goldfire, erikd Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4436
* adds .gitignoreMoritz Angermann2018-03-131-2/+1
|
* temp fix MakefileMoritz Angermann2018-03-131-2/+2
|
* Move `iserv` into `utils` and change package name from `iserv-bin` to `iserv`Moritz Angermann2018-03-1320-106/+618
| | | | | | | | | | | This is done for consistency. We usually call the package file the same name the folder has. The move into `utils` is done so that we can move the library into `libraries/iserv` and the proxy into `utils/iserv-proxy` and then break the `iserv.cabal` apart. This will make building the cross compiler with TH simpler, because we can build the library and proxy as separate packages. # Conflicts: # utils/iserv-proxy/iserv-proxy.cabal
* Bump Cabal submoduleBen Gamari2018-03-126-6/+4
|
* Remove splitEithers, use partitionEithers from baseÖmer Sinan Ağacan2018-03-125-15/+11
|
* testsuite: disable T13615 on non-smp targetsSergei Trofimovich2018-03-101-0/+1
| | | | | | | T13615 needs multicore support from RTS: T13615: unknown RTS option: -N15 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Fix a debug print in disassembler (#14905)Ömer Sinan Ağacan2018-03-101-1/+5
| | | | | | | | | | | | | | | | | | | When interpreter is not profiled (see `interpreterProfiled` in `DynFlags`) bytecode generator generates a NULL pointer as the cost centre of a `BRK_FUN` instruction: let cc | interpreterProfiled dflags = cc_arr ! tick_no | otherwise = toRemotePtr nullPtr let breakInstr = BRK_FUN (fromIntegral tick_no) (getUnique this_mod) cc return $ breakInstr `consOL` code We now take this into account when disassembling `BRK_FUN`. Reviewers: bgamari, simonmar, erikd Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4490
* UNREG: fix implicit declarations from pdep and pextSergei Trofimovich2018-03-093-10/+12
| | | | | | | | | | | | | | | | | | | | | | Unreg build failed as: $ ./configure --enable-unregisterised $ make HC [stage 1] libraries/ghc-prim/dist-install/build/GHC/PrimopWrappers.o ghc_1.hc: In function 'ghczmprim_GHCziPrimopWrappers_pdep8zh_entry': ghc_1.hc:1810:9: error: error: implicit declaration of function 'hs_pdep8'; did you mean 'hs_ctz8'? [-Werror=implicit-function-declaration] _c3jz = hs_pdep8(*Sp, Sp[1]); ^~~~~~~~ hs_ctz8 | 1810 | _c3jz = hs_pdep8(*Sp, Sp[1]); | ^ Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Compacted arrays are pinned for isByteArrayPinned#Simon Marlow2018-03-094-1/+29
| | | | | | | | | | | | Test Plan: New unit test Reviewers: andrewthad, niteria, bgamari, erikd Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14900 Differential Revision: https://phabricator.haskell.org/D4485
* configure: Accept suffix in OpenBSD triple's OS nameBen Gamari2018-03-081-1/+4
| | | | | | | | Reviewers: hvr Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4483
* Remove outdated documentation bits concerning -Wmissing-methodsRyan Scott2018-03-082-17/+4
| | | | | | | | | | | | | | | | | | | In commit 503219e3e1667ac39607021b2d9586260fbab32b, we stopped suppressing `-Wmissing-methods` warnings on class methods whose names begin with an underscore. However, it seems the users' guide documentation concerning this was never updated. Let's do so. Test Plan: Read it Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #12959 Differential Revision: https://phabricator.haskell.org/D4476
* ghc-prim: Silence -Wsync-nand warning in atomic.cBen Gamari2018-03-081-0/+6
| | | | | | | | | | | | GCC throws this warning to inform us that __sync_fetch_and_nand's behavior changed in GCC 4.4. However, this causes the build to fail when -Werror is used. Test Plan: Validate with -Werror Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4481
* ghc-prim: Reduce scope of Clang sync_fetch_and_nand workaroundBen Gamari2018-03-081-4/+9
| | | | | | | | | | | | | | As described in https://bugs.llvm.org/show_bug.cgi?id=8842, Clang removed the __sync_fetch_and_nand builtins due to inconsistency in GCC's behavior in 2010. However, GCC has since clarified the behavior of their builtins and consequently Clang re-added them in 2014. Consequently this workaround should no longer be necessary. Test Plan: Validate building with Clang Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4480
* Error message and doc improvements for #14335Ömer Sinan Ağacan2018-03-086-12/+27
| | | | | | | | | | | | | | | | | | | | - Show a more friendly error message when -fplugin is used with -fexternal-interpreter - Add a few words to users guide about the interaction with -fplugin and -fexternal-interpreter - Update test for #14335 Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14335 Differential Revision: https://phabricator.haskell.org/D4456
* Revert "GHCi: Don't remove shadowed bindings from typechecker scope."Ömer Sinan Ağacan2018-03-089-36/+12
| | | | | | | | | | | | | | | | | This reverts commit 59d7ee53906b9cee7f279c1f9567af7b930f8636 and enables the test for #14052. (See #14052 for the discussion) Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14052 Differential Revision: https://phabricator.haskell.org/D4478
* Add -fexternal-dynamic-refsSimon Marlow2018-03-088-18/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The `-dynamic` flag does two things: * In the code generator, it generates code designed to link against external shared libraries. References outside of the current module go through platform-specific indirection tables (e.g. the GOT on ELF). * It enables a "way", which changes which hi files we look for (`Foo.dyn_hi`) and which libraries we link against. Some specialised applications want the first of these without the second. (I could go into detail here but it's probably not all that important). This diff splits out the code-generation effects of `-dynamic` from the "way" parts of its behaviour, via a new flag `-fexternal-dynamic-refs`. Test Plan: validate Reviewers: niteria, bgamari, erikd Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4477
* Fix typo in description of -V RTS flagTej Chajed2018-03-071-1/+1
|
* Users Guide: Add that --numa is available on Windows tooSimon Jakobi2018-03-071-1/+1
| | | | Windows support was added in c93813d96b1da53a2ebd9c9ac5af6cc3e3443c43
* Fix a typo about pattern synonyms in documentation.HE, Tao2018-03-071-1/+1
|
* Use docker images with non-root usermrkkrp2018-03-073-31/+27
| | | | That image creates an unprivileged user to run the test suite under.
* Schedule.c: remove unreachable code blockÖmer Sinan Ağacan2018-03-072-22/+0
|
* Add bindist-list.uniq to .gitignoreÖmer Sinan Ağacan2018-03-071-0/+1
|
* Add perf test for #14052Ömer Sinan Ağacan2018-03-074-0/+3512
|
* Fix interpreter with profilingSimon Marlow2018-03-066-28/+35
| | | | | | | | | | | | | | | | | | | This was broken by D3746 and/or D3809, but unfortunately we didn't notice because CI at the time wasn't building the profiling way. Test Plan: ``` cd testsuite/test/profiling/should_run make WAY=ghci-ext-prof ``` Reviewers: bgamari, michalt, hvr, erikd Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14705 Differential Revision: https://phabricator.haskell.org/D4437
* Bump nofib submoduleBen Gamari2018-03-061-0/+0
|
* Make accumArray and accum stricterDavid Feuer2018-03-061-7/+23
| | | | | | | | | | | | | | | | | `accumArray` was lazier than documented. `accum` did not have documented strictness. The extra laziness allowed thunks to build up in the array. Force the results of applying the accumulating function to resolve. Reviewers: hvr, bgamari Reviewed By: bgamari Subscribers: alpmestan, rwbarton, thomie, carter GHC Trac Issues: #14785 Differential Revision: https://phabricator.haskell.org/D4403
* cmm/: Avoid using lazy left foldsMichal Terepeta2018-03-066-21/+27
| | | | | | | | | | | | | | | | | | This basically replaces all uses of `foldl` with `foldl'`. I've looked at all the call sites and there doesn't seem to be any reason to prefer the lazy version. Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com> Test Plan: ./validate Reviewers: bgamari, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4463
* Correct -g flag descriptionBartosz Nitka2018-03-061-2/+3
| | | | | | | | | | | | | | | | Since 7aaeaf81ea95c36fe1dc4da449cf6092a792fd09 `-g1` and `-g2` are actually different. The tutorial below is correct. Test Plan: harbormaster Reviewers: bgamari, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4471
* Allow top level ticked string literalsBartosz Nitka2018-03-0615-50/+183
| | | | | | | | | | | | | | | | | | | | This reverts f5b275a239d2554c4da0b7621211642bf3b10650 and changes the places that looked for `Lit (MachStr _))` to use `exprIsMbTickedLitString_maybe` to unwrap ticks as necessary. Also updated relevant comments. Test Plan: I added 3 new tests that previously reproduced. GHC HEAD now builds with -g Reviewers: simonpj, simonmar, bgamari, hvr, goldfire Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14779 Differential Revision: https://phabricator.haskell.org/D4470
* Schedule.c: remove a redundant CPP guardÖmer Sinan Ağacan2018-03-061-2/+0
| | | | (the CPP guard is already wrapped with the same guard in line 1549)
* add CCX=$(CXX) to integer-gmpMoritz Angermann2018-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This came up when trying to build GHC HEAD with nix. We do not set CCX for integer-gmp when running ./configure. We do this however for libffi. The result is, that if CCX is not set, we default to the system one, of which there might be none (as in nixos's case). This will not show on a debian+nix or similar setup, where the system `cxx` is still in place, and only shows up when the system tries hard to sandbox everything (even cxx) as nixOS does. We use `CXX`, which is set to either `clang` or `CC_STAGE1`, and also usedfor `CC`, similar to what we do for libffi.c Test Plan: ./validate Reviewers: bgamari, hvr Reviewed By: hvr Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4473
* `--via-asm` only for windows targetsMoritz Angermann2018-03-061-2/+6
| | | | | | | | | | Reviewers: trofi, bgamari Reviewed By: trofi, bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4467
* Fixup include of gmp/config.mk to use new locationHerbert Valerio Riedel2018-03-051-1/+1
| | | | | | | | | | | | | This wasn't spotted rightaway in 8f0b2f5eadf0fcb47c581907205a9db686214a69 because the include-site deliberately ignored include-errors as a Hack with the justification below: > Hack. The file gmp/config.mk doesn't exist yet after running ./configure in > the toplevel (ghc) directory. To let some toplevel make commands such as > sdist go through, right after ./configure, don't consider this an error. This may have contributed to #14891.
* Simplify rnLHsInstTypeSimon Peyton Jones2018-03-056-20/+25
| | | | | | | | | | | This patch is preparatory for the main fix for Trac #13324 Here, we simplify rnLHsInstType so that it does not try to figure out the class name. This turns out to have a good (rather than bad) effect on error messages, and it prepares the way for the main event. Plus, less code!
* Fix #14888 by adding more special cases for ArrowTRyan Scott2018-03-055-0/+33
| | | | | | | | | | | | | | | | | | | | | Summary: There were previously some situations where `(->)` would not be desugared or reified as `ArrowT`, leading to various oddities such as those observed in #14888. We now uniformly treat `(->)` as `ArrowT` in Template Haskell–world by checking for any tycon that has the same name as `(->)`, and converting that to `ArrowT`. Test Plan: make test TEST=T14888 Reviewers: goldfire, bgamari, simonpj Reviewed By: goldfire, simonpj Subscribers: simonpj, rwbarton, thomie, carter GHC Trac Issues: #14888 Differential Revision: https://phabricator.haskell.org/D4466
* Respect Note [The tcType invariant]Simon Peyton Jones2018-03-053-14/+95
| | | | | | | | | | | | | | | | | | | | | | | I tried to do this with commit 0a12d92a8f65d374f9317af2759af2b46267ad5c Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Wed Dec 13 12:53:26 2017 +0000 Further improvements to well-kinded types The typechecker has the invariant that every type should be well-kinded as it stands, without zonking. See Note [The well-kinded type invariant] in TcType. That invariant was not being upheld, which led to Trac #14174. I fixed part of it, but T14174a showed that there was more. This patch finishes the job. But I didn't get it quite right as Trac #14873 showed. This patch fixes the problem; although I am still a bit unhappy. (See "A worry" in the HsApp case of tc_infer_hs_type.)
* Wombling around in Trac #14808Simon Peyton Jones2018-03-053-17/+33
| | | | | | | | | | | Comment:4 in Trac #14808 explains why I'm unhappy with the current state of affairs -- at least the lack of documentation. This smallpatch does nothing major: * adds comments * uses existing type synonyms more (notably FreeKiTyVarsWithDups) * adds another test case to T14808
* Bump Cabal submoduleBen Gamari2018-03-031-0/+0
|
* Bump Cabal submodule to 2.2Moritz Angermann2018-03-039-12/+34
| | | | | | | | | | | | | | Requires some ghc-cabal changes as well. Test Plan: ./validate Reviewers: hvr, bgamari Reviewed By: bgamari Subscribers: hsyl20, erikd, alpmestan, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4453
* Bump hsc2hs submoduleMoritz Angermann2018-03-041-0/+0
| | | | This should have been part of 5f6fcf78.
* Parenthesize (() :: Constraint) in argument positionRyan Scott2018-03-034-7/+13
| | | | | | | | | | | | | | | | | | | Summary: A simple oversight in the pretty-printer lead to a special case for `() :: Constraint` not being parenthesized correctly when used in an argument position. Easily fixed with a `maybeParen`. Test Plan: make test TEST=T14796 Reviewers: alanz, goldfire, bgamari, simonpj Reviewed By: bgamari, simonpj Subscribers: simonpj, rwbarton, thomie, carter GHC Trac Issues: #14796 Differential Revision: https://phabricator.haskell.org/D4408
* Fix the coverage checker's treatment of existential tyvarsRyan Scott2018-03-024-6/+188
| | | | | | | | | | | | | | | | | | | | | | | | Previously, the pattern-match coverage checker was far too eager to freshen the names of existentially quantified type variables, which led to incorrect sets of type constraints that misled GHC into thinking that certain programs that involve nested GADT pattern matches were non-exhaustive (when in fact they were). Now, we generate extra equality constraints in the ConCon case of the coverage algorithm to ensure that these fresh tyvars align with existing existential tyvars. See `Note [Coverage checking and existential tyvars]` for the full story. Test Plan: make test TEST="T11984 T14098" Reviewers: gkaracha, bgamari, simonpj Reviewed By: simonpj Subscribers: simonpj, rwbarton, thomie, carter GHC Trac Issues: #11984, #14098 Differential Revision: https://phabricator.haskell.org/D4434
* Correct default -A value in RTS flag usage infoSimon Jakobi2018-03-021-1/+1
| | | | | | | | | | Reviewers: bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4441