Skip to content
Snippets Groups Projects
  1. Feb 17, 2024
    • Cheng Shao's avatar
      testsuite: fix hs_try_putmvar002 for targets without pthread.h · 2ce2a493
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      hs_try_putmvar002 includes pthread.h and doesn't work on targets
      without this header (e.g. wasm32). It doesn't need to include this
      header at all. This was previously unnoticed by wasm CI, though recent
      toolchain upgrade brought in upstream changes that completely removes
      pthread.h in the single-threaded wasm32-wasi sysroot, therefore we
      need to handle that change.
      2ce2a493
  2. Jan 20, 2024
  3. Dec 14, 2023
  4. Aug 01, 2023
  5. Jul 06, 2023
  6. Jun 13, 2023
  7. Apr 27, 2023
  8. Apr 21, 2023
  9. Feb 28, 2023
  10. Feb 06, 2023
    • Sylvain Henry's avatar
      JS: replace "js" architecture with "javascript" · 6636b670
      Sylvain Henry authored and Marge Bot's avatar Marge Bot committed
      
      Despite Cabal supporting any architecture name, `cabal --check` only
      supports a few built-in ones. Sadly `cabal --check` is used by Hackage
      hence using any non built-in name in a package (e.g. `arch(js)`) is
      rejected and the package is prevented from being uploaded on Hackage.
      
      Luckily built-in support for the `javascript` architecture was added for
      GHCJS a while ago. In order to allow newer `base` to be uploaded on
      Hackage we make the switch from `js` to `javascript` architecture.
      
      Fixes #22740.
      
      Co-authored-by: default avatarBen Gamari <ben@smart-cactus.org>
      6636b670
  11. Jan 18, 2023
    • Sylvain Henry's avatar
      testsuite: req_smp --> req_target_smp, req_ghc_smp · 06036d93
      Sylvain Henry authored and Marge Bot's avatar Marge Bot committed
      See #22630 and !9552
      
      This commit:
       - splits req_smp into req_target_smp and req_ghc_smp
       - changes the testsuite driver to calculate req_ghc_smp
       - changes a handful of tests to use req_target_smp instead of req_smp
       - changes a handful of tests to use req_host_smp when needed
      
      The problem:
       - the problem this solves is the ambiguity surrounding req_smp
       - on master req_smp was used to express the constraint that the program
       being compiled supports smp _and_ that the host RTS (i.e., the RTS used
       to compile the program) supported smp. Normally that is fine, but in
       cross compilation this is not always the case as was discovered in #22630.
      
      The solution:
       - Differentiate the two constraints:
         - use req_target_smp to say the RTS the compiled program is linked
         with (and the platform) supports smp
         - use req_host_smp to say the RTS the host is linked with supports smp
      
      WIP: fix req_smp (target vs ghc)
      
      add flag to separate bootstrapper
      
      split req_smp -> req_target_smp and req_ghc_smp
      
      update tests smp flags
      
      cleanup and add some docstrings
      
      only set ghc_with_smp to bootstrapper on S1 or CC
      
      Only set ghc_with_smp to bootstrapperWithSMP of when testing stage 1
      and cross compiling
      
      test the RTS in config/ghc not hadrian
      
      re-add ghc_with_smp
      
      fix and align req names
      
      fix T11760 to use req_host_smp
      
      test the rts directly, avoid python 3.5 limitation
      
      test the compiler in a try block
      
      align out of tree and in tree withSMP flags
      
      mark failing tests as host req smp
      
      testsuite: req_host_smp --> req_ghc_smp
      
      Fix ghc vs host, fix ghc_with_smp leftover
      06036d93
  12. Dec 09, 2022
  13. Nov 29, 2022
  14. Nov 11, 2022
  15. Aug 10, 2022
  16. Apr 01, 2022
  17. Jan 27, 2022
  18. Dec 22, 2021
    • Matthew Pickering's avatar
      testsuite: Remove reqlib modifier · 3ed90911
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      The reqlib modifer was supposed to indicate that a test needed a certain
      library in order to work. If the library happened to be installed then
      the test would run as normal.
      
      However, CI has never run these tests as the packages have not been
      installed and we don't want out tests to depend on things which might
      get externally broken by updating the compiler.
      
      The new strategy is to run these tests in head.hackage, where the tests
      have been cabalised as well as possible. Some tests couldn't be
      transferred into the normal style testsuite but it's better than never
      running any of the reqlib tests. head.hackage!169
      
      A few submodules also had reqlib tests and have been updated to remove
      it.
      
      Closes #16264 #20032 #17764 #16561
      3ed90911
  19. Nov 06, 2021
    • Sylvain Henry's avatar
      Make Word64 use Word64# on every architecture · 2800eee2
      Sylvain Henry authored and Marge Bot's avatar Marge Bot committed
      2800eee2
    • Sylvain Henry's avatar
      Remove target dependent CPP for Word64/Int64 (#11470) · 20956e57
      Sylvain Henry authored and Marge Bot's avatar Marge Bot committed
      Primops types were dependent on the target word-size at *compiler*
      compilation time. It's an issue for multi-target as GHC may not have the
      correct primops types for the target.
      
      This patch fixes some primops types: if they take or return fixed 64-bit
      values they now always use `Int64#/Word64#`, even on 64-bit
      architectures (where they used `Int#/Word#` before). Users of these
      primops may now need to convert from Int64#/Word64# to Int#/Word# (a
      no-op at runtime).
      
      This is a stripped down version of !3658 which goes the all way of
      changing the underlying primitive types of Word64/Int64. This is left
      for future work.
      
      T12545 allocations increase ~4% on some CI platforms and decrease ~3% on
      AArch64.
      
      Metric Increase:
          T12545
      
      Metric Decrease:
          T12545
      20956e57
  20. Aug 02, 2021
    • Peter Trommler's avatar
      PrimOps: Add CAS op for all int sizes · b4d39adb
      Peter Trommler authored and Marge Bot's avatar Marge Bot committed
      PPC NCG: Implement CAS inline for 32 and 64 bit
      testsuite: Add tests for smaller atomic CAS
      X86 NCG: Catch calls to CAS C fallback
      Primops: Add atomicCasWord[8|16|32|64]Addr#
      Add tests for atomicCasWord[8|16|32|64]Addr#
      Add changelog entry for new primops
      X86 NCG: Fix MO-Cmpxchg W64 on 32-bit arch
      ghc-prim: 64-bit CAS C fallback on all archs
      b4d39adb
  21. Jul 09, 2021
  22. May 07, 2021
    • Moritz Angermann's avatar
      [testsuite/darwin] fix conc059 · 79019dd6
      Moritz Angermann authored
      This resolves the following:
      
      Compile failed (exit code 1) errors were:
      conc059_c.c:27:5: error:
           error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
              exit(0);
              ^
      conc059_c.c:27:5: error:
           note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
      
      (cherry picked from commit 5a6c36ec)
      Verified
      79019dd6
  23. Apr 06, 2021
  24. Mar 22, 2021
    • Moritz Angermann's avatar
      [ci/arm/darwin/testsuite] Forwards ports from GHC-8.10 · 0cbdba27
      Moritz Angermann authored
      This is a set of forward ports (cherry-picks) from 8.10
      
      - a7d22795 [ci] Add support for building on aarch64-darwin
      - 5109e87e [testlib/driver] denoise
      - 307d3494 [ci] default value for CONFIGURE_ARGS
      - 10a18cb4 [testsuite] mark ghci056 as fragile
      - 16c13d5a [ci] Default value for MAKE_ARGS
      - ab571457 [ci/build] Copy config.sub around
      - 251892b9 [ci/darwin] bump nixpkgs rev
      - 5a6c36ec [testsuite/darwin] fix conc059
      - aae95ef0 [ci] add timing info
      - 3592d110 [Aarch64] No div-by-zero; disable test.
      - 57671071 [Darwin] mark stdc++ tests as broken
      - 33c4d497 [testsuite] filter out superfluous dylib warnings
      - 4bea83af [ci/nix-shell] Add Foundation and Security
      - 63455300 [testsuite/json2] Fix failure with LLVM backends
      - c3944bc8 [ci/nix-shell] [Darwin] Stop the ld warnings about libiconv.
      - b821fcc7 [testsuite] static001 is not broken anymore.
      - f7062e1b [testsuite/arm64] fix section_alignment
      - 820b0766 [darwin] stop the DYLD_LIBRARY_PATH madness
      - 07b1af03 [ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}
      
      As well as a few additional fixups needed to make this block compile:
      - Fixup all.T
      - Set CROSS_TARGET, BROKEN_TESTS, XZ, RUNTEST_ARGS, default value.
      - [ci] shell.nix bump happy
      0cbdba27
  25. Feb 27, 2021
  26. Feb 22, 2021
  27. Jan 10, 2021
    • Ben Gamari's avatar
      testsuite: Increase delay in conc059 · 78629c24
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      As noted in #19179, conc059 can sometimes fail due to too short of a
      delay in the its Haskell threads. Address this by increasing the delay
      by an order of magnitude to 5 seconds.
      
      While I'm in town I refactored the test to eliminate a great deal of
      unnecessary platform dependence, eliminate use of the deprecated
      usleep, and properly handle interruption by signals.
      
      Fixes #19179.
      78629c24
  28. Nov 16, 2020
  29. Nov 05, 2020
    • vdukhovni's avatar
      Naming, value types and tests for Addr# atomics · 17d5c518
      vdukhovni authored and Marge Bot's avatar Marge Bot committed
      The atomic Exchange and CAS operations on integral types are updated to
      take and return more natural `Word#` rather than `Int#` values.  These
      are bit-block not arithmetic operations, and the sign bit plays no
      special role.
      
      Standardises the names to `atomic<OpType><ValType>Addr#`, where `OpType` is one
      of `Cas` or `Exchange` and `ValType` is presently either `Word` or `Addr`.
      Eventually, variants for `Word32` and `Word64` can and should be added,
      once #11953 and related issues (e.g. #13825) are resolved.
      
      Adds tests for `Addr#` CAS that mirror existing tests for
      `MutableByteArray#`.
      17d5c518
  30. Oct 25, 2020
  31. Oct 15, 2020
  32. Oct 07, 2020
    • Krzysztof Gogolewski's avatar
      Misc cleanup · e91ddddd
      Krzysztof Gogolewski authored and Marge Bot's avatar Marge Bot committed
      * Include funTyCon in exposedPrimTyCons.
        Every single place using exposedPrimTyCons was adding funTyCon
        manually.
      * Remove unused synTyConResKind and ieLWrappedName
      * Add recordSelectorTyCon_maybe
      * In exprType, panic instead of giving a trace message and dummy output.
        This prevents #18767 reoccurring.
      * Fix compilation error in fragile concprog001 test (part of #18732)
      e91ddddd
  33. Aug 07, 2020
  34. Jun 10, 2020
    • Sylvain Henry's avatar
      test: fix conc038 · 8d07c48c
      Sylvain Henry authored and Marge Bot's avatar Marge Bot committed
      We had spurious failures of conc038 test on CI with stdout:
      
      ```
       newThread started
      -mainThread
      -Haskell: 2
       newThread back again
      +mainThread
       1 sec later
      
       shutting down
      +Haskell: 2
      ```
      8d07c48c
  35. Apr 26, 2020
Loading