- 25 Apr, 2019 3 commits
-
-
Ömer Sinan Ağacan authored
- Remove redundant casting in evacuate_static_object - Remove redundant parens in STATIC_LINK - Fix a typo in GC.c
-
Vladislav Zavialov authored
There is a hint added to error messages reported in checkPattern. Instead of passing it manually, we put it in a ReaderT environment inside PV.
-
Vladislav Zavialov authored
Previously we defined type PV = P, this had the downside that if we wanted to change PV, we would have to modify P as well. Now PV is free to evolve independently from P. The common operations addError, addFatalError, getBit, addAnnsAt, were abstracted into a class called MonadP.
-
- 24 Apr, 2019 1 commit
-
-
Ben Gamari authored
-
- 23 Apr, 2019 2 commits
-
-
Alexandre R. Baldé authored
-
Fraser Tweedale authored
rlim_t is a signed type on FreeBSD, and the build fails with a sign-compare error. Add explicit (unsigned) cast to handle this case.
-
- 22 Apr, 2019 3 commits
-
-
Vladislav Zavialov authored
EWildPat is a constructor of HsExpr used in the parser to represent wildcards in ambiguous positions: * in expression context, EWildPat is turned into hsHoleExpr (see rnExpr) * in pattern context, EWildPat is turned into WildPat (see checkPattern) Since EWildPat exists solely for the needs of the parser, we could remove it by improving the parser. However, EWildPat has also been used for a different purpose since 8a506104: to represent patterns that the coverage checker cannot handle. Not only this is a misuse of EWildPat, it also stymies the removal of EWildPat.
-
Alp Mestanogullari authored
4 haddock tests assume that .haddock files have been produced, by using the 'req_haddock' modifier. The testsuite driver assumes that this condition is satisfied if 'config.haddock' is non-empty, but before this patch Hadrian was always passing the path to where the haddock executable should be, regardless of whether it is actually there or not. Instead, we now pass an empty config.haddock when we can't find all of <build root>/docs/html/libraries/<pkg>/<pkg>.haddock>, where <pkg> ranges over array, base, ghc-prim, process and template-haskell, and pass the path to haddock when all those file exists. This has the (desired) effect of skipping the 4 tests (marked as 'missing library') when the docs haven't been built, and running the haddock tests when they have.
-
Matthew Pickering authored
Fixes #16569
-
- 21 Apr, 2019 8 commits
-
-
Artem Pyanykh authored
-
Artem Pyanykh authored
-
Andrew Martin authored
[skip ci] correct the docs for casArray a little more. clarify that the returned element may be two different things
-
Andrew Martin authored
-
Andrew Martin authored
-
Andrew Martin authored
-
Ben Gamari authored
-
Ben Gamari authored
-
- 20 Apr, 2019 10 commits
-
-
Ben Gamari authored
Due to #15934.
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
Due to allowed failure of Windows job.
-
Ben Gamari authored
Previously the failure was quite nondescript.
-
Andrey Mokhov authored
-
Alec Theriault authored
Rather than massaging the output of the parser to re-arrange docs and bangs, it is simpler to patch the two places in which the strictness info is needed (to accept that the `HsBangTy` may be inside an `HsDocTy`). Fixes #16585.
-
Vladislav Zavialov authored
Before this change, we used a roundabout encoding: 1. a GADT (ExpCmdG) 2. a class to pass it around (ExpCmdI) 3. helpers to match on it (ecHsApp, ecHsIf, ecHsCase, ...) It is more straightforward to turn these helpers into class methods, removing the need for a GADT.
-
Andreas Klebinger authored
Makes the width of STG dumps slightly saner. Especially for things like unboxing. Fixes #16580
-
Michal Terepeta authored
Previously we would generate a local variable pointing after the array header and use it to initialize the array elements. But we already use stores with offset, so it's easy to just add the header to those offsets during compilation and avoid generating the local variable (which would become a LEA instruction when using native codegen; LLVM already optimizes it away). Signed-off-by:
Michal Terepeta <michal.terepeta@gmail.com>
-
- 19 Apr, 2019 3 commits
-
-
Alec Theriault authored
Now that `TExp` accepts unlifted types, #16384 is fixed. Since the real issue there was GHC letting through an ill-kinded type which `-dcore-lint` rightly rejected, a reasonable regression test is that the program from #16384 can now be accepted without `-dcore-lint` complaining.
-
Alec Theriault authored
Besides the obvious benefits of being able to manipulate `TExp`'s of unboxed types, this also simplified `-XDeriveLift` all while making it more capable. * `ghc-prim` is explicitly depended upon by `template-haskell` * The following TH things are parametrized over `RuntimeRep`: - `TExp(..)` - `unTypeQ` - `unsafeTExpCoerce` - `Lift(..)` * The following instances have been added to `Lift`: - `Int#`, `Word#`, `Float#`, `Double#`, `Char#`, `Addr#` - unboxed tuples of lifted types up to arity 7 - unboxed sums of lifted types up to arity 7 Ideally we would have levity-polymorphic _instances_ of unboxed tuples and sums. * The code generated by `-XDeriveLift` uses expression quotes instead of generating large amounts of TH code and having special hard-coded cases for some unboxed types.
-
Alp Mestanogullari authored
We used to pass YES/NO, while that particular field is set to True/False. This happens to fix an unexpected pass, T9208.
-
- 18 Apr, 2019 4 commits
-
-
Alp Mestanogullari authored
-
Sylvain Henry authored
[skip ci]
-
Andreas Klebinger authored
When printf debugging this can be helpful.
-
Sven Tennie authored
E.g. use `\(\mathcal{O}(n^2)\)` instead of `/O(n^2)/`.
-
- 16 Apr, 2019 2 commits
-
-
Andrey Mokhov authored
This is a temporary workaround for #16534. We generate wrapper scripts <build-root>/ghc-stage1 and <build-root>/ghc-stage2 that can be used to run Stage1 and Stage2 GHCs with the right arguments. See ghc/ghc#16534.
-
Dmitry Dolgov authored
Closes #16062. When -dynamic-too is specified, reflect that in the progress message, like: $ ghc Main.hs -dynamic-too [1 of 1] Compiling Lib ( Main.hs, Main.o, Main.dyn_o ) instead of: $ ghc Main.hs -dynamic-too [1 of 1] Compiling Lib ( Main.hs, Main.o )
-
- 15 Apr, 2019 4 commits
-
-
Gabor Greif authored
When a new closure identifier is being established to a local or exported closure already emitted into the same module, refrain from adding an IND_STATIC closure, and instead emit an assembly-language alias. Inter-module IND_STATIC objects still remain, and need to be addressed by other measures. Binary-size savings on nofib are around 0.1%.
-
Fraser Tweedale authored
Document the ':set local-config' command and add a warning about sourcing untrusted local .ghci scripts. Related: #6017 Related: #14250
-
Fraser Tweedale authored
Add the ':set local-config { source | ignore }' setting to control whether .ghci file in current directory will be sourced or not. The directive can be set in global config or $HOME/.ghci, which are processed before local .ghci files. The default is "source", preserving current behaviour. Related: #6017 Related: #14250
-
Fraser Tweedale authored
Update users guide to match the new startup script order. Also clarify that -ignore-dot-ghci does not apply to scripts specified via the -ghci-script option. Part of: #14689
-