Unix library apparently broken

Sam Derbyshire sam.derbyshire at gmail.com
Tue Sep 6 16:27:21 UTC 2022


Hi Simon,

This is due to my patch 4786acf7
<https://gitlab.haskell.org/ghc/ghc/-/commit/4786acf758ef064d3b79593774d1672e294b0afb>
landing, which means GHC does better at recognising the redundant pattern
match.
That MR also updated the unix submodule, in order to suppress that pattern
match warning.

So I would guess that you have not updated the unix submodule after
rebasing your MR; perhaps try "git submodule update"?
The unix submodule is currently on commit 2a6079a2
<https://gitlab.haskell.org/ghc/ghc/-/commit/4786acf758ef064d3b79593774d1672e294b0afb>
.

Hope that helps,

Sam

On Tue, 6 Sept 2022 at 17:52, Simon Peyton Jones <
simon.peytonjones at gmail.com> wrote:

> My !8750 builds are failing in the Unix library with the "pattern match is
> redundant" message below.
>
> And indeed the pattern match is redundant.  Here's the .hs version of the
> file
>
> unpackRLimit :: CRLim -> ResourceLimit
> unpackRLimit (18446744073709551615)  = ResourceLimitInfinity
> {-# LINE 101 "libraries/unix/System/Posix/Resource.hsc" #-}
> unpackRLimit other
>
> {-# LINE 103 "libraries/unix/System/Posix/Resource.hsc" #-}
>     | ((18446744073709551615) :: CRLim) /= (18446744073709551615) &&
> {-# LINE 104 "libraries/unix/System/Posix/Resource.hsc" #-}
>       other == (18446744073709551615) = ResourceLimitUnknown
> {-# LINE 105 "libraries/unix/System/Posix/Resource.hsc" #-}
>
> {-# LINE 106 "libraries/unix/System/Posix/Resource.hsc" #-}
>
> {-# LINE 107 "libraries/unix/System/Posix/Resource.hsc" #-}
>     | ((18446744073709551615) :: CRLim) /= (18446744073709551615) &&
> {-# LINE 108 "libraries/unix/System/Posix/Resource.hsc" #-}
>       other == (18446744073709551615) = ResourceLimitUnknown
> {-# LINE 109 "libraries/unix/System/Posix/Resource.hsc" #-}
>
> {-# LINE 110 "libraries/unix/System/Posix/Resource.hsc" #-}
>     | otherwise = ResourceLimit (fromIntegral other)
>
> The red line means that the blue lines will fail.
>
> So the warning looks correct.  But it's stopping my CI from working.  I
> have no idea why this doesn't happen in HEAD.   Can anyone help?
>
> Thanks
>
> Simon
>
>
> Command line: _build/stage0/bin/aarch64-linux-gnu-ghc -Wall -Wcompat
> -fdiagnostics-color=never -dynamic-too -hisuf hi -osuf o -hcsuf hc -static
> -hide-all-packages -no-user-package-db '-package-env -' '-package-db
> _build/stage1/lib/package.conf.d' '-this-unit-id unix-2.7.2.2' '-package-id
> base-4.17.0.0' '-package-id bytestring-0.11.3.1' '-package-id time-1.12.2'
> -i -i/builds/ghc/ghc/_build/stage1/libraries/unix/build
> -i/builds/ghc/ghc/_build/stage1/libraries/unix/build/autogen
> -i/builds/ghc/ghc/libraries/unix -Irts/include
> -I_build/stage1/libraries/unix/build
> -I_build/stage1/libraries/unix/build/include -Ilibraries/unix/include
> -I/builds/ghc/ghc/_build/stage1/lib/aarch64-linux-ghc-9.5.20220906/time-1.12.2/include
> -I/builds/ghc/ghc/_build/stage1/lib/aarch64-linux-ghc-9.5.20220906/bytestring-0.11.3.1/include
> -I/builds/ghc/ghc/_build/stage1/lib/aarch64-linux-ghc-9.5.20220906/base-4.17.0.0/include
> -I/builds/ghc/ghc/_build/stage1/lib/aarch64-linux-ghc-9.5.20220906/ghc-bignum-1.3/include
> -I/builds/ghc/ghc/_build/stage1/lib/aarch64-linux-ghc-9.5.20220906/rts-1.0.2/include
> -optP-include
> -optP_build/stage1/libraries/unix/build/autogen/cabal_macros.h -outputdir
> _build/stage1/libraries/unix/build -Wnoncanonical-monad-instances
> -optc-Wno-error=inline -optP-Wno-nonportable-include-path -c
> _build/stage1/libraries/unix/build/System/Posix/Resource.hs -o
> _build/stage1/libraries/unix/build/System/Posix/Resource.o
> -fllvm-fill-undef-with-garbage -dno-debug-output -Wall -XHaskell2010
> -no-global-package-db
> -package-db=/builds/ghc/ghc/_build/stage1/lib/package.conf.d
> -ghcversion-file=rts/include/ghcversion.h
> -ghcversion-file=rts/include/ghcversion.h -O -Wno-deprecated-flags -Werror
> -dlint
> ===> Command failed with error code: 1
> libraries/unix/System/Posix/Resource.hsc:107:7: error:
> [-Woverlapping-patterns, -Werror=overlapping-patterns]
> Pattern match is redundant
> In an equation for ‘unpackRLimit’:
> unpackRLimit other | ((18446744073709551615) :: CRLim)
> /= (18446744073709551615)
> && other == (18446744073709551615) = ...
> |
> 107 | | ((#const RLIM_SAVED_CUR) :: CRLim) /= (#const RLIM_INFINITY) &&
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20220906/543b1232/attachment.html>


More information about the ghc-devs mailing list