commercialhaskell / commercialhaskell/stack
`tests\haddock-options` from GHC 9.6.6 to GHC 9.8.4: changed behaviour, why?
- Dominant language
- Haskell
- Stars
- 4.1k
- Forks
- 850
- Avg merge
- 10h 37m
- Merged PRs (30d)
- 4
Description
Moving from GHC 9.6.6 (LTS 22.43, `Cabal-3.10.3.0` and `haddock --version` 2.29.2) to GHC 9.8.4 (LTS 23.0, `Cabal-3.10.3.0` and `haddock --version` 2.30.0) the integration test `haddock-options` changed its behaviour, in that `haddock -haddock-arguments --optghc=-DBAR` failed to fail.
With `tests\integration\tests\haddock-options\files` as the working directory and LTS 22.43 (extracts, reformatted):
~~~text
❯ stack --snapshot lts-22.43 haddock --haddock-arguments --optghc=-DBAR
haddock-options> configure (lib)
...
haddock-options> haddock
Preprocessing library for haddock-options-0.1.0.0..
Running Haddock on library for haddock-options-0.1.0.0..
Warning: The documentation for the following packages are not installed. No
links will be generated to these packages: base-4.18.2.1, ghc-bignum-1.3,
ghc-prim-0.10.0
src\Lib.hs:10:2: error: error: FOO and BAR is defined
|
10 | #error FOO and BAR is defined
| ^
#error FOO and BAR is defined
^
1 error generated.
src\Lib.hs:1:1: error:
`clang.exe' failed in phase `C pre-processor'. (Exit code: 1)
|
1 | {-# LANGUAGE CPP #-}
| ^
Error: [S-7282]
Stack failed to execute the build plan.
While executing the build plan, Stack encountered the error:
[S-7011]
While building package haddock-options-0.1.0.0 (scroll up to its section to see the error) using:
D:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_O_vy6YIf_3.10.3.0_ghc-9.6.6.exe
--verbose=1
--builddir=.stack-work\dist\effaccc7
haddock
--html
--hoogle
--html-location=../$pkg-$version/
--haddock-option=--hyperlinked-source
--haddock-option=--quickjump
--haddock-option=--optghc=-DBAR
--haddock-option=--optghc=-DFOO
Process exited with code: ExitFailure 1
~~~
and (LTS 23.0) (extracts):
~~~text
❯ stack haddock --haddock-arguments --optghc=-DBAR
haddock-options> configure (lib)
...
haddock-options> haddock
Preprocessing library for haddock-options-0.1.0.0..
Warning: The documentation for the following packages are not installed. No
Running Haddock on library for haddock-options-0.1.0.0..
links will be generated to these packages: base-4.19.2.0, ghc-bignum-1.3,
ghc-prim-0.11.0
src\Lib.hs:10:2: error: error: FOO and BAR is defined
|
10 | #error FOO and BAR is defined
| ^
#error FOO and BAR is defined
^
1 error generated.
Haddock coverage:
haddock: Unable to find a package providing module , skipping Hoogle.
Perhaps try specifying the desired package explicitly using the --package-name
and --package-version arguments.
Documentation created: .stack-work\dist\f24b2e15\doc\html\haddock-options\,
.stack-work\dist\f24b2e15\doc\html\haddock-options\haddock-options.txt
haddock-options> copy/register
Installing library in ...\.stack-work\install\854890af\lib\x86_64-windows-ghc-9.8.4\haddock-options-0.1.0.0-CuGz8FXsCXtFtA73xMP0Gw
Registering library for haddock-options-0.1.0.0..
Updating Haddock index for project packages in:
...\.stack-work\install\854890af\doc\index.html
Updating Haddock index for project packages and dependencies in:
...\.stack-work\install\854890af\doc\all\index.html
~~~
where, before copy/register (using `--verbose`):
~~~text
Process finished in 6572ms: D:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_O_vy6YIf_3.10.3.0_ghc-9.8.4.exe
--verbose=1
--builddir=.stack-work\dist\f24b2e15
haddock
--html
--hoogle
--html-location=../$pkg-$version/
--haddock-option=--hyperlinked-source
--haddock-option=--quickjump
--haddock-option=--optghc=-DBAR
--haddock-option=--optghc=-DFOO
~~~
The `haddock` command is unchanged, so it seems likely a change in the behaviour of the `haddock` executable.
Contributor guide
Assessment
This issue has not been assessed yet.