[GHC] #14659: assertions are turned off if -O2 comes after -fno-ignore-asserts
GHC
ghc-devs at haskell.org
Wed Jan 10 14:01:19 UTC 2018
#14659: assertions are turned off if -O2 comes after -fno-ignore-asserts
-------------------------------------+-------------------------------------
Reporter: mwotton | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
test.hs:
{{{#!hs
import Control.Exception
main = assert False (return ())
}}}
➜ ~ rm test; rm test.o; stack ghc -- -fno-ignore-asserts -O2 test.hs;
./test && echo $?
[1 of 1] Compiling Main ( test.hs, test.o )
Linking test ...
0
➜ ~ rm test; rm test.o; stack ghc -- -O2 -fno-ignore-asserts test.hs;
./test && echo $?
[1 of 1] Compiling Main ( test.hs, test.o )
Linking test ...
test: Assertion failed
CallStack (from HasCallStack):
assert, called at test.hs:3:8 in main:Main
```
tested with ghc 8.0.2 and 8.2.2.
would have expected -fno-ignore-asserts to override -O2, no matter where
it is in the options list.
https://twitter.com/AlecMuffett/status/950699975767482370 shows how
dangerous this could be.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14659>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list