
#14815: -XStrict prevents code inlining. -------------------------------------+------------------------------------- Reporter: danilo2 | Owner: (none) Type: bug | Status: new Priority: high | Milestone: Component: Compiler | Version: 8.2.2 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: | -------------------------------------+------------------------------------- Comment (by osa1): I'm not sure how to write a test for this. The problem is in GHC 8.2 for the `primitive` function shown in the bug report we generate a desugared function with `RHS size: {terms: 16, types: 52, coercions: 15, joins: 0/1}` without `-XStrict`, and with `-XStrict` it becomes `-- RHS size: {terms: 16, types: 58, coercions: 15, joins: 1/2}` even though there should be no difference (as is already the case with GHC 8.4 and GHC HEAD). It's hard to write a program that generates different outputs based on the term size, so I guess I have to compare desugarer outputs with and without `-XStrict`, but even then I get different variables generated in each run, so I need equality modulo renaming.. bgamari, do you know how to implement such a test? Do we have any similar tests in the test suite already? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14815#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler