Skip to content
Snippets Groups Projects
  1. Jul 05, 2023
  2. Jul 03, 2023
  3. Jun 30, 2023
  4. Jun 29, 2023
    • Ben Gamari's avatar
      hadrian: Ignore warnings in unix and semaphore-compat · dec81dd1
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      dec81dd1
    • Ben Gamari's avatar
      rts: Various warnings fixes · cb92051e
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      cb92051e
    • Ben Gamari's avatar
      rts/Trace: Ensure that debugTrace arguments are used · 7c7d1f66
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      As debugTrace is a macro we must take care to ensure that
      the fact is clear to the compiler lest we see warnings.
      7c7d1f66
    • Ben Gamari's avatar
      base: Fix incorrect CPP guard · d7ef1704
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      This was guarded on `darwin_HOST_OS` instead of `defined(darwin_HOST_OS)`.
      d7ef1704
    • Ben Gamari's avatar
      Define FFI_GO_CLOSURES · 8b35e8ca
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      The libffi shipped with Apple's XCode toolchain does not contain a
      definition of the FFI_GO_CLOSURES macro, despite containing references
      to said macro. Work around this by defining the macro, following the
      model of a similar workaround in OpenJDK [1].
      
      [1] https://github.com/openjdk/jdk17u-dev/pull/741/files
      8b35e8ca
    • Ben Gamari's avatar
      Rip out runtime linker/compiler checks · b1e611d5
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      We used to choose flags to pass to the toolchain at runtime based on the
      platform running GHC, and in this commit we drop all of those runtime
      linker checks
      
      Ultimately, this represents a change in policy: We no longer adapt at
      runtime to the toolchain being used, but rather make final decisions
      about the toolchain used at /configure time/
      (we have deleted Note [Run-time linker info] altogether!).
      
      This works towards the goal of having all toolchain configuration logic
      living in the same place, which facilities the work towards a
      runtime-retargetable GHC (see #19877).
      
      As of this commit, the runtime linker/compiler logic was moved to
      autoconf, but soon it, and the rest of the existing toolchain
      configuration logic, will live in the standalone ghc-toolchain program
      (see !9263)
      
      In particular, what used to be done at runtime is now as follows:
      * The flags -Wl,--no-as-needed for needed shared libs are configured
        into settings
      * The flag -fstack-check is configured into settings
      * The check for broken tables-next-to-code was outdated
      * We use the configured c compiler by default as the assembler program
      * We drop `asmOpts` because we already configure -Qunused-arguments flag
        into settings (see !10589)
      
      Fixes #23562
      
      Co-author: Rodrigo Mesquita (@alt-romes)
      b1e611d5
    • Matthew Pickering's avatar
      Add -fpolymorphic-specialisation flag (off by default at all optimisation levels) · 9f01d14b
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      Polymorphic specialisation has led to a number of hard to diagnose
      incorrect runtime result bugs (see #23469, #23109, #21229, #23445) so
      this commit introduces a flag `-fpolymorhphic-specialisation` which
      allows users to turn on this experimental optimisation if they are
      willing to buy into things going very wrong.
      
      Ticket #23469
      9f01d14b
    • Sylvain Henry's avatar
      JS: fix JS stack printing (#23565) · 78b2f3cc
      Sylvain Henry authored and Marge Bot's avatar Marge Bot committed
      78b2f3cc
    • Rodrigo Mesquita's avatar
      Configure MergeObjs supports response files rather than Ld · fcf310e7
      Rodrigo Mesquita authored and Marge Bot's avatar Marge Bot committed
      The previous configuration script to test whether Ld supported response
      files was
      * Incorrect (see #23542)
      * Used, in practice, to check if the *merge objects tool* supported
        response files.
      
      This commit modifies the macro to run the merge objects tool (rather
      than Ld), using a response file, and checking the result with $NM
      
      Fixes #23542
      fcf310e7
    • Ryan Scott's avatar
      Fix typechecking of promoted empty lists · c335fb7c
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      The `'[]` case in `tc_infer_hs_type` is smart enough to handle arity-0 uses of
      `'[]` (see the newly added `T23543` test case for an example), but the `'[]`
      case in `tc_hs_type` was not. We fix this by changing the `tc_hs_type` case to
      invoke `tc_infer_hs_type`, as prescribed in `Note [Future-proofing the type
      checker]`.
      
      There are some benign changes to test cases' expected output due to the new
      code path using `forall a. [a]` as the kind of `'[]` rather than `[k]`.
      
      Fixes #23543.
      c335fb7c
    • Sven Tennie's avatar
      Fix number of free double regs · ef81a1eb
      Sven Tennie authored and Marge Bot's avatar Marge Bot committed
      D1..D4 are defined for aarch64 and thus not free.
      ef81a1eb
    • Ben Gamari's avatar
      rts: Make collectFreshWeakPtrs definition a prototype · bb0ed354
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      x86-64/Darwin's toolchain inexplicably warns that collectFreshWeakPtrs
      needs to be a prototype.
      bb0ed354
Loading