Skip to content
Snippets Groups Projects
  1. Jan 07, 2023
    • Matthew Pickering's avatar
      Disable split sections on aarch64-deb10 build · e68e4432
      Matthew Pickering authored
      See #22722
      
      Failure on this job:
      
      https://gitlab.haskell.org/ghc/ghc/-/jobs/1287852
      
      ```
      Unexpected failures:
         /builds/ghc/ghc/tmp/ghctest-s3d8g1hj/test   spaces/testsuite/tests/th/T10828.run  T10828 [exit code non-0] (ext-interp)
         /builds/ghc/ghc/tmp/ghctest-s3d8g1hj/test   spaces/testsuite/tests/th/T13123.run  T13123 [exit code non-0] (ext-interp)
         /builds/ghc/ghc/tmp/ghctest-s3d8g1hj/test   spaces/testsuite/tests/th/T20590.run  T20590 [exit code non-0] (ext-interp)
      Appending 232 stats to file: /builds/ghc/ghc/performance-metrics.tsv
      ```
      
      ```
      Compile failed (exit code 1) errors were:
      data family D_0 a_1 :: * -> *
      data instance D_0 GHC.Types.Int GHC.Types.Bool :: * where
          DInt_2 :: D_0 GHC.Types.Int GHC.Types.Bool
      data E_3 where MkE_4 :: a_5 -> E_3
      data Foo_6 a_7 b_8 where
          MkFoo_9, MkFoo'_10 :: a_11 -> Foo_6 a_11 b_12
      newtype Bar_13 :: * -> GHC.Types.Bool -> * where
          MkBar_14 :: a_15 -> Bar_13 a_15 b_16
      data T10828.T (a_0 :: *) where
          T10828.MkT :: forall (a_1 :: *) . a_1 -> a_1 -> T10828.T a_1
          T10828.MkC :: forall (a_2 :: *) (b_3 :: *) . (GHC.Types.~) a_2
                                                                     GHC.Types.Int => {T10828.foo :: a_2,
                                                                                       T10828.bar :: b_3} -> T10828.T GHC.Types.Int
      T10828.hs:1:1: error: [GHC-87897]
          Exception when trying to run compile-time code:
            ghc-iserv terminated (-4)
          Code: (do TyConI dec <- runQ $ reify (mkName "T")
                    runIO $ putStrLn (pprint dec) >> hFlush stdout
                    d <- runQ
                           $ [d| data T' a :: Type
                                   where
                                     MkT' :: a -> a -> T' a
                                     MkC' :: forall a b. (a ~ Int) => {foo :: a, bar :: b} -> T' Int |]
                    runIO $ putStrLn (pprint d) >> hFlush stdout
                    ....)
      *** unexpected failure for T10828(ext-interp)
      =====> 7000 of 9215 [0, 1, 0]
      =====> 7000 of 9215 [0, 1, 0]
      =====> 7000 of 9215 [0, 1, 0]
      =====> 7000 of 9215 [0, 1, 0]
      Compile failed (exit code 1) errors were:
      T13123.hs:1:1: error: [GHC-87897]
          Exception when trying to run compile-time code:
            ghc-iserv terminated (-4)
          Code: ([d| data GADT
                       where MkGADT :: forall k proxy (a :: k). proxy a -> GADT |])
      *** unexpected failure for T13123(ext-interp)
      =====> 7100 of 9215 [0, 2, 0]
      =====> 7100 of 9215 [0, 2, 0]
      =====> 7200 of 9215 [0, 2, 0]
      Compile failed (exit code 1) errors were:
      T20590.hs:1:1: error: [GHC-87897]
          Exception when trying to run compile-time code:
            ghc-iserv terminated (-4)
          Code: ([d| data T where MkT :: forall a. a -> T |])
      *** unexpected failure for T20590(ext-interp)
      ```
      
      Looks fairly worrying to me.
      e68e4432
  2. Jan 06, 2023
    • Matthew Pickering's avatar
      Only store Name in FunRhs rather than Id with knot-tied fields · ac39e8e9
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      All the issues here have been caused by #18758.
      The goal of the ticket is to be able to talk about things like
      `LTyClDecl GhcTc`. In the case of HsMatchContext,
      the correct "context" is whatever we want, and in fact storing just a
      `Name` is sufficient and correct context, even if the rest of the AST is
      storing typechecker Ids.
      
      So this reverts (#20415, !5579) which intended to get closed to #18758 but
      didn't really and introduced a few subtle bugs.
      
      Printing of an error message in #22695 would just hang, because we would
      attempt to print the `Id` in debug mode to assertain whether it was
      empty or not. Printing the Name is fine for the error message.
      
      Another consequence is that when `-dppr-debug` was enabled the compiler would
      hang because the debug printing of the Id would try and print fields
      which were not populated yet.
      
      This also led to 32070e6c having to add
      a workaround for the `checkArgs` function which was probably a very
      similar bug to #22695.
      
      Fixes #22695
      ac39e8e9
    • Luite Stegeman's avatar
      Add support for sized literals in the bytecode interpreter. · 28f8c0eb
      Luite Stegeman authored
      The bytecode interpreter only has branching instructions for
      word-sized values. These are used for pattern matching.
      Branching instructions for other types (e.g. Int16# or Word8#)
      weren't needed, since unoptimized Core or STG never requires
      branching on types like this.
      
      It's now possible for optimized STG to reach the bytecode
      generator (e.g. fat interface files or certain compiler flag
      combinations), which requires dealing with various sized
      literals in branches.
      
      This patch improves support for generating bytecode from
      optimized STG by adding the following new bytecode
      instructions:
      
          TESTLT_I64
          TESTEQ_I64
          TESTLT_I32
          TESTEQ_I32
          TESTLT_I16
          TESTEQ_I16
          TESTLT_I8
          TESTEQ_I8
          TESTLT_W64
          TESTEQ_W64
          TESTLT_W32
          TESTEQ_W32
          TESTLT_W16
          TESTEQ_W16
          TESTLT_W8
          TESTEQ_W8
      
      Fixes #21945
      28f8c0eb
    • Matthew Pickering's avatar
      Revert "configure: Drop uses of AC_PROG_CC_C99" · b2a2db04
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      This reverts commit 7c6de18d.
      
      Centos7 using a very old version of the toolchain (autotools-2.69) where
      the behaviour of these macros has not yet changed. I am reverting this
      without haste as it is blocking the 9.6 branch.
      
      Fixes #22704
      b2a2db04
    • Vladislav Zavialov's avatar
      HsToken in TypeArg (#19623) · 9e077999
      Vladislav Zavialov authored and Marge Bot's avatar Marge Bot committed
      Updates the haddock submodule.
      9e077999
  3. Jan 05, 2023
    • Alan Zimmerman's avatar
      EPA: Do not collect comments from end of file · 22bb8998
      Alan Zimmerman authored and Marge Bot's avatar Marge Bot committed
      In Parser.y semis1 production triggers for the virtual semi at the end
      of the file. This is detected by it being zero length.
      
      In this case, do not extend the span being used to gather comments, so
      any final comments are allocated at the module level instead.
      22bb8998
    • Krzysztof Gogolewski's avatar
      Misc cleanup · 541aedcd
      Krzysztof Gogolewski authored and Marge Bot's avatar Marge Bot committed
      - Remove unused uniques and hs-boot declarations
      - Fix types of seq and unsafeCoerce#
      - Remove FastString/String roundtrip in JS
      - Use TTG to enforce totality
      - Remove enumeration in Heap/Inspect; the 'otherwise' clause
        serves the primitive types well.
      541aedcd
  4. Jan 04, 2023
  5. Jan 03, 2023
  6. Dec 25, 2022
  7. Dec 24, 2022
Loading