- 09 Mar, 2017 14 commits
-
-
Joachim Breitner authored
-
Ben Gamari authored
-
The .cstring.* sections don't get merged by the linker (bfd or gold). That's bad, and especially bad in #13265 where it caused the number of sections to exceed what is apparently an internal limit in ld.bfd. Test Plan: I can only test this on Linux, and I am guessing at what the correct behavior is on Mac OS and Windows (and AIX I suppose). Testers on other platforms would be much appreciated, though I understand that the LLVM backend is broken on Mac OS currently for other reasons (#13378). Reviewers: olsner, austin, xnyhps, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D3282
-
Make `raiseIO#` produce `topRes` instead of `ExnRes`. `ExnRes` leads to demand analysis being too aggressive, IMO, allowing imprecise exceptions produced by `throw` to replace exceptions thrown by `throwIO` that would like to think of as precise. This fixes that, but is certanly much more conservative than we would ideally like. Let's see how bad it is. Fixes Trac #13380 Reviewers: austin, bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3301
-
Ben Gamari authored
This fixes fetching of signatures and sources for inconsistently named msys2 tarballs.
-
Joachim Breitner authored
to amend 2fa44217.
-
Ben Gamari authored
This pulls out the hashes into a separate file, making them far easier to update.
-
Ben Gamari authored
-
Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: RyanGlScott, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3292
-
Gabor Greif authored
-
Sergei Trofimovich authored
Build failed as: libraries/base/GHC/Event/KQueue.hsc:192:25: error: Not in scope: type constructor or class ‘Int16’ | 192 | newtype Filter = Filter Int16 | ^^^^^ If was caused by an import tweak from Word16 to Int16. Adjust imports to make KQueue compile cleanly. Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org> Test Plan: build on freebsd Reviewers: bgamari, austin, hvr Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3300
-
Ben Gamari authored
-
The main goal is to easily allow the inline-c project (and similar projects such as inline-java) to emit C/C++ files to be compiled and linked with the current module. Moreover, `addCStub` is removed, since it's quite fragile. Most notably, the C stubs end up in the file generated by `CodeOutput.outputForeignStubs`, which is tuned towards generating a file for stubs coming from `capi` and Haskell-to-C exports. Reviewers: simonmar, austin, goldfire, facundominguez, dfeuer, bgamari Reviewed By: dfeuer, bgamari Subscribers: snowleopard, rwbarton, dfeuer, thomie, duncan, mboes Differential Revision: https://phabricator.haskell.org/D3280
-
Ben Gamari authored
This was broken in the ecb880ca.
-
- 08 Mar, 2017 5 commits
-
-
Tamar Christina authored
-
* Fix demand analysist for `catchSTM#`. * Add more notes on demand analysis of `catch`-like functions. Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D3283
-
rwbarton authored
-
Simon Peyton Jones authored
It's ok to have a levity-polymorphic join point, thus let j :: r :: TYPE l = blah in ... Usually we don't allow levity-polymorphic binders, but join points are different because they are not first class. I updated the invariants in CoreSyn. This commit fixes Trac #13394.
-
Tamar Christina authored
Summary: This fixes the Windows build after the latest -Werror patches landed. Test Plan: ./validate Reviewers: austin, bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3293
-
- 07 Mar, 2017 7 commits
-
-
As far as I can tell we were unnecessarily building a new TcgEnv when we already had one on hand. TcRnMonad now sports an initTcWithGbl function, which allows us to run a TcM monad in the context of this TcgEnv. This appears to simplify things nicely. Test Plan: Validate Reviewers: austin Subscribers: dfeuer, simonpj, thomie Differential Revision: https://phabricator.haskell.org/D3228
-
This is just a bit of reorganization, pulling out the DPH things into a separate section of the file. Test Plan: Validate Reviewers: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D3274
-
We can no longer use the mtime of the containing directory since it now contains a lock file in addition to the .cache and .conf files. Fixes #13375. Test Plan: Validate on Windows Reviewers: austin, arybczak Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3289
-
Ben Gamari authored
I checked both the FreeBSD and Darwin manpages; it's signed in both cases. This was producing validation failures on OS X due to the new literal range-check.
-
Currently we have this in libraries/base/GHC/Float.hs: ``` abs x | x == 0 = 0 -- handles (-0.0) | x > 0 = x | otherwise = negateFloat x ``` But 3-4 years ago it was noted that this was inefficient: https://mail.haskell.org/pipermail/libraries/2013-April/019690.html We can generate better code for X86 and llvm and for others generate some custom cmm code which is similar to what the compiler generates now. Reviewers: austin, simonmar, hvr, bgamari Reviewed By: bgamari Subscribers: dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3265
-
Ben Gamari authored
-
Gabor Greif authored
-
- 06 Mar, 2017 14 commits
-
-
Ben Gamari authored
It relies on System.Posix.DynamicLinker, which is not available.
-
This resolves #13130. It's not entirely clear to me why we don't use an unboxed tuple here but this is at least better than the status quo. [skip ci] Test Plan: Read it Reviewers: simonmar, austin, dfeuer Reviewed By: dfeuer Subscribers: dfeuer, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3288
-
This is a rather stupid mangler hack. However, when using prefix data with llvm, on systems that support -dead_strip (macOS, iOS), the prefix data is stipped. llvm generiously adds .subsections_via_symbols for macho in any case. Thus we use our trusted mangler to drop the .subsections_via_symbols line from the assembly. This ultimately means that for (macOS, llvm), and (iOS, llvm) will not benefit from -dead_strip. Yet, this patch will allow building ghc on macOS again. Test Plan: build ghc with llvm on macOS Reviewers: rwbarton, bgamari, austin Reviewed By: rwbarton, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D3287
-
Test Plan: exended T2110 with a case for that. Reviewers: austin, hvr, dfeuer, bgamari Reviewed By: dfeuer Subscribers: dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3275
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Matthew Pickering authored
-
Ben Gamari authored
-
Ben Gamari authored
These were rendered out-of-date by D1103. Resolves #13174.
-
Signed-off-by:
Rupert Horlick <ruperthorlick@gmail.com> Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3286
-
Reviewers: austin, hvr, bgamari, dfeuer Reviewed By: dfeuer Subscribers: dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3284
-
Test Plan: Validate, check generated warnings Reviewers: austin, bgamari, dfeuer Reviewed By: bgamari, dfeuer Subscribers: dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3281
-
D3155 added pthread by default to GHCi. However this was only tested using something running in an msys2 shell. As it turns out it's been picking up pthread in the environment and not the inplace gcc. This results in an error when using ghci outside of msys2. Test Plan: start cmd, start ghc-stage2 --interactive Reviewers: austin, hvr, bgamari, dfeuer Reviewed By: dfeuer Subscribers: dfeuer, thomie Differential Revision: https://phabricator.haskell.org/D3279
-
Ben Gamari authored
Currently, `COMPLETE` pragmas are not read from external packages at all, which quite limits their usefulness. This extends `ExternalPackageState` to include `COMPLETE` sets from other packages, and plumbs around the appropriate values to make it work the way you'd expect it to. Requires a `binary` submodule update. Fixes #13350. Test Plan: make test TEST=T13350 Reviewers: rwbarton, mpickering, austin, simonpj, bgamari Reviewed By: simonpj Subscribers: simonpj, thomie Differential Revision: https://phabricator.haskell.org/D3257
-
This flag only affects whether WARNs are printed to the build log. ASSERT fails will still be printed and cause an abort. Most of the WARNs in the compiler are speculative and meant to help with debugging rather than indicative of any real errors. This causes a lot of noise in the build log which is not helpful and makes them very long. Test Plan: Check that the build log is less than 27000 lines long Reviewers: austin, bgamari, rwbarton Reviewed By: bgamari Subscribers: thomie, snowleopard Differential Revision: https://phabricator.haskell.org/D3213
-