[GHC] #16018: Disabling core optimizations ignores code that would otherwise warn.
GHC
ghc-devs at haskell.org
Sun Dec 9 01:39:00 UTC 2018
#16018: Disabling core optimizations ignores code that would otherwise warn.
-------------------------------------+-------------------------------------
Reporter: dmjio | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.6.2
Component: Compiler | Version: 8.4.3
Keywords: core, | Operating System: Unknown/Multiple
optimizations, Wall |
Architecture: x86 | Type of failure: None/Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Given the below code snippet,
{{{#!hs
module Main where
main :: IO ()
main = putStrLn "hey"
data StopLight
= Red
| Green
| Yellow
deriving (Show, Eq)
data Intersection
= Intersection
{ light :: {-# UNPACK #-} !StopLight
} deriving (Show, Eq)
}}}
The above code will warn with optimizations enabled (`ghc -Wall -O2
Main.hs`), message below:
'''
Main.hs:13:5: warning:
• Ignoring unusable UNPACK pragma
on the first argument of ‘Intersection’
• In the definition of data constructor ‘Intersection’
In the data type declaration for ‘Intersection’
|
13 | = Intersection
'''
Without optimizations, no warnings are emitted `ghc -Wall -O0 Main.hs`.
The desired behavior should be a warning emitted in both cases.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16018>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list