
#11798: Explicit recompilation required to change compilation options -------------------------------------+------------------------------------- Reporter: drathier | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by dfeuer): * type: bug => feature request * architecture: x86_64 (amd64) => Unknown/Multiple * milestone: => 8.4.1 Old description:
When you recompile without modifiying any source code, nothing happens, as expected. The file is already compiled, after all. If you then add the -fhpc flag, it still doesn't recompile, even though it now should generate .tix files. These files are now unexpectedly missing, until the source files are modified or the .o and .hi files are deleted, and the code is recompiled again with the -fhpc flag.
reproduce: 1. compile program 2. compile program with -fhpc note: missing .tix file 3. delete .hi and .o files 4. compile program with -fhpc 5. success; .tix file is generated
New description: When you recompile without modifying any source code, nothing happens, as expected. The file is already compiled, after all. If you then change compilation options, such as adding the `-fhpc` or `-O2` flag, it still doesn't recompile, even though the program might now be expected to behave or perform differently. Users can work around this using `-fforce-recomp`, but perhaps they shouldn't have to, or perhaps they should be warned that this may be necessary. One option might be to record "significant" compilation options in the `.hi` file, to determine whether they have changed in a way that suggests recompilation may be in order. -- Comment: The original ticket claimed this was a bug recompiling with `-fhpc`, but in fact this is the way GHC behaves with compilation option changes in general. I've taken the liberty of modifying the title and description and making this a feature request, because I think there's a reasonable feature request here. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11798#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler