- Mar 20, 2015
-
-
Herbert Valerio Riedel authored
(cherry picked from commit c746f016)
-
Herbert Valerio Riedel authored
[skip ci]
-
Herbert Valerio Riedel authored
-
Herbert Valerio Riedel authored
This major version bump was made necessary by f44333ea which changed the type signatures of prefetch primops, as well as other changes such as 051d694f turning `Any` into an abstract closed type family. (cherry picked from commit 9dfdd16a)
-
Herbert Valerio Riedel authored
This deepseq update drops the redundant ghc-prim dependency for GHC>=7.6 (cherry picked from commit c2833d60)
-
Herbert Valerio Riedel authored
-
- Mar 19, 2015
-
-
Signed-off-by:
Austin Seipp <austin@well-typed.com> (cherry picked from commit e02ef0e6)
-
This update fixes #10165. Signed-off-by:
Austin Seipp <austin@well-typed.com> (cherry picked from commit 2ff68c35)
-
This avoids the annoying conundrum explained in #9956 - for the 7.10 release, we'll keep (silently) supporting this flag so -Werror doesn't trip anything up. Really, we could just say 'deal with it' to users probably, but the fix is painless and does remove a sharp corner. Signed-off-by:
Austin Seipp <austin@well-typed.com> Reviewers: ezyang Differential Revision: https://phabricator.haskell.org/D742 GHC Trac Issues: #9956
-
Herbert Valerio Riedel authored
-
Summary: Commit 71fcc4c0 breaks the 64bit build on Solaris 11. Solaris is a multi-lib OS so both 32bit and 64bit binaries may be run, but by default it compiles to 32bit so that -m64 needs to be added in the appropriate place when compiling for 64 bits. Patch-from: Karel Gardas <karel.gardas@centrum.cz> Reviewers: kgardas, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D733 (cherry picked from commit 83afcd17)
-
Fixes #8976 and #9873 by making use of the Binutils ld.gold linker explicit whenever the target is linux/ARM or android/ARM. This does not affect iOS where Apple provides its own linker. In order to achieve this, we need to add `-fuse-ld=gold` to the SettingsCCompilerLinkFlags setting and set SettingsLdCommand to `ld.gold` (or `${target}-ld.gold` when cross-compiling). In addition, simplifying the use of `$(CONF_GCC_LINKER_OPTS_STAGEn)`. This patch was tested by ensuring that the following worked as expected: * Native builds on linux/x86_64 (nothing changed). * Native builds on linux/arm (and uses the gold linker). * Linux to linux/arm cross compiles (and uses the cross gold linker). Contributions by Ben Gamari, Joachim Breitner and Reid Barton. Reviewers: nomeata, bgamari, austin, rwbarton Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D715 GHC Trac Issues: #8976 #9873 (cherry picked from commit 71fcc4c0)
-
Herbert Valerio Riedel authored
These updates these 3 submodules to their respective released tagged commits. No source-code changes are involved with this update.
-
- Mar 17, 2015
-
-
This should have been part of commit 5258566e, to allow expansion of '{hp2ps}' in a command string to `config.hp2ps`. Reviewed by: austin Differential Revision: https://phabricator.haskell.org/D734 (cherry picked from commit beee618c)
-
Parsing of static and mode flags happens before any session is started, i.e., before the first call to 'GHC.withGhc'. Therefore, to report errors for invalid usage of these two types of flags, we can not call any function that needs DynFlags, as there are no DynFlags available yet (unsafeGlobalDynFlags is not set either). So we always print "on the commandline" as the location, which is true except for Api users, which is probably ok. When reporting errors for invalid usage of dynamic flags we /can/ make use of DynFlags, and we do so explicitly in DynFlags.parseDynamicFlagsFull. Before, we called unsafeGlobalDynFlags when an invalid (combination of) flag(s) was given on the commandline, resulting in panics (#9963). This regression was introduced in 1d6124de. Also rename showSDocSimple to showSDocUnsafe, to hopefully prevent this from happening again. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D730 GHC Trac Issues: #9963 (cherry picked from commit 5166ee94)
-
Richard Eisenberg authored
Release notes in reaction to hvr's comment:26 on #10079. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D735
-
- Mar 16, 2015
-
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <aseipp@pobox.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <aseipp@pobox.com>
-
- Mar 15, 2015
-
-
Herbert Valerio Riedel authored
This addresses the Cabal side of #10115 as this pulls in the following two commits: > Make sure to pass the package key to ghc > Haddock: Use --package-{name|version} when available (cherry picked from commit 14b78eb7)
-
- Mar 14, 2015
-
-
This fixes breakage introduced via 47b5b5c2 Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 11314b93)
-
Some ELF link editors default to `--as-needed` and record only those libraries in DT_NEEDED tags that are needed to resolve undefined symbols in the shared object to be created. In Template Haskell we rely on all symbols that were defined in modules compiled so far to be available in the current temporary shared object. To prevent the link editor from dropping the DT_NEEDED tag for the previously linked temporary shared object we need to override the link editors default and specify `--no-as-needed` on the command line. This is for GNU ld and GOLD ld. This addresses #10110 TODO: regression test (cherry picked from commit 1b7f5976)
-
If one runs the testsuite with a profiling compiler, during the import of `testlib.py`, `testlib.py` sets the global variable `gs_working`. To do so, it executes a few statements which require the function `strip_quotes` to be in scope. But that function only gets defined at the very end of testlib.py. This patch moves the definition of `strip_quotes` to testutil.py, which is imported at the very top of testlib.py. This unbreaks the nightly builders. (cherry picked from commit cc07a0ba)
-
- Mar 13, 2015
-
-
Herbert Valerio Riedel authored
This is a follow-up change to 56e0ac98 See also discussion at https://groups.google.com/d/msg/haskell-core-libraries/e9N3U6nJeQE/V-TvG3G-3x4J (cherry picked from commit 842028b4)
-
Signed-off-by:
Austin Seipp <austin@well-typed.com> (cherry picked from commit 34ba68c2)
-
Iavor S. Diatchki authored
Summary: This implements the new `Typeable` solver: when GHC sees `Typeable` constraints it solves them on the spot. The current implementation creates `TyCon` representations on the spot. Pro: No overhead at all in code that does not use `Typeable` Cons: Code that uses `Typeable` may create multipe `TyCon` represntations. We have discussed an implementation where representations of `TyCons` are computed once, in the module, where a datatype is declared. This would lead to more code being generated: for a promotable datatype we need to generate `2 + number_of_data_cons` type-constructro representations, and we have to do that for all programs, even ones that do not intend to use typeable. I added code to emit warning whenevar `deriving Typeable` is encountered--- the idea being that this is not needed anymore, and shold be fixed. Also, we allow `instance Typeable T` in .hs-boot files, but they result in a warning, and are ignored. This last one was to avoid breaking exisitng code, and should become an error, eventually. Test Plan: 1. GHC can compile itself. 2. I compiled a number of large libraries, including `lens`. - I had to make some small changes: `unordered-containers` uses internals of `TypeReps`, so I had to do a 1 line fix - `lens` needed one instance changed, due to a poly-kinded `Typeble` instance 3. I also run some code that uses `syb` to traverse a largish datastrucutre. I didn't notice any signifiant performance difference between the 7.8.3 version, and this implementation. Reviewers: simonpj, simonmar, austin, hvr Reviewed By: austin, hvr Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D652 GHC Trac Issues: #9858 (cherry picked from commit b359c886)
-
- Mar 12, 2015
-
-
(cherry picked from commit 41e8400a)
-
- Mar 11, 2015
-
-
* Use format strings instead of string concatenation. * Wrap `config.compiler`, `config.hpc` etc. in quotes in `mk/test.mk`, so we don't have to in .T scripts and driver/testlib.py. Update hpc submodule (test cleanup) (cherry picked from commit 5258566e)
-
Herbert Valerio Riedel authored
This also needs to update a couple of other submodules to update the upper bound on filepath to allow this major version bump to 1.4.0.0 (cherry picked from commit 5f356f3e)
-
This changes the library file name format NOTE: This patch originally updated to Cabal HEAD, but was reduced to update to Cabal 1.22 HEAD by hvr as this is needed in order to update the filepath submodule to version 1.4.0, and subsequently to be cherry-picked into the ghc-7.10 branch Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 838d8044)
-
Allow `cmd_wrapper` to return a format string that can refer to config values. Very useful! This allows for many tests to be defined in pure Python, instead of in an additional script or Makefile. Example: def Thpc(cmd): return(cmd + ' && {hpc} report Thpc.tix') test('Thpc', [cmd_wrapper(Thpc), only_ways['hpc']), compile_and_run, ['']) The `{hpc}` is replaced by the value of `config.hpc`. The result is that the module `Thpc` first gets compiled, then the binary `Thpc` is run, and then the `hpc report` command is run. The output of all of this is redirected (and later appended) to Thpc.run.stdout/stderr as normally. (cherry picked from commit 91c11fea)
-
Summary: Whenever the RTS has been inactive for idleGCDelayTime, the idle timer fires and calls wakeUpRts(), which in turn calls ioManagerWakeup(), which in turn writes a byte (or a few) to a file descriptor (stored in the io_manager_wakeup_fd variable) registered by the TimerManager and on which the TimerManager will wait. (Note that the write will only occur if the file descriptor is non-negative.) When the RTS shuts down, it shuts down the TimerManager, and in this process the file descriptor stored in io_manager_wakeup_fd is closed. In the error case, the idle timer fires after the close of the file occurs, and then the write() call in ioManagerWakeup() fails and the aforementioned error message gets printed. This patch solves the problem by (1) having the TimerManager (via Control) write -1 to io_manager_wakeup_fd just before closing the file descriptor written in io_manager_wakeup_fd, and (2) having ioManagerWakeup() ignore an error returned by write() in the case that the write returned -1 and the io_manager_wakeup_fd is -1. Reviewers: austin, simonmar, hvr, thomie Reviewed By: thomie Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D722 GHC Trac Issues: #9722 (cherry picked from commit 74625d68)
-
Summary: These primops were failing to compile on PowerPC (32 bit). There is also currently no way to call into these primops from Haskell code. Currently, the *only* way to call any of these C hs_atomic_* functions is via the fetch*IntArray primops which are only defined for Int values and Int is always the native word size. When these functions can be called (and tested) from Haskell code, then it will be worth while implementing them. Test Plan: Compile and run on x86, x86_64, powerpc and arm: testsuite/tests/concurrent/should_run/AtomicPrimops.hs Reviewers: tibbe, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D702 GHC Trac Issues: #9886 (cherry picked from commit 19440ae2)
-
- Mar 10, 2015
-
-
Herbert Valerio Riedel authored
(cherry picked from commit b03479dc)
-
Functions `readCreateProcess` and `readCreateProcessWithExitCode` were added to `System.Process`, the former of which conflicts with `SysTools.readCreateProcess`. (cherry picked from commit 8b7534b3)
-
Herbert Valerio Riedel authored
-
Herbert Valerio Riedel authored
(cherry picked from commit 0281c987)
-
Herbert Valerio Riedel authored
-
Herbert Valerio Riedel authored
(cherry picked from commit fdb72839)
-
- Mar 09, 2015
-
-
Summary: As a result of fixing #8935 we needed to open shared libraries with RTLD_LOCAL and so symbols from packages loaded earlier cannot be found anymore. We need to include in the link all packages loaded so far. This fixes #10058 Test Plan: validate Reviewers: hvr, simonmar, austin Reviewed By: austin Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D676 GHC Trac Issues: #10058 (cherry picked from commit 0fcc4543)
-