Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
  • Sign in / Register
GHC
GHC
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
    • Insights
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
    • Locked Files
  • Issues 3,610
    • Issues 3,610
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 200
    • Merge Requests 200
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Security & Compliance
    • Security & Compliance
    • Dependency List
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #7027

Closed
Open
Opened Jun 24, 2012 by selinger@trac-selinger
  • Report abuse
  • New issue
Report abuse New issue

Lots of unnecessary recompilation

The release notes for 7.4 state:

"The recompilation checker now takes into account what flags were used when compiling. For example, if you first run ghc -c Foo.hs, and then ghc -DBAR -c Foo.hs, then GHC will now recompile Foo.hs."

This has some undesired side effects. For example, I have a project with over 100 source files. Sometimes I like to try a different main function with -main-is, just for testing. This worked fine with 7.2, but ghc 7.4, in this situation, recompiles the whole world - including the 99 source files that are unaffected by this option.

Since this new behavior involves a - sometimes substantial - tradeoff between safety and efficiency, can there please be a command line option to turn it off? At least until someone figures out a way to do it smartly.

To reproduce: recompile any already compiled multi-module program with -main-is. Thanks, -- Peter

Trac metadata
Trac field Value
Version 7.4.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture

Related issues

  • Discussion
  • Designs
Assignee
Assign to
7.4.2
Milestone
7.4.2
Assign milestone
Time tracking
None
Due date
None
3
Labels
bug P::normal Trac import
Assign labels
  • View project labels
Reference: ghc/ghc#7027