summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Apply haddock suggestions from the proposal PRwip/ghc-exception-stacktracesSven Tennie2022-02-233-5/+5
|
* Minimize needed changeset and make root exceptions lazy in their fieldsSven Tennie2022-02-1761-157/+156
| | | | | | | | | | | | | | | | | | | | | | | Libraries that work without any changes: - libraries/array - libraries/directory - libraries/process - libraries/stm - libraries/unix libraries/haskeline needs a small change ------------------------- Metric Decrease: T9630 Metric Increase: LargeRecord MultiComponentModules MultiComponentModulesRecomp T15703 T8095 T9872d -------------------------
* Rename SomeExceptionWithLocation to SomeExceptionWithBacktraceSven Tennie2022-02-11108-252/+253
|
* Add backtrace capturing and wrap SomeException with SomeExceptionWithLocationSven Tennie2022-02-1166-93/+991
| | | | | | | | | | | | | | | | | | | | Replace raise# and raiseIO# with throw and throwIO to append backtraces. And add tests. The structure is now close to the proposal. Add pretty printing of backtraces. ------------------------- Metric Decrease: T19695 T9630 Metric Increase: MultiComponentModules MultiComponentModulesRecomp T13035 T9872d -------------------------
* Introduce 2nd field in SomeExceptionWithLocationSven Tennie2022-02-1110-14/+26
|
* Replace SomeException with SomeExceptionWithLocation (#18159)Sven Tennie2022-02-11102-265/+275
| | | | | To keep backwards compatibility, for older GHC versions SomeExceptionWithLocation is only a synonym for SomeException.
* Refine tcSemigroupWarnings to work in ghc-primMatthew Pickering2022-02-101-4/+7
| | | | | | | | | | | | | ghc-prim doesn't depend on base so can't have any Monoid or Semigroup instances. However, attempting to load these definitions ran into issues when the interface for `GHC.Base` did exist as that would try and load the interface for `GHC.Types` (which is the module we are trying to compile and has no interface). The fix is to just not do this check when we are compiling a module in ghc-prim. Fixes #21069
* Fix copy-pasto in prof-late-ccs docsMatthew Pickering2022-02-101-2/+2
|
* eventlog: Fix size of TICKY_COUNTER_BEGIN_SAMPLEMatthew Pickering2022-02-101-1/+1
|
* eventlog: Delete misleading comment in gen_event_types.pyMatthew Pickering2022-02-101-2/+0
| | | | | Not all events start with CapNo and there's not logic I could see which adds this to the length.
* eventlog: Fix event type of MEM_RETURNMatthew Pickering2022-02-101-1/+1
| | | | | | | This leads to corrupted eventlogs because the size of EVENT_MEM_RETURN is completely wrong. Fixes a bug introduced in 2e29edb7421c21902b47d130d45f60d3f584a0de
* eventlog: Fix event type of EVENT_IPEMatthew Pickering2022-02-101-1/+1
| | | | | | | This leads to corrupted eventlogs because the size of EVENT_IPE is completely wrong. Fixes a bug introduced in 2e29edb7421c21902b47d130d45f60d3f584a0de
* Add metadata to integer-gmp.cabalMorrow2022-02-101-0/+8
|
* Bump Cabal submoduleBen Gamari2022-02-108-20/+18
| | | | | | | | | Adapts GHC to the factoring-out of `Cabal-syntax`. Fixes #20991. Metric Decrease: haddock.Cabal
* ghc-boot: Simplify writePackageDb permissions handlingDaniel Gröber2022-02-101-23/+16
| | | | | | | | | | | | | | | Commit ef8a3fbf1 ("ghc-boot: Fix metadata handling of writeFileAtomic") introduced a somewhat over-engineered fix for #14017 by trying to preserve the current permissions if the target file already exists. The problem in the issue is simply that the package db cache file should be world readable but isn't if umask is too restrictive. In fact the previous fix only handles part of this problem. If the file isn't already there in a readable configuration it wont make it so which isn't really ideal either. Rather than all that we now simply always force all the read access bits to allow access while leaving the owner at the system default as it's just not our business to mess with it.
* linker/PEi386: Make addLibrarySearchPath long-path awareBen Gamari2022-02-101-15/+3
| | | | | | | | | | Previously `addLibrarySearchPath` failed to normalise the added path to UNC form before passing it to `AddDllDirectory`. Consequently, the call was subject to the MAX_PATH restriction, leading to the failure of `test-defaulting-plugin-fail`, among others. Happily, this also nicely simplifies the implementation. Closes #21059.
* PEi386: Drop Windows Vista fallback in addLibrarySearchPathBen Gamari2022-02-101-52/+3
| | | | We no longer support Windows Vista.
* Docs:Mention that safe calls don't keep their arguments alive.Andreas Klebinger2022-02-101-2/+9
|
* Add late cost centre supportAndreas Klebinger2022-02-1017-6/+157
| | | | | This allows cost centres to be inserted after the core optimization pipeline has run.
* Add some perf tests for coercionssheaf2022-02-099-0/+1189
| | | | | | | | This patch adds some performance tests for programs that create large coercions. This is useful because the existing test coverage is not very representative of real-world situations. In particular, this adds a test involving an extensible records library, a common pain-point for users.
* rts/mmap: Refactor mmapForLinkerBen Gamari2022-02-092-113/+124
| | | | | | Here we try to separate the policy decisions of where to place mappings from the mechanism of creating the mappings. This makes things significantly easier to follow.
* linker: Don't use MAP_FIXEDBen Gamari2022-02-091-7/+4
| | | | | | | | As noted in #21057, we really shouldn't be using MAP_FIXED. I would much rather have the process crash with a "failed to map" error than randomly overwrite existing mappings. Closes #21057.
* rts/linker/MMap: Use MemoryAccess in mmapForLinkerBen Gamari2022-02-095-24/+42
|
* rts/linker: Drop dead IA64 codeBen Gamari2022-02-091-6/+0
|
* rts: Move mmapForLinker and friends to linker/MMap.cBen Gamari2022-02-0911-341/+377
| | | | They are not particularly related to linking.
* rts: Rename MemoryMap.[ch] -> ReportMemoryMap.[ch]Ben Gamari2022-02-095-4/+4
|
* Include ru_name in toHsRule messageZiyang Liu2022-02-092-11/+9
| | | | See #18147
* ByteCode: avoid out-of-bound readSylvain Henry2022-02-091-5/+15
| | | | Cf https://gitlab.haskell.org/ghc/ghc/-/issues/18431#note_287139
* NCG: minor code factorizationSylvain Henry2022-02-092-51/+35
|
* driver: Filter out our own boot module in hptSomeThingsBelowMatthew Pickering2022-02-091-2/+5
| | | | | | | | | hptSomeThingsBelow would return a list of modules which contain the .hs-boot file for a particular module. This caused some problems because we would try and find the module in the HPT (but it's not there when we're compiling the module itself). Fixes #21058
* Rename -merge-objs flag to --merge-objsBen Gamari2022-02-094-4/+4
| | | | For consistency with --make and friends.
* Add test for #21037sheaf2022-02-092-0/+25
| | | | | | | This program was rejected by GHC 9.2, but is accepted on newer versions of GHC. This patch adds a regression test. Closes #21037
* Look through untyped TH splices in tcInferAppHead_maybeRyan Scott2022-02-094-13/+43
| | | | | | | | | | | Previously, surrounding a head expression with a TH splice would defeat `tcInferAppHead_maybe`, preventing some expressions from typechecking that used to typecheck in previous GHC versions (see #21038 for examples). This is simple enough to fix: just look through `HsSpliceE`s in `tcInferAppHead_maybe`. I've added some additional prose to `Note [Application chains and heads]` in `GHC.Tc.Gen.App` to accompany this change. Fixes #21038.
* Fix a portability issue in m4/find_llvm_prog.m4PHO2022-02-091-1/+1
| | | | | `test A == B' is a Bash extension, which doesn't work on platforms where /bin/sh is not Bash.
* Implement System.Environment.getExecutablePath for NetBSDPHO2022-02-092-6/+14
| | | | and also use it from GHC.BaseDir.getBaseDir
* testsuite: Add missing dependency on ghcconfigMatthew Pickering2022-02-091-1/+6
|
* testsuite: Clean up old/redundant predicatesMatthew Pickering2022-02-093-30/+1
|
* testsuite: Use absolute paths for config.libdirMatthew Pickering2022-02-091-2/+4
| | | | Fixes #21052
* Don't try to build stage1 with -eventlog if stage0 doesn't provide itPHO2022-02-088-4/+38
| | | | Like -threaded, stage0 isn't guaranteed to have an event-logging RTS.
* Document that reifyRoles includes kind parametersRichard Eisenberg2022-02-081-1/+13
| | | | Close #21056
* rts/MemoryMap: Use mach_-prefixed type namesBen Gamari2022-02-081-4/+6
| | | | | | | | | | | There appears to be some inconsistency in system-call type naming across Darwin toolchains. Specifically: * the `address` argument to `mach_vm_region` apparently wants to be a `mach_vm_address_t *`, not a `vm_address_t *` * the `vmsize` argument to `mach_vm_region` wants to be a `mach_vm_size_t`, not a `vm_size_t`
* Fix build on recent FreeBSD.Gleb Popov2022-02-081-1/+1
| | | | | Recent FreeBSD versions gained the sched_getaffinity function, which made two mutually exclusive #ifdef blocks to be enabled.
* StgToCmm: Get rid of GHC.Driver.Session importsJohn Ericson2022-02-087-38/+39
| | | | | `DynFlags` is gone, but let's move a few trivial things around to get rid of its module too.
* Document `hscIncrementalFrontend` and flip boolCale Gibbard2022-02-081-10/+21
|
* `hscSimpleIface` drop fingerprint param and retCale Gibbard2022-02-081-12/+10
| | | | | | | | | `hscSimpleIface` does not depend on or modify the `Maybe Fingerprint` it is given, only passes it through, so get rid of the extraneous passing. Perhaps the intent was that there would be an iface fingerprint check of some sort? but this was never done. If/when we we want to do that, we can add it back then.
* Add suggestion mode to notes-utilMatthew Pickering2022-02-083-4/+33
|
* Fix some notesMatthew Pickering2022-02-0854-170/+97
|
* Add notes linter to testsuiteMatthew Pickering2022-02-0814-873/+334
|
* gitlab-ci: Add lint-notes jobBen Gamari2022-02-082-2/+10
|
* notes-util: initial commitBen Gamari2022-02-086-0/+1144
|