GHC panics when Cmm-compiling `STK_CHK_GEN_N (8);`
The following Cmm code snippet compiles fine
foo ()
{
STK_CHK_GEN_N (((1)*8)); /* works */
return (0);
}
The following one, however, only compiles with -O0, but panics with -O1 or more:
foo ()
{
STK_CHK_GEN_N (8); /* panics */
return (0);
}
ghc: panic! (the 'impossible' happened)
(GHC version 7.8.3 for x86_64-unknown-linux):
bundle
c1 foo [(c1,
label: block{v c1}_info
rep:StackRep [])]
[(c0, {}), (c3, {})]
foo() // []
{ info_tbl: [(c1,
label: block{v c1}_info
rep:StackRep [])]
stack_info: arg_space: 8 updfr_space: Just 8
}
{offset
c0: R1 = 0;
call (P64[Sp])(R1) args: 8, res: 0, upd: 8;
}
}
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.8.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | simonmar |
| Operating system | |
| Architecture |