Properly cast values when writing/reading unboxed sums.
Unboxed sums might store a Int8# value as Int64#. This patch makes sure we keep track of the actual value type. See Note [Casting slot arguments] for the details.
Showing
- compiler/GHC/Builtin/PrimOps/Casts.hs 212 additions, 0 deletionscompiler/GHC/Builtin/PrimOps/Casts.hs
- compiler/GHC/Cmm/CLabel.hs 2 additions, 1 deletioncompiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Core/TyCon.hs 20 additions, 0 deletionscompiler/GHC/Core/TyCon.hs
- compiler/GHC/Driver/Flags.hs 1 addition, 0 deletionscompiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs 5 additions, 2 deletionscompiler/GHC/Driver/Session.hs
- compiler/GHC/Stg/Syntax.hs 14 additions, 3 deletionscompiler/GHC/Stg/Syntax.hs
- compiler/GHC/Stg/Unarise.hs 324 additions, 66 deletionscompiler/GHC/Stg/Unarise.hs
- compiler/GHC/Types/RepType.hs 8 additions, 7 deletionscompiler/GHC/Types/RepType.hs
- compiler/GHC/Utils/Outputable.hs 2 additions, 0 deletionscompiler/GHC/Utils/Outputable.hs
- compiler/ghc.cabal.in 1 addition, 0 deletionscompiler/ghc.cabal.in
- docs/users_guide/debugging.rst 10 additions, 0 deletionsdocs/users_guide/debugging.rst
- testsuite/driver/testlib.py 6 additions, 3 deletionstestsuite/driver/testlib.py
- testsuite/tests/unboxedsums/GenManyUbxSums.hs 109 additions, 0 deletionstestsuite/tests/unboxedsums/GenManyUbxSums.hs
- testsuite/tests/unboxedsums/ManyUbxSums.stdout 1 addition, 0 deletionstestsuite/tests/unboxedsums/ManyUbxSums.stdout
- testsuite/tests/unboxedsums/ManyUbxSums_Addr.hs 26 additions, 0 deletionstestsuite/tests/unboxedsums/ManyUbxSums_Addr.hs
- testsuite/tests/unboxedsums/T22208.hs 41 additions, 0 deletionstestsuite/tests/unboxedsums/T22208.hs
- testsuite/tests/unboxedsums/all.T 9 additions, 0 deletionstestsuite/tests/unboxedsums/all.T
Loading
Please register or sign in to comment