Compiling lx (the lexical analyser generator) with -O, everything goes
smoothly until we get to the main file Lx.hs, on which ghc-3.02 panics
and dies. The (long!) -v output is included below. If I compile without
-O, everything is fine.
I don't include the lx source, because I think that's available; I?m
trying to compile lx-0.95 from 10th July, 96, with trivial modifications
(had to change :='s into (,))
By the way, does ghc treat static data, such
as the huge literal lists generated by lx, any different from what it does
other code? Can one, say, force it so assume that those lists will be
needed strictly, so that it constructs them right away?
-- m
-----------------------------------------------------------------------
Mariano Suarez Alvarez The introduction of
Departamento de Matematica numbers as coordinates
Universidad Nacional de Rosario [...] is an act of violence
Pellegrini 250 A. Weyl
2000 Rosario - Argentina
e-mail: [EMAIL PROTECTED]
-----------------------------------------------------------------------
ghc -H15M -O -v -c Lx.hs
The Glorious Glasgow Haskell Compilation System, version 3.02, patchlevel 0
Effective command line: -H15M -O -v -c
Ineffective C pre-processor:
echo '{-# LINE 1 "Lx.hs" -}' > /tmp/ghc687.cpp && cat Lx.hs >> /tmp/ghc687.cpp
real 0m0.002s
user 0m0.010s
sys 0m0.000s
ghc:compile:Output file Lx.o doesn't exist
ghc:compile:Interface file Lx.hi doesn't exist
ghc:recompile:Input file Lx.hs newer than Lx.o
Haskell compiler:
/home/mariano/lib/ghc-3.02/hsc ,-W ,/tmp/ghc687.cpp -fdo-eta-reduction
-fsimplify [ -fkeep-spec-pragma-ids -fmax-simplifier-iterations1 -fpedantic-bottoms ]
-fspecialise-overloaded -fspecialise -fsimplify [ -ffloat-lets-exposing-whnf
-ffloat-primops-
ok -fcase-of-case -fdo-case-elim -fcase-merge -fdo-lambda-eta-expansion -freuse-con
-fpedantic-bottoms -fmax-simplifier-iterations4 -fclone-binds ] -ffull-laziness
-ffloat-inwards -fsimplify [ -ffloat-lets-exposing-whnf -ffloat-primops-ok
-fcase-of-cas
e -fdo-case-elim -fcase-merge -fdo-eta-reduction -fdo-lambda-eta-expansion -freuse-con
-fpedantic-bottoms -fmax-simplifier-iterations4 ] -fstrictness -fsimplify [
-ffloat-lets-exposing-whnf -ffloat-primops-ok -fcase-of-case -fdo-case-elim
-fcase-merge
-fdo-lambda-eta-expansion -freuse-con -flet-to-case -fpedantic-bottoms
-fmax-simplifier-iterations4 ] -ffloat-inwards -fsimplify [
-ffloat-lets-exposing-whnf -ffloat-primops-ok -fcase-of-case -fdo-case-elim
-fcase-merge -fdo-lambda-eta-expansion -freu
se-con -flet-to-case -fignore-inline-pragma -fpedantic-bottoms
-fmax-simplifier-iterations4 ] -flambda-lift -flet-no-escape
-fwarn-overlapping-patterns -fwarn-missing-methods -fwarn-duplicate-exports
-himap=.%.hi:/home/mariano/lib/ghc-3.02/imports/st
d%.hi -v -hifile=/tmp/ghc687.hi -C=/tmp/ghc687.hc +RTS -H15000000 -K1000000
Glasgow Haskell Compiler, version 3.02, for Haskell 1.4
Lx.hs:849:
Pattern match(es) are overlapped
in the definition of function `copy'
m x = ...
NOTE: Simplifier still going after 4 iterations; bailing out.
NOTE: Simplifier still going after 4 iterations; bailing out.
Warning: discarding polymorphic case: PrelErr.error{-87-}
_@_ RExp.Set{-rTV-} Map.$ga{-rS7-}
panic! (the `impossible' happened):
lookupBindC:no info!
for: x_nm_sx4f
(probably: data dependencies broken by an optimisation pass)
static binds for:
Main.$gn{-gn-}
Main.$go{-go-}
Main.$gp{-gp-}
Main.$gq{-gq-}
Main.$gr{-gr-}
Main.$gs{-gs-}
Main.$g41{-g41-}
Main.$g47{-g47-}
Main.$g4q{-g4q-}
Main.$g4r{-g4r-}
Main.$g4s{-g4s-}
Main.$g4t{-g4t-}
Main.$g4u{-g4u-}
Main.$g4v{-g4v-}
Main.$g4w{-g4w-}
Main.$g4x{-g4x-}
Main.$g4y{-g4y-}
Main.$g4z{-g4z-}
Main.$g4A{-g4A-}
Main.$g4B{-g4B-}
Main.$g4D{-g4D-}
Main.$g4E{-g4E-}
Main.$g4K{-g4K-}
Main.$g4L{-g4L-}
Main.$g4M{-g4M-}
Main.$g4N{-g4N-}
Main.$g4Y{-g4Y-}
Main.$g53{-g53-}
Main.$g54{-g54-}
Main.$g56{-g56-}
Main.$g57{-g57-}
Main.$g58{-g58-}
Main.$g59{-g59-}
Main.$g5a{-g5a-}
Main.$g14iu{-g14iu-}
Main.$g14iA{-g14iA-}
Main.$g14iF{-g14iF-}
Main.$g14js{-g14js-}
Main.$g14jx{-g14jx-}
Main.$g14jI{-g14jI-}
Main.MacroLE{-r1C-}
Main.SyntaxLE{-r1D-}
Main.RMac{-r1E-}
Main.SMac{-r1F-}
Main.PrdT{-r1G-}
Main.BndT{-r1H-}
Main.ZerT{-r1I-}
Main.IdeT{-r1J-}
Main.TknT{-r1K-}
Main.SpeT{-r1L-}
Main.SMacT{-r1M-}
Main.RMacT{-r1N-}
Main.ChT{-r1O-}
Main.QuoT{-r1P-}
Main.ErrT{-r1Q-}
Main.EofT{-r1R-}
Main.triple{-ryK-}
Main.pair{-ryL-}
Main.copy{-ryM-}
Main.str2int{-ryN-}
Main.tok'{-ryO-}
Main.?{-ryP-}
Main.&#{-ryQ-}
Main.#{-ryR-}
Main.set_env{-ryS-}
Main.get_env{-ryT-}
Main.fail_p{-ryU-}
Main.return_p{-ryV-}
Main.parse{-ryW-}
Main.#={-ryX-}
Main.=&{-ryY-}
Main.&={-ryZ-}
Main.&{-rz0-}
Main.maybee{-rz1-}
Main.many_1{-rz2-}
Main.many{-rz3-}
Main.tok_p'{-rz4-}
Main.tok_p{-rz5-}
Main.eof_p{-rz6-}
Main.rmac_tok'{-rz7-}
Main.rmac_tok{-rz8-}
Main.smac_tok'{-rz9-}
Main.smac_tok{-rza-}
Main.chr_tok{-rzb-}
Main.spe{-rzc-}
Main.rmacro_p{-rzd-}
Main.smacro_p{-rze-}
Main.int_p{-rzf-}
Main.quot_p{-rzg-}
Main.tkn_p{-rzh-}
Main.zero_p{-rzi-}
Main.ide_p{-rzj-}
Main.bnd_p{-rzk-}
Main.prd_p{-rzl-}
Main.macro_fail_p{-rzm-}
Main.add_macro{-rzn-}
Main..#{-rzo-}
Main..|{-rzp-}
Main.complement{-rzq-}
Main.fold_mb{-rzr-}
Main.repeat_rng{-rzs-}
Main.set0_p{-rzt-}
Main.set_p{-rzu-}
Main.range_p{-rzv-}
Main.st_pl_qu_rg{-rzw-}
Main.rexp0_p{-rzx-}
Main.rexp1_p{-rzy-}
Main.rexp2_p{-rzz-}
Main.rexp_p{-rzA-}
Main.sc_p{-rzB-}
Main.ctx_p'{-rzC-}
Main.ctx_p{-rzD-}
Main.def_p{-rzE-}
Main.scanner_p{-rzF-}
Main.macdef_p'{-rzG-}
Main.macdef_p{-rzH-}
Main.macros_p{-rzI-}
Main.lx_p'{-rzJ-}
Main.lx_p{-rzK-}
Main.lx_scan{-rzL-}
Main.scan_lx{-rzM-}
Main.token_pos{-rzN-}
Main.standard_macros{-rzO-}
Main.parse_lx{-rzP-}
Main.ext_ev{-rzQ-}
Main.empty_ev{-rzR-}
Main.encode_assocs{-rzT-}
Main.encode_start_codes{-rzU-}
Main.LP{-rCl-}
Main.LEv{-rDf-}
Main.LxT{-rFm-}
Main.$dEvalLxErr0{-r5Vw-}
Main.$dEvalLxEnv0{-r5Vx-}
Main.$dEvalMacDef0{-r5Vy-}
Main.$dEvalToken0{-r5Vz-}
Main.$dEvalLxTkn0{-r5VA-}
Main.$dEvalLxScript0{-r5VB-}
Main.$g0{-su69-}
Main.$g1{-su6g-}
Main.$g2{-su6z-}
Main.$g3{-su6O-}
Main.$g4{-su6V-}
Main.$g5{-su72-}
Main.$g6{-su79-}
Main.$g7{-su7g-}
Main.$g8{-su7n-}
Main.$g9{-su7u-}
Main.$ga{-su7B-}
Main.$gb{-su7I-}
Main.$gc{-su7P-}
Main.$gd{-su7W-}
Main.$ge{-su8E-}
Main.$gf{-su8T-}
Main.$gg{-su90-}
Main.$gh{-su97-}
Main.$gi{-su9e-}
Main.$gj{-su9l-}
Main.$gk{-su9s-}
Main.$gl{-su9z-}
Main.$gm{-su9I-}
Main.$gC{-suD7-}
Main.$gD{-suHG-}
Main.$gF{-suJX-}
Main.$gH{-suKG-}
Main.$gJ{-suLs-}
Main.$gL{-suMc-}
Main.$gN{-suMY-}
Main.$gP{-suNL-}
Main.$gQ{-suOF-}
Main.$gR{-suP3-}
Main.$gS{-suQ1-}
Main.$gT{-suQp-}
Main.$gU{-suRb-}
Main.$gV{-suS1-}
Main.$gW{-suS8-}
Main.$gY{-suTw-}
Main.$g10{-suUn-}
Main.$g11{-suVU-}
Main.$g12{-suWI-}
Main.$g13{-suYB-}
Main.$g14{-suYC-}
Main.$g15{-suYV-}
Main.$g16{-suZ2-}
Main.$g17{-suZg-}
Main.$g18{-suZC-}
Main.$g19{-sv00-}
Main.$g1a{-sv2O-}
Main.$g1c{-sv4i-}
Main.$g1e{-sv5U-}
Main.$g1d{-sv7h-}
Main.$g1f{-sv7A-}
Main.$g1g{-sv7H-}
Main.$g1h{-sv7O-}
Main.$g1i{-sv80-}
Main.$g1k{-sv8U-}
Main.$g1l{-svaE-}
Main.$g1m{-svb3-}
Main.$g1n{-svbn-}
Main.$g1p{-svbs-}
Main.$g1o{-svbT-}
Main.$g1q{-svcb-}
Main.$g1r{-svcg-}
Main.$g1s{-svcC-}
Main.$g1t{-svcZ-}
Main.$g1O{-svd4-}
Main.$g1u{-svdn-}
Main.$g1P{-svdG-}
Main.$g1v{-svdT-}
Main.$g1L{-svdY-}
Main.$g1w{-sveh-}
Main.$g1M{-sveA-}
Main.$g1x{-sveN-}
Main.$g1I{-sveS-}
Main.$g1y{-svfb-}
Main.$g1J{-svfu-}
Main.$g1z{-svfO-}
Main.$g1E{-svfT-}
Main.$g1A{-svgg-}
Main.$g1F{-svgz-}
Main.$g1B{-svgW-}
Main.$g1G{-svhf-}
Main.$g1C{-svhs-}
Main.$g1D{-svhw-}
Main.$g1H{-svhB-}
Main.$g1K{-svhU-}
Main.$g1N{-svic-}
Main.$g1Q{-sviQ-}
Main.$g1R{-svkb-}
Main.$g1T{-svly-}
Main.$g1V{-svog-}
Main.$g1W{-svpq-}
Main.$g2o{-svpu-}
Main.$g2p{-svpA-}
Main.$g2z{-svpJ-}
Main.$g27{-svqq-}
Main.$g2g{-svqv-}
Main.$g2k{-svqK-}
Main.$g2l{-svr2-}
Main.$g2m{-svr7-}
Main.$g2n{-svrt-}
Main.$g26{-svrV-}
Main.$g2d{-svs0-}
Main.$g25{-svsn-}
Main.$g2e{-svsG-}
Main.$g2w{-svt3-}
Main.$g2x{-svtm-}
Main.$g23{-svtx-}
Main.$g24{-svtU-}
Main.$g2y{-svud-}
Main.$g22{-svuw-}
Main.$g21{-svuQ-}
Main.$g28{-svuV-}
Main.$g20{-svva-}
Main.$g29{-svvs-}
Main.$g2a{-svvx-}
Main.$g2b{-svvU-}
Main.$g2c{-svwd-}
Main.$g1Z{-svwF-}
Main.$g1Y{-svwX-}
Main.$g2i{-svx2-}
Main.$g2h{-svxh-}
Main.$g2j{-svxA-}
Main.$g2q{-svy8-}
Main.$g2r{-svyr-}
Main.$g1X{-svyE-}
Main.$g2f{-svyI-}
Main.$g2s{-svyN-}
Main.$g2t{-svz6-}
Main.$g2u{-svzp-}
Main.$g2v{-svzH-}
Main.$g2A{-svAn-}
Main.$g2O{-svAr-}
Main.$g2P{-svAx-}
Main.$g2S{-svAF-}
Main.$g32{-svAO-}
Main.$g2H{-svBm-}
Main.$g2I{-svBI-}
Main.$g2Q{-svCr-}
Main.$g2R{-svCY-}
Main.$g2T{-svDH-}
Main.$g2G{-svE1-}
Main.$g2N{-svE6-}
Main.$g2U{-svEl-}
Main.$g2V{-svED-}
Main.$g2W{-svF4-}
Main.$g2F{-svFp-}
Main.$g2J{-svFu-}
Main.$g2E{-svFJ-}
Main.$g2K{-svG2-}
Main.$g2D{-svGl-}
Main.$g2C{-svGF-}
Main.$g2M{-svGK-}
Main.$g2X{-svGZ-}
Main.$g2Y{-svHi-}
Main.$g2B{-svHv-}
Main.$g2L{-svHz-}
Main.$g2Z{-svHE-}
Main.$g30{-svHX-}
Main.$g31{-svIf-}
Main.$g33{-svIP-}
Main.$g34{-svJ2-}
Main.$g3b{-svJ6-}
Main.$g3c{-svJb-}
Main.$g35{-svJy-}
Main.$g3d{-svJR-}
Main.$g36{-svKh-}
Main.$g38{-svKy-}
Main.$g39{-svKD-}
Main.$g37{-svL0-}
Main.$g3a{-svLi-}
Main.$g3g{-svLK-}
Main.$g3e{-svLZ-}
Main.$g3h{-svMi-}
Main.$g3f{-svMz-}
Main.$g3i{-svOo-}
Main.$g3z{-svOt-}
Main.$g3j{-svPw-}
Main.$g3k{-svQ9-}
Main.$g3v{-svQe-}
Main.$g3l{-svQt-}
Main.$g3w{-svQL-}
Main.$g3x{-svQQ-}
Main.$g3y{-svRd-}
Main.$g3m{-svRD-}
Main.$g3s{-svSh-}
Main.$g3n{-svSw-}
Main.$g3t{-svSO-}
Main.$g3u{-svST-}
Main.$g3p{-svU3-}
Main.$g3o{-svUi-}
Main.$g3q{-svUA-}
Main.$g3r{-svUE-}
Main.$g3A{-svVf-}
Main.$g3C{-svVj-}
Main.$g3D{-svVn-}
Main.$g3B{-svW0-}
Main.$g3E{-svWs-}
Main.$g3F{-svWK-}
Main.$g3G{-svWP-}
Main.$g3H{-svXm-}
Main.$g3I{-svXO-}
Main.$g3J{-svY7-}
Main.$g3M{-svYw-}
Main.$g3K{-svYL-}
Main.$g3N{-svZ3-}
Main.$g3O{-svZ8-}
Main.$g3P{-svZv-}
Main.$g3Q{-svZN-}
Main.$g3R{-svZS-}
Main.$g3L{-sw0A-}
Main.$g3S{-sw1h-}
Main.$g3T{-sw1A-}
Main.$g3U{-sw22-}
Main.$g3V{-sw33-}
Main.$g3W{-sw3S-}
Main.$g3X{-sw4j-}
Main.$g3Y{-sw4N-}
Main.$g42{-sw93-}
Main.$g44{-swdt-}
Main.$g46{-swfO-}
Main.$g48{-swfX-}
Main.$g49{-swgo-}
Main.$g4a{-swgZ-}
Main.$g4b{-swhA-}
Main.$g4c{-swip-}
Main.$g4d{-swje-}
Main.$g4e{-swkn-}
Main.$g4f{-swlw-}
Main.$g4g{-swml-}
Main.$g4h{-swoq-}
Main.$g4j{-swpW-}
Main.$g4k{-swqL-}
Main.$g4l{-swrA-}
Main.$g4m{-swrR-}
Main.$g4p{-swuS-}
Main.$g4n{-swuT-}
Main.$g4C{-swvv-}
Main.$g4F{-swx7-}
Main.$g4G{-swD9-}
Main.$g4H{-swEy-}
Main.$g4I{-swEF-}
Main.$g4J{-swFS-}
Main.$g4O{-swJ5-}
Main.$g4P{-swKr-}
Main.$g4Q{-swKU-}
Main.$g4R{-swLu-}
Main.$g4S{-swLL-}
Main.$g4T{-swLZ-}
Main.$g4U{-swMK-}
Main.$g4V{-swNk-}
Main.$g4W{-swO0-}
Main.$g4X{-swOq-}
Main.$g4Z{-swPJ-}
Main.$g50{-swTq-}
Main.$g51{-swTH-}
Main.$g52{-sx1W-}
Main.$g55{-sx3a-}
Main.$gA{-sCJB-}
Main.$gz{-sCJC-}
Main.$gy{-sCJD-}
Main.$gx{-sCJE-}
Main.$gB{-sCJF-}
Main.$gw{-sCJG-}
Main.$gv{-sCJH-}
Main.$gu{-sCJI-}
Main.$gt{-sCJJ-}
Main.$wtok'{-sMBp-}
Main.$wtok_p'{-sMBq-}
Main.$wext_ev{-sMBr-}
Main.$gE{-sMBs-}
Main.$gG{-sMBt-}
Main.$gI{-sMBu-}
Main.$gK{-sMBv-}
Main.$gM{-sMBw-}
Main.$gO{-sMBx-}
Main.$gX{-sMBy-}
Main.$gZ{-sMBz-}
Main.$wcomplement{-sMBA-}
Main.$wcopy{-sMBB-}
Main.$g1b{-sMBC-}
Main.$wrepeat_rng{-sMDy-}
Main.$g1j{-sMDz-}
Main.$wspe{-sMDA-}
Main.$g1S{-sMDB-}
Main.$g1U{-sMDC-}
Main.$g3Z{-sMMT-}
Main.$g40{-sMMU-}
Main.$g43{-sMNT-}
Main.$g45{-sMNU-}
Main.$g4i{-sMNV-}
Main.$g4o{-sMNW-}
local binds for:
$xj_sxaF
Please report it as a compiler bug to [EMAIL PROTECTED]
deleting... /tmp/ghc687.cpp /tmp/ghc687.hi /tmp/ghc687.hc
rm -f /tmp/ghc687*
make: *** [Lx.o] Error 1
Panic: the impossible happened! (3.02)
Mariano Suarez Alvarez Fri, 12 Jun 1998 18:41:47 +0200 (MET DST)
- Re: Panic: the impossible happened! (3.02) Mariano Suarez Alvarez
- Re: Panic: the impossible happened! (3.02) Sigbjorn Finne
