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