Skip to content

Commit

Permalink
add new non-compile-affecting options for ghc 9.12
Browse files Browse the repository at this point in the history
- ghc 9.12 adds several new command line options, divided between
  `LANGUAGE`s (already added), warnings, new preprocessor control options,
  and compilation control options. Two options needed to be added to the
  list of options requiring `Int` parameters.

  The new options, excluding warning and language options, are:

  * `-fexpose-overloaded-unfoldings`
  * `-fmax-forced-spec-args=N`
  * `-fno-expose-overloaded-unfoldings`
  * `-fno-object-determinism`
  * `-fobject-determinism`
  * `-fwrite-if-compression=N`
  * `-optCmmP…`
  * `-optJSP…`
  * `-pgmCmmP`
  * `-pgmJSP`

  As they all affect compilation and store hashes, the only necessary
  change was to list the two numeric options so they will be parsed
  correctly. To the best of our understanding, `-pgm*` and `-opt*`
  options are already handled as a group.
  • Loading branch information
geekosaur authored and Mikolaj committed Oct 26, 2024
1 parent cb167c8 commit 6578978
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
1 change: 1 addition & 0 deletions Cabal/src/Distribution/Simple/Program/GHC.hs
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,7 @@ normaliseGhcArgs (Just ghcVersion) PackageDescription{..} ghcArgs
]
, from [8, 2] ["-fmax-uncovered-patterns", "-fmax-errors"]
, from [8, 4] $ to [8, 6] ["-fmax-valid-substitutions"]
, from [9, 12] ["-fmax-forced-spec-args", "-fwrite-if-compression"]
]

dropIntFlag :: Bool -> String -> String -> Any
Expand Down
31 changes: 31 additions & 0 deletions changelog.d/pr-10468
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
synopsis: Add new options from ghc 9.12
packages: Cabal
prs: #10468
significance:

description: {

- ghc 9.12 adds several new command line options, divided between
`LANGUAGE`s (already added), warnings, new preprocessor control options,
and compilation control options. Two options needed to be added to the
list of options requiring `Int` parameters.

The new options, excluding warning and language options, are:

* `-fexpose-overloaded-unfoldings`
* `-fmax-forced-spec-args=N`
* `-fno-expose-overloaded-unfoldings`
* `-fno-object-determinism`
* `-fobject-determinism`
* `-fwrite-if-compression=N`
* `-optCmmP…`
* `-optJSP…`
* `-pgmCmmP`
* `-pgmJSP`

As they all affect compilation and store hashes, the only necessary
change was to list the two numeric options so they will be parsed
correctly. To the best of our understanding, `-pgm*` and `-opt*`
options are already handled as a group.

}

0 comments on commit 6578978

Please sign in to comment.