[patch] Don't detect libiconv/libcharset on Windows to avoid changing GHCs build behavior on windows with newer mingw installs
Bill Tutt
bill at tutts.org
Sat Sep 17 08:42:56 CEST 2011
After I made this change I got the following results from ghc-HEAD
with the newer mingw and bootstrapping from 7.0.2.
The only worrying failures were the rts/5250 (esp alignment) and the
simplCore/should_compile cases. I'm hoping the simplCore cases should
be related to those Integer changes folks have been talking about
recently.
OVERALL SUMMARY for test run started at now
2961 total tests, which gave rise to
9214 test cases, of which
0 caused framework failures
6571 were skipped
2561 expected passes
63 expected failures
3 unexpected passes
16 unexpected failures
Unexpected passes:
hsc2hs 3837 (normal)
hsc2hs hsc2hs001 (normal)
hsc2hs hsc2hs002 (normal)
Cause: Testsuite still flags these as broken on Windows, but the trac
bug was resolved ages ago in ghc-HEAD
Unexpected failures:
../../libraries/random/tests rangeTest [bad exit code] (normal)
Test case doesn't realize that wchar_t is Word16 on Windows instead of
Int32 as it is on other Unix machines. (e.g. pgj's x86 FreeBSD builder
output)
ghci/linking ghcilink006 [bad exit code] (normal) (stdc++)
stdc++.dll doesn't exist on Windows (shocker)
ghci/scripts ghci038 [bad stdout] (ghci)
New contents in .script file doesn't match .stdout content
lib/IO 3307 [bad exit code] (normal)
lib/IO environment001 [bad stdout] (normal)
Windows consoles don't default to UTF-8. (i.e. fails when run from
clean cmd.exe as well as the mingw window I launched it from)
I wonder what happens if run from PowerShell ISE.... Can't tell atm,
apparently I don't have that installed on my Win7 machine.
I'll need to set the console window to UTF-8 and see what happens.
perf/compiler T1969 [stat not good enough] (normal)
perf/compiler T3064 [stat not good enough] (normal)
perf/compiler T3294 [stat not good enough] (normal)
perf/compiler T4801 [stat not good enough] (normal)
perf/compiler T5030 [stat not good enough] (normal)
perf/compiler parsing001 [stat not good enough] (normal)
All over memory threshold.
plugins plugins04 [stderr mismatch] (normal)
./<filename> -> .\<filename> change in output caused by a newer mingw?
rename/should_compile/T3103 T3103 [stderr mismatch] (normal)
./<filename> -> .\<filename> change in output caused by a newer mingw?
rts 5250 [bad exit code] (normal)
Wrong exit code (expected 0 , actual 1 )
Stdout:
esp not aligned correctly: 22de44
Stderr:
simplCore/should_compile T4908 [stderr mismatch] (optasm)
simplCore/should_compile spec-inline [stderr mismatch] (optasm)
Possible fallout from integer change?? diffs follow:
simplCore/should_compile T4908: Is this part of the integer changes?
Actual stderr output differs from expected:
--- ./simplCore/should_compile/T4908.stderr 2011-09-15 11:03:34 -0400
+++ ./simplCore/should_compile/T4908.comp.stderr 2011-09-17
02:05:45 -0400
@@ -11,10 +11,10 @@
\ (sc :: GHC.Prim.Int#)
(sc1 :: GHC.Types.Int)
(sc2 :: GHC.Prim.Int#) ->
- case sc of ds {
+ case sc2 of ds {
__DEFAULT ->
- case sc2 of ds1 {
- __DEFAULT -> T4908.f_$s$wf (GHC.Prim.-# ds 1) sc1 ds1;
+ case sc of ds1 {
+ __DEFAULT -> T4908.f_$s$wf ds1 sc1 (GHC.Prim.-# ds 1);
0 -> GHC.Types.True
};
0 -> GHC.Types.True
@@ -38,7 +38,7 @@
case w of _ { (a, b) ->
case b of _ { GHC.Types.I# ds1 ->
case ds1 of ds2 {
- __DEFAULT -> T4908.f_$s$wf (GHC.Prim.-# ds 1) a ds2;
+ __DEFAULT -> T4908.f_$s$wf ds2 a (GHC.Prim.-# ds 1);
0 -> GHC.Types.True
}
}
@@ -69,7 +69,7 @@
forall (sc :: GHC.Prim.Int#)
(sc1 :: GHC.Types.Int)
(sc2 :: GHC.Prim.Int#).
- T4908.$wf sc (sc1, GHC.Types.I# sc2)
+ T4908.$wf sc2 (sc1, GHC.Types.I# sc)
= T4908.f_$s$wf sc sc1 sc2
*** unexpected failure for T4908(optasm)
simplCore/should_compile spec-inline: Is this part of the integer changes?
Actual stderr output differs from expected:
--- ./simplCore/should_compile/spec-inline.stderr 2011-09-15
11:03:34 -0400
+++ ./simplCore/should_compile/spec-inline.comp.stderr 2011-09-17
02:09:05 -0400
@@ -21,19 +21,19 @@
GHC.Prim.+#
(GHC.Prim.+#
(GHC.Prim.+#
- (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# sc1 sc1)
sc1) sc1) sc1)
- sc1)
- sc1 } in
- case GHC.Prim.<=# sc 0 of _ {
+ (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# sc sc) sc) sc) sc)
+ sc)
+ sc } in
+ case GHC.Prim.<=# sc1 0 of _ {
GHC.Types.False ->
- case GHC.Prim.<# sc 100 of _ {
+ case GHC.Prim.<# sc1 100 of _ {
GHC.Types.False ->
- case GHC.Prim.<# sc 500 of _ {
+ case GHC.Prim.<# sc1 500 of _ {
GHC.Types.False ->
- Roman.foo_$s$wgo (GHC.Prim.-# sc 1) (GHC.Prim.+# a a);
- GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# sc 3) a
+ Roman.foo_$s$wgo (GHC.Prim.+# a a) (GHC.Prim.-# sc1 1);
+ GHC.Types.True -> Roman.foo_$s$wgo a (GHC.Prim.-# sc1 3)
};
- GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# sc 2) sc1
+ GHC.Types.True -> Roman.foo_$s$wgo sc (GHC.Prim.-# sc1 2)
};
GHC.Types.True -> 0
}
@@ -69,7 +69,7 @@
ipv)
ipv } in
case w of _ {
- Data.Maybe.Nothing -> Roman.foo_$s$wgo 10 a;
+ Data.Maybe.Nothing -> Roman.foo_$s$wgo a 10;
Data.Maybe.Just n ->
case n of _ { GHC.Types.I# x2 ->
case GHC.Prim.<=# x2 0 of _ {
@@ -78,10 +78,10 @@
GHC.Types.False ->
case GHC.Prim.<# x2 500 of _ {
GHC.Types.False ->
- Roman.foo_$s$wgo (GHC.Prim.-# x2 1)
(GHC.Prim.+# a a);
- GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 3) a
+ Roman.foo_$s$wgo (GHC.Prim.+# a a)
(GHC.Prim.-# x2 1);
+ GHC.Types.True -> Roman.foo_$s$wgo a (GHC.Prim.-# x2 3)
};
- GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 2) ipv
+ GHC.Types.True -> Roman.foo_$s$wgo ipv (GHC.Prim.-# x2 2)
};
GHC.Types.True -> 0
}
@@ -140,15 +140,15 @@
Roman.foo =
\ (n :: GHC.Types.Int) ->
case n of _ { GHC.Types.I# ipv ->
- case Roman.foo_$s$wgo ipv 6 of ww { __DEFAULT -> GHC.Types.I# ww }
+ case Roman.foo_$s$wgo 6 ipv of ww { __DEFAULT -> GHC.Types.I# ww }
}
------ Local rules for imported ids --------
"SC:$wgo0" [ALWAYS]
forall (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#).
- Roman.$wgo (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc))
- (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc1))
+ Roman.$wgo (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc1))
+ (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc))
= Roman.foo_$s$wgo sc sc1
*** unexpected failure for spec-inline(optasm)
More information about the Glasgow-haskell-users
mailing list