SOF:
> install-sh is the fallback script used if the configure script is
> unable to find an OK looking `install' somewhere along your PATH.
Oops, I confess to not knowing this. Configure doesn't seem to moan too
loudly about the lack of an "install", so I assumed that it was The
Real Program.
Getting back to the first problem I reported, the code-gen crunch:
here's as simple an instance as ever I can possibly construct:
module R where
data NumVal = RealNum Float
isZero (RealNum 0.0) = True
This is the Sun NCG, of course. Doesn't happen without the constructor,
or with Int's, or with -fvia-C...
Slainte,
Alex.
--
ghc-3.00 -c R.hs -H30m -K2M -recomp -fglasgow-exts -cpp -syslib ghc
-syslib hbc -Rgc-stats -dshow-passes -fmax-simplifier-iterations4
-funfolding-use-threshold-0
*** Reader:
*** Renamer:
*** TypeCheck:
*** DeSugar:
*** Core2Core:
*** Core2Core: Simplify
*** Core2Stg:
*** Stg2Stg:
*** CodeGen:
*** CodeOutput:
ghc-3.00: module version changed to 6; reason: usages changed
/usr/ccs/bin/as: "/tmp/ghc24667.s", line 188: error: statement syntax
make: *** [R.o] Error 1
swift.ucc.ie:~/filt4: make R.o OPT=-v
ghc-3.00 -c R.hs -H30m -K2M -recomp -fglasgow-exts -cpp -syslib ghc
-syslib hbc -Rgc-stats -dshow-passes -fmax-simplifier-iterations4
-funfolding-use-threshold-0 -v
The Glorious Glasgow Haskell Compilation System, version 3.00, patchlevel 0
Effective command line: -c -H30m -K2M -recomp -fglasgow-exts -cpp -syslib ghc
-syslib hbc -Rgc-stats -dshow-passes -fmax-simplifier-iterations4
-funfolding-use-threshold-0 -v
Haskellised C pre-processor:
echo '{-# LINE 1 "R.hs" -}' > /tmp/ghc24692.cpp &&
/usr/local/ghc-3.00/lib/hscpp -v -D__HASKELL1__=4 -D__GLASGOW_HASKELL__=300
-I. -I/usr/local/ghc-3.00/lib/includes -I/usr/local/ghc-3.00/lib/includes R.hs
>> /tmp/ghc24692.cpp
real 0.0
user 0.0
sys 0.0
hscpp:CPP invoked: /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2.3/cpp
-traditional -D__HASKELL1__=4 -D__GLASGOW_HASKELL__=300 -I.
-I/usr/local/ghc-3.00/lib/includes -I/usr/local/ghc-3.00/lib/includes R.hs
ghc-3.00:compile:Output file R.o doesn't exist
ghc-3.00:recompile:Input file R.hs newer than R.o
Haskell compiler:
/usr/local/ghc-3.00/lib/hsc ,-N ,-W ,/tmp/ghc24692.cpp -fglasgow-exts
-dshow-passes -fignore-interface-pragmas -fomit-interface-pragmas -fsimplify [
-ffloat-lets-exposing-whnf -ffloat-primops-ok -fcase-of-case -fdo-case-elim
-freuse-con -fpedantic-bottoms -funfolding-use-threshold-0
-fmax-simplifier-iterations4 ] -fwarn-overlapping-patterns
-fwarn-missing-methods -fwarn-duplicate-exports
-himap=.%.hi:/usr/local/ghc-3.00/lib/hslibs/hbc/imports%.hi:/usr/local/ghc-3.00/
lib/hslibs/ghc/imports%.hi:/usr/local/ghc-3.00/lib/hslibs/hbc/imports%.hi:/usr/l
ocal/ghc-3.00/lib/hslibs/ghc/imports%.hi:/usr/local/ghc-3.00/lib/imports%.hi
-v -hifile=/tmp/ghc24692.hi -S=/tmp/ghc24692.s +RTS -H30000000 -K2000000
-SR.stat
Glasgow Haskell Compiler, version 3.00, for Haskell 1.4
*** Reader:
*** Renamer:
*** TypeCheck:
*** DeSugar:
*** Core2Core:
*** Core2Core: Simplify
*** Core2Stg:
*** Stg2Stg:
*** CodeGen:
*** CodeOutput:
real 3.8
user 3.3
sys 0.3
Pin on Haskell consistency info:
echo '
.text
hsc.R.hs.33.0..:' >> /tmp/ghc24692.s
real 0.0
user 0.0
sys 0.0
*** New hi file follows...
{-# GHC_PRAGMA INTERFACE VERSION 20 #-}
_interface_ R
_instance_modules_
Addr ArrBase CCall Foreign IO PrelBounded PrelNum
_usages_
PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d2 1 $d20 1 $d21 1 $d24
1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1
$d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1
$d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $menumFromThenTo
1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Enum 1 Eq 1 Eval 1 Num
1 Ord 1 Ordering 1 Show 1 String 1;
PrelNum 1 :: $d1 1 $d10 1 $d14 1 $d15 1 $d16 1 $d17 1 $d18 1 $d19 1 $d2 1 $d23 1
$d24 1 $d25 1 $d26 1 $d27 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1
$d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $mdiv 1 $mdivMod
1 $mmod 1 $mquot 1 $mrecip 1 $mrem 1 Fractional 1 Integral 1 Ratio 1 Rational 1
Real 1;
PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
_exports_
R isZero NumVal(RealNum);
_instances_
instance {PrelBase.Eval NumVal} = $d1;
_declarations_
data NumVal = RealNum PrelBase.Float ;
$d1 _:_ {PrelBase.Eval NumVal} ;;
isZero _:_ NumVal -> PrelBase.Bool ;;
ghc-3.00: module version unchanged at 6
Replace .hi file, if changed:
cmp -s R.hi /tmp/ghc24692.hi-new || ( rm -f R.hi && cp
/tmp/ghc24692.hi-new R.hi )
real 0.0
user 0.0
sys 0.0
Unix assembler:
gcc -o R.o -c /tmp/ghc24692.s
/usr/ccs/bin/as: "/tmp/ghc24692.s", line 188: error: statement syntax
real 0.0
user 0.0
sys 0.0
deleting... /tmp/ghc24692.cpp /tmp/ghc24692.hi /tmp/ghc24692.s R.stat R.o
rm -f /tmp/ghc24692*
make: *** [R.o] Error 1