summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Limit number of concurrent testswip/high_memory_usageAlan Zimmerman2015-06-011-20/+20
|
* Newline after type of allocate().Edward Z. Yang2015-06-011-1/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add (failing) test case for #7672.Edward Z. Yang2015-06-014-0/+8
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Typofix: missing period. (#10460)Edward Z. Yang2015-06-011-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add information about allowed foreign prim args, see #10460.Edward Z. Yang2015-06-011-1/+7
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Replace tabs with spaces.Edward Z. Yang2015-06-011-118/+118
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Comments onlySimon Peyton Jones2015-06-011-5/+12
|
* Use named fields in SimplCont.Select constructorSimon Peyton Jones2015-06-012-30/+39
| | | | Just refactoring
* Add some missing seqs to Coercion.seqCoSimon Peyton Jones2015-06-011-3/+3
|
* Move seqExpr, seqIdInfo etc to CoreUtilsSimon Peyton Jones2015-06-015-111/+112
| | | | Refactoring only : it just brings some scattered "seq" code together
* Use seq rather than (==) to force the sizeSimon Peyton Jones2015-06-011-1/+1
| | | | Just a minor refactoring
* Fix dropped event registrationsBen Gamari2015-06-012-14/+33
| | | | | | | | | | | | | | | | D347 introduced a bug wherein the event manager would drop registrations that should be retained during processing. This occurs when an fd has multiple registrations, not all of which fire, as well as the case of multi-shot registrations. I also do some general house-keeping, try to better document things, and fix a bug which could result in unnecessary calls to `epoll_ctl` Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D849 GHC Trac Issues: #10317
* Add constraint creation functions to TcPluginM APIAdam Gundry2015-06-014-15/+81
| | | | | | | | | | | | | | | | | Summary: This extends the TcPluginM API with functions to create new constraints, as described here: https://ghc.haskell.org/trac/ghc/wiki/Plugins/TypeChecker#Post-7.10changestoTcPluginMAPI Test Plan: validate and hope Reviewers: austin, yav, christiaanb Reviewed By: christiaanb Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D909
* ApiAnnotations : strings in warnings do not return SourceTextAlan Zimmerman2015-06-0134-119/+390
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The strings used in a WARNING pragma are captured via strings :: { Located ([AddAnn],[Located FastString]) } : STRING { sL1 $1 ([],[L (gl $1) (getSTRING $1)]) } .. The STRING token has a method getSTRINGs that returns the original source text for a string. A warning of the form {-# WARNING Logic , mkSolver , mkSimpleSolver , mkSolverForLogic , solverSetParams , solverPush , solverPop , solverReset , solverGetNumScopes , solverAssertCnstr , solverAssertAndTrack , solverCheck , solverCheckAndGetModel , solverGetReasonUnknown "New Z3 API support is still incomplete and fragile: \ \you may experience segmentation faults!" #-} returns the concatenated warning string rather than the original source. This patch now deals with all remaining instances of getSTRING to bring in a SourceText for each. This updates the haddock submodule as well, for the AST change. Test Plan: ./validate Reviewers: hvr, austin, goldfire Reviewed By: austin Subscribers: bgamari, thomie, mpickering Differential Revision: https://phabricator.haskell.org/D907 GHC Trac Issues: #10313
* Update binary submodule to 0.7.5.0 releaseHerbert Valerio Riedel2015-06-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | Quoting the changelog, this pulls in the following fixes: binary-0.7.5.0 -------------- - Fix performance bug that was noticable when you get a big strict ByteString and the input to the decoder consists of many small chunks. - https://github.com/kolmodin/binary/issues/73 - https://github.com/kolmodin/binary/pull/76 - Fix memory leak when decoding Double and Float. - Commit 497a181c083fa9faf7fa3aa64d1d8deb9ac76ecb - We now require QuickCheck >= 2.8. Remove our version of arbitrarySizedNatural. binary-0.7.4.0 -------------- - Some invalid UTF-8 strings caused an exception when decoded. Those errors will now now fail in the Get monad instead. See issue 70. Patch contributed by @ttuegel.
* ApiAnnotations : rationalise testsAlan Zimmerman2015-06-0139-1807/+388
| | | | | | | | | | | | | | | | | | | | Summary: At the moment the API Annotations tests have a driver that has been copy/pasted multiple times. Compile it once, and run it for each test case. Test Plan: ./validate Reviewers: hvr, austin Reviewed By: austin Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D913 GHC Trac Issues: #10452
* rts: Fix aarch64 implementation of xchgErik de Castro Lopo2015-06-011-4/+2
| | | | | | | | | | | | | | | | In the previous implementation, the `stlxr` instruction clobbered the value that was supposed to be returned by the the `xchg` function. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> Test Plan: build on aarch64 Reviewers: austin, bgamari, rwbarton Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D932
* compiler/specialise: shut match_co up a bitAustin Seipp2015-06-011-2/+6
| | | | | | | | | | | | This stray pprTrace is quite annoying and makes our build logs a bit bigger (hundreds of lines of occurrences), so we should probably just get rid of it. Kept under DEBUG for future brave hackers. Signed-off-by: Austin Seipp <austin@well-typed.com> Reviewed By: thomie, nomeata Differential Revision: https://phabricator.haskell.org/D934
* In ghci linker, link against all previous temp sos (#10322)Reid Barton2015-06-012-13/+12
| | | | | | | | | | | The OS X dlopen() appears to only resolve undefined symbols in the direct dependencies of the shared library it is loading. Reviewed By: trommler, austin Differential Revision: https://phabricator.haskell.org/D852 GHC Trac Issues: #10322
* Catch canonicalizePath exceptions, fix #10101Flaviu Andrei Csernik (archblob)2015-06-014-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Introduce by #95 'canonicalizePath' throws and exception when given an invalid file in a call to 'sameFile'. There are two cases when this can happen when using ghci: 1) If there is an error at the interactive prompt, "<interactive>" file is searched for and not found. 2) If there is an error in any loaded file and editing an inexistent/new file with 'e: foo'. Both cases are now tested. Test Plan: validate Reviewers: austin, #ghc Reviewed By: austin, #ghc Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D930 GHC Trac Issues: #10101
* Travis: use validate --quiet to prevent hitting log file limitsThomas Miedema2015-05-311-2/+2
| | | | | | | Currently, this will use `make -s` instead of `make`, such that `make` doesn't echo the commands it's going to run. And second, it calls the testdriver with a lower verbosity, such that the shell commands it runs don't get printed either.
* Don't run T9330fail on Windows, no clobber occurs. #9930Edward Z. Yang2015-05-301-1/+3
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* linker_unload working on Windows, fixes #8292.Edward Z. Yang2015-05-301-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Build system: don't build runghc if GhcWithInterpreter=NO (#10261)Thomas Miedema2015-05-301-0/+4
| | | | | | | | | | | | | To test: * run `make clean` in utils/runghc * make sure inplace/bin doesn't contain runghc * set GhcWithInterpreter=NO in build.mk * run `make` * note that inplace/bin doesn't contain runghc It won't be installed either, nor will runhaskell. Differential Revision: https://phabricator.haskell.org/D920
* Build system: also clean the inplace wrapperThomas Miedema2015-05-301-0/+2
| | | | | | | | | | | | | | | | | Running `make clean` inside `utils/runghc` now does: "rm" -rf utils/runghc/dist-install "rm" -rf inplace/bin/runghc "rm" -rf inplace/lib/bin/runghc Instead of just: "rm" -rf utils/runghc/dist-install "rm" -rf inplace/lib/bin/runghc I think this was just an oversight. [skip ci] Differential Revision: https://phabricator.haskell.org/D919
* Build system: don't use supposedly local variable inside macroThomas Miedema2015-05-301-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is no support for local variables inside `make` macros (defined using the `define` keyword), see [wiki:Building/Architecture/Idiom/Macros]. In this case `make show VALUE=INPLACE_WRAPPER` would print some bogus value ("inplace/bin/mkUserGuidePart" actually, from the last BUILD_DIRS entry in ghc.mk that calls shell-wrapper), and using that variable somewhere might be a bug. Test Plan: I checked the rules directory with the following crude regexp, and this seems the be the only real offender. grep -P '^[^ $#\t][^$]*[^+]=' rules/* What it is supposed to do (from right to left): * look for variable assignments * but not updates (+=) * where the variable name doesn't contain any dollar signs * and the line doesn't start with whitespace or a comment [skip ci] Differential Revision: https://phabricator.haskell.org/D918
* Build system: make clean in utils/ghc-pkg should not delete inplace/lib/binThomas Miedema2015-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure $1_$2_PROG always gets assigned a value, even when cleaning. The problem with not setting the variable becomes apparent when looking at the following two lines of code: ``` $1_$2_INPLACE = $$(INPLACE_LIB)/bin/$$($1_$2_PROG) $(call clean-target,$1,$2_inplace,$$($1_$2_INPLACE)) ``` So running `make clean` in for example `utils/ghc-pkg` deletes `inplace/lib/bin/` instead of `inplace/lib/bin/ghc-pkg`. The offending code was introduced in commit 2b85372ca18115bb1d6363256fcea6f54e415bed. There is one small implication. When cleaning before configure, the variable $1_$2_PROG will now be assigned a slightly wrong value, because exeext$3 isn't known yet. But I think that's ok, as no files have been build yet, so it will just try to delete a slighly different nonexistent file. [skip ci] Differential Revision: https://phabricator.haskell.org/D916
* Build system: always use `make -r`Thomas Miedema2015-05-304-17/+31
| | | | | | | | | | | | | | | | | Do what this comment was suggesting: "Ideally we'd like to have 'make -r' turned on by default, because that disables all the implicit rules, but there doesn't seem to be a good way to do that." This change doesn't seem to have much effect on the time it takes to run make. Apparently clearing .SUFFIXES was enough for that. But it does make the output of `make -d` quite a bit shorter, which is nice. Note: ghc.mk is always called indirectly, so no need to set .SUFFIXES or MAKEFLAGS there again. Differential Revision: https://phabricator.haskell.org/D915
* Build system: always allow me to clean haddockThomas Miedema2015-05-301-0/+3
| | | | [skip ci]
* Build system: time's config files have movedThomas Miedema2015-05-301-2/+2
| | | | [skip ci]
* Build system: prevent "./Setup: Command not found"Thomas Miedema2015-05-301-1/+1
| | | | [skip ci]
* Build system: prevent "--version: Command not found"Thomas Miedema2015-05-301-1/+4
| | | | | | | This would happen when running `make clean` before running `./configure`. [skip ci]
* Build system: whitespace and comments onlyThomas Miedema2015-05-302-6/+18
| | | | [skip ci]
* Build system: don't set CLEANING=NOThomas Miedema2015-05-301-7/+1
| | | | | | We only ever check if CLEANING=YES. [skip ci]
* Build system: check $CLEANING instead of $MAKECMDGOALSThomas Miedema2015-05-305-9/+10
| | | | | | | To check if we're cleaning, always check the $CLEANING variable, instead of sometimes $CLEANING, sometimes $MAKECMDGOALS. [skip ci]
* Build system: allow missing config.mk for target clean_%Thomas Miedema2015-05-301-1/+1
| | | | [skip ci]
* Build system: use `mkdir -p` instead of `-mkdir`Thomas Miedema2015-05-301-3/+2
| | | | | | Avoid unnecessary warnings. [skip ci]
* Build system: remove toplevel target `fast`Thomas Miedema2015-05-301-3/+3
| | | | | | | Remove the recently introduced `fast` synonym for `fasttest`, because in the subdirectories `make fast` already means `make all FAST=YES`. [skip ci]
* Build system: make more targets PHONYThomas Miedema2015-05-301-0/+6
| | | | [skip ci]
* Testsuite: accept new output for T2507 and T8959aThomas Miedema2015-05-292-6/+6
| | | | Unbreak the build.
* Add liftData function.Edward Z. Yang2015-05-281-2/+8
| | | | | | | | | | | | | | | | Summary: See https://mail.haskell.org/pipermail/libraries/2015-April/025480.html for the proposal and discussion Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: austin Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D879
* base: fix #10298 & #7695Austin Seipp2015-05-282-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This applies a patch from Reid Barton and Sylvain Henry, which fix a disasterous infinite loop when iconv fails to load locale files, as specified in #10298. The fix is a bit of a hack but should be fine - for the actual reasoning behind it, see `Note [Disaster and iconv]` for more info. In addition to this fix, we also patch up the IO Encoding utilities to recognize several variations of the 'ASCII' encoding (including its aliases) directly so that GHC can do conversions without iconv. This allows a static binary to sit in an initramfs. Authored-by: Reid Barton <rwbarton@gmail.com> Authored-by: Sylvain Henry <hsyl20@gmail.com> Signed-off-by: Austin Seipp <austin@well-typed.com> Test Plan: Eyeballed it. Reviewers: rwbarton, hvr Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D898 GHC Trac Issues: #10298, #7695
* Remove unnecessary loadInterface for TH quoted name.Edward Z. Yang2015-05-281-13/+2
| | | | | | | | | | | | | | | | | | | | | | | Summary: The load was introduced a32d3e4da0aceb624c958f02cad7327e17ac94db to fix a bug where deprecations assumed that the name in question had already had their interface loaded. The new deprecation code no longer makes this assumption and just loads the interface, so this eager load is not necessary. Verified that TH_reifyType2 continues to work. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, austin Subscribers: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D891 GHC Trac Issues: #10419
* Testdriver: do not interfer with MinGW path magic (#10449)Thomas Miedema2015-05-282-13/+24
| | | | | | | | | | | | | | | | | | This should fix the testsuite driver on Windows using the MinGW tools with a native build of Python. MinGW automagically converts MinGW-style paths (e.g. '/c/programs/ghc/bin/ghc') into ordinary Windows paths (e.g. 'C:/programs/ghc/bin/ghc') when a native Windows program is invoked. But it doesn't do so when those paths are wrapped with a pair of escaped double quotes. The fix is to not call `eval` on the paths in Python, which let's us use one less pair of quotes, and makes MinGW happy. Reviewers: Rufflewind, austin Differential Revision: https://phabricator.haskell.org/D911
* Testdriver: don't use os.popen in config/ghcPhil Ruffwind2015-05-284-54/+32
| | | | | | | | | | | | | | | Rewrite config/ghc to use getStdout (which use subprocess.Popen) instead of os.popen, which is deprecated; this also avoids the use of shell Also: * Move getStdout to driver/testutil.py so both config/ghc and driver/runtests.py can use it * Remove support for Python below 2.4, which doesn't have subprocess Reviewed By: thomie Differential Revision: https://phabricator.haskell.org/D908
* ApiAnnotations tweaksAlan Zimmerman2015-05-2714-30/+359
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: A collection of minor updates for the API Annotations. 1. The annotations for the implicity parameter is disconnected in the following type MPI = ?mpi_secret :: MPISecret 2. In the following, the annotation for one of the commas is disconeected. mkPoli = mkBila . map ((,,(),,()) <$> P.base <*> P.pos <*> P.form) 3. In the following, the annotation for the parens becomes disconnected data MaybeDefault v where SetTo :: forall v . ( Eq v, Show v ) => !v -> MaybeDefault v SetTo4 :: forall v a. (( Eq v, Show v ) => v -> MaybeDefault v -> a -> MaybeDefault [a]) Test Plan: ./validate Reviewers: hvr, austin Reviewed By: austin Subscribers: bgamari, thomie, mpickering Differential Revision: https://phabricator.haskell.org/D901 GHC Trac Issues: #10399
* Build system: don't install haddock .t files (#10410)Thomas Miedema2015-05-272-4/+4
| | | | | | | | | | | | When generating a haddock .t file for a library, don't save it in the `dist-install/doc` directory for that library, as then it gets copied to the installation directory during `make install` by `ghc-cabal copy`. Instead, save it a few directories up; putting it next to `haddock-prologue.txt` seemed appropriate. Test Plan: run `make` in `tests/perf/haddock`. Differential Revision: https://phabricator.haskell.org/D903
* Omit the static form error for variables not in scope.Facundo Domínguez2015-05-252-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fixes T10446. The following program > g = static f now produces only: > ...: error > Not in scope: 'f' Before it would also produce a complaint about 'f' not being a top-level identifier. Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: bgamari, thomie, mboes Differential Revision: https://phabricator.haskell.org/D906 GHC Trac Issues: #10446
* Fix ghci-way tests of -XStaticPointers.Facundo Domínguez2015-05-254-5/+16
| | | | | | | | | | | | | | Summary: Add -fobject-code to StaticPointers tests in ghci. Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: bgamari, thomie, mboes Differential Revision: https://phabricator.haskell.org/D905
* Add missing name for FFI import (fixes #9950)erdeszt2015-05-251-1/+1
| | | | | | | | Signed-off-by: erdeszt <erdeszt@gmail.com> Reviewed By: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D902