[commit: ghc] type-nats: Fix up to build with renamed promoting functions. (191250b)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : type-nats http://hackage.haskell.org/trac/ghc/changeset/191250b426dbdff013bb0ac49f6ed7a3894e5962 --- commit 191250b426dbdff013bb0ac49f6ed7a3894e5962 Author: Iavor S. Diatchki diatchki@Perun.(none) Date: Mon Oct 29 23:30:43 2012 -0700 Fix up to build with renamed promoting functions. --- compiler/prelude/TysWiredIn.lhs | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler/prelude/TysWiredIn.lhs b/compiler/prelude/TysWiredIn.lhs index 90fef82..2bcfb93 100644 --- a/compiler/prelude/TysWiredIn.lhs +++ b/compiler/prelude/TysWiredIn.lhs @@ -818,9 +818,9 @@ Promoted Booleans \begin{code} boolKindCon, trueTyCon, falseTyCon :: TyCon -boolKindCon = buildPromotedTyCon boolTyCon -trueTyCon = buildPromotedDataCon trueDataCon -falseTyCon = buildPromotedDataCon falseDataCon +boolKindCon = promoteTyCon boolTyCon +trueTyCon = promoteDataCon trueDataCon +falseTyCon = promoteDataCon falseDataCon boolKind :: Kind @@ -857,9 +857,9 @@ zeroDataCon = pcDataCon zeroDataConName [] [] nat1TyCon nat1KindCon, zeroTyCon, succTyCon :: TyCon -nat1KindCon = buildPromotedTyCon nat1TyCon -zeroTyCon = buildPromotedDataCon zeroDataCon -succTyCon = buildPromotedDataCon succDataCon +nat1KindCon = promoteTyCon nat1TyCon +zeroTyCon = promoteDataCon zeroDataCon +succTyCon = promoteDataCon succDataCon nat1Ty :: Type nat1Ty = mkTyConApp nat1TyCon [] ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
pgj2 (amd64 FreeBSD HEAD), build 846, Success
pgj2 (amd64 FreeBSD HEAD), build 846 Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj2/846.html git clone| Success create mk/build.mk | Success get subrepos | Success repo versions| Success touching clean-check files | Success setting version date | Success booting | Success configuring | Success creating check-remove-before | Success compiling| Success creating check-remove-after | Success compiling testremove | Success simulating clean | Success checking clean | Success making bindist | Success publishing bindist | Success testing bindist | Success testing | Success testsuite summary| Success Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj2/846.html File not deleted:compiler/ghc.cabal.old File not deleted:inplace File not deleted:libraries/base/include/EventConfig.h Deleted before file: libraries/time/include/HsTimeConfig.h File not deleted:mk/config.mk.old File not deleted:mk/project.mk.old File not deleted:rts/libs.depend File not deleted:rts/package.conf.inplace File not deleted:rts/package.conf.inplace.raw OVERALL SUMMARY for test run started at Tue Oct 30 05:58:06 UTC 2012 3482 total tests, which gave rise to 14724 test cases, of which 1 caused framework failures 11578 were skipped 2843 expected passes 45 had missing libraries 34 expected failures 1 unexpected passes 223 unexpected failures Unexpected passes: arrows/should_fail arrowfail001 (normal) Unexpected failures: ../../libraries/base/tests/IO3307 [bad stderr] (normal) ../../libraries/base/tests/IOenvironment001 [bad stderr] (normal) ../../libraries/directory/tests getPermissions001 [bad exit code] (normal) ../../libraries/hpc/tests/ghc_ghci hpc_ghc_ghci [bad stderr] (normal) ../../libraries/process/testsprocess007 [bad stdout] (normal) ../../libraries/process/testsprocess009 [bad stdout] (normal) ../../libraries/unix/tests fdReadBuf001 [bad exit code] (ghci) ../../libraries/unix/tests/libposix posix005 [bad stdout] (normal) cabal1750 [bad stderr] (normal) cabalghcpkg01 [bad stderr] (normal) cabalghcpkg03 [bad stderr] (normal) cabalghcpkg05 [bad stderr] (normal) cabalghcpkg06 [bad stderr] (normal) cabalshadow [bad stderr] (normal) cabal/cabal01cabal01 [bad stderr] (normal) cabal/cabal04cabal04 [bad stderr] (normal) codeGen/should_compile 2578 [bad stderr] (normal) deSugar/should_compile T5252 [bad stderr] (normal) deSugar/should_compile T5252Take2 [bad stderr] (normal) deriving/should_fail drvfail016 [bad stderr] (normal) driver 2566 [bad stderr] (normal) driver T3364 [bad stderr] (normal) driver T5198 [bad stderr] (normal) driver T5584 [bad stderr] (normal) driver T706 [bad stderr] (normal) driver T7060 [bad stderr] (normal) driver driver011 [bad stderr] (normal) driver driver012 [bad stderr] (normal) driver driver013 [bad stderr] (normal) driver driver014 [bad stderr] (normal) driver driver015 [bad stderr] (normal) driver driver016 [bad stderr] (normal) driver driver017 [bad stderr] (normal) driver driver018 [bad stderr] (normal) driver driver018a [bad stderr] (normal) driver driver019 [bad stderr] (normal) driver driver021 [bad stderr] (normal) driver driver022 [bad stderr] (normal) driver driver023 [bad stderr] (normal) driver driver024 [bad stderr] (normal) driver driver024a [bad stderr] (normal) driver driver025 [bad stderr] (normal) driver driver026 [bad stderr] (normal) driver driver027 [bad stderr] (normal) driver driver028 [bad stderr] (normal) driver
pgj-freebsd-i386-stable (x86 FreeBSD STABLE), build 706, Success
pgj-freebsd-i386-stable (x86 FreeBSD STABLE), build 706 Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj-freebsd-i386-stable/706.html git clone| Success create mk/build.mk | Success get subrepos | Success repo versions| Success touching clean-check files | Success setting version date | Success booting | Success configuring | Success creating check-remove-before | Success compiling| Success creating check-remove-after | Success compiling testremove | Success simulating clean | Success checking clean | Success making bindist | Success publishing bindist | Success testing bindist | Success testing | Success testsuite summary| Success Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj-freebsd-i386-stable/706.html File not deleted:compiler/ghc.cabal.old File not deleted:inplace File not deleted:libraries/base/include/EventConfig.h Deleted before file: libraries/time/include/HsTimeConfig.h File not deleted:mk/config.mk.old File not deleted:mk/project.mk.old File not deleted:rts/libs.depend File not deleted:rts/package.conf.inplace File not deleted:rts/package.conf.inplace.raw OVERALL SUMMARY for test run started at Tue Oct 30 05:59:03 UTC 2012 3402 total tests, which gave rise to 14436 test cases, of which 0 caused framework failures 11364 were skipped 2967 expected passes 48 had missing libraries 34 expected failures 5 unexpected passes 18 unexpected failures Unexpected passes: ../../libraries/unix/tests getEnvironment01 (normal) ../../libraries/unix/tests getEnvironment02 (normal) ../../libraries/unix/tests getGroupEntryForName (normal) ../../libraries/unix/tests getUserEntryForName (normal) ../../libraries/unix/tests queryfdoption01 (normal) Unexpected failures: ../../libraries/directory/tests getPermissions001 [bad exit code] (normal) ../../libraries/process/testsprocess007 [bad stdout] (normal) ../../libraries/unix/tests/libposix posix005 [bad stdout] (normal) driver dynHelloWorld [bad exit code] (dyn) driver/recomp011 recomp011 [bad stdout] (normal) dynlibs T3807 [bad exit code] (normal) dynlibs T5373 [bad stdout] (normal) ghci/scripts T5979 [bad stderr] (ghci) ghci/scripts T6106 [bad stderr] (ghci) perf/haddock haddock.Cabal [stat too good] (normal) perf/haddock haddock.base [stat too good] (normal) perf/haddock haddock.compiler [stat too good] (normal) plugins plugins01 [bad exit code] (normal) plugins plugins02 [stderr mismatch] (normal) plugins plugins03 [stderr mismatch] (normal) rts T2615 [bad stdout] (normal) typecheck/should_failT5300 [stderr mismatch] (normal) typecheck/should_failT5691 [stderr mismatch] (normal) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
pgj-freebsd-amd64-stable (amd64 FreeBSD STABLE), build 718, Success
pgj-freebsd-amd64-stable (amd64 FreeBSD STABLE), build 718 Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj-freebsd-amd64-stable/718.html git clone| Success create mk/build.mk | Success get subrepos | Success repo versions| Success touching clean-check files | Success setting version date | Success booting | Success configuring | Success creating check-remove-before | Success compiling| Success creating check-remove-after | Success compiling testremove | Success simulating clean | Success checking clean | Success making bindist | Success publishing bindist | Success testing bindist | Success testing | Success testsuite summary| Success Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj-freebsd-amd64-stable/718.html File not deleted:compiler/ghc.cabal.old File not deleted:inplace File not deleted:libraries/base/include/EventConfig.h Deleted before file: libraries/time/include/HsTimeConfig.h File not deleted:mk/config.mk.old File not deleted:mk/project.mk.old File not deleted:rts/libs.depend File not deleted:rts/package.conf.inplace File not deleted:rts/package.conf.inplace.raw OVERALL SUMMARY for test run started at Tue Oct 30 07:25:26 UTC 2012 3402 total tests, which gave rise to 14436 test cases, of which 0 caused framework failures 11363 were skipped 2971 expected passes 48 had missing libraries 35 expected failures 0 unexpected passes 19 unexpected failures Unexpected failures: ../../libraries/directory/tests getPermissions001 [bad exit code] (normal) ../../libraries/process/testsprocess007 [bad stdout] (normal) ../../libraries/unix/tests/libposix posix005 [bad stdout] (normal) driver dynHelloWorld [bad exit code] (dyn) driver/recomp011 recomp011 [bad stdout] (normal) dynlibs T3807 [bad exit code] (normal) dynlibs T5373 [bad stdout] (normal) ghci/scripts T5979 [bad stderr] (ghci) ghci/scripts T6106 [bad stderr] (ghci) perf/compilerT6048 [stat not good enough] (optasm) perf/haddock haddock.Cabal [stat not good enough] (normal) perf/haddock haddock.base [stat not good enough] (normal) perf/haddock haddock.compiler [stat not good enough] (normal) plugins plugins01 [bad exit code] (normal) plugins plugins02 [stderr mismatch] (normal) plugins plugins03 [stderr mismatch] (normal) rts T2615 [bad stdout] (normal) typecheck/should_failT5300 [stderr mismatch] (normal) typecheck/should_failT5691 [stderr mismatch] (normal) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
Re: Changes to Typeable
Hi, On Mon, Oct 29, 2012 at 10:28 PM, Simon Peyton-Jones simo...@microsoft.comwrote: Right. Re the library packages that have to change, I replied (4 Oct) thus It’s tiresome, but for good reasons. You have to talk to each of the maintainers of the other repos, and ask them to implement a patch, which you’ll supply. The patch will probably have #ifdef __GLASGOW_HASKELL__ = 7.7 so that it’ll still work with older versions of the compiler. To give them the background you’ll probably want to update the wiki page describing the design and its benefits. ** ** However, you are right that if Typeable is always derived for all types, then maybe we can get away with no changes in those packages, which would be good. Well, they will at least start throwing warnings, which means validate won't pass. ** ** 7.8: Any uses of deriving Typeable would give rise to a warning saying that it is no longer necessary. Any instances of Typeable would give rise to a warning saying that this code is being ignored, and replaced by an internal Typeable instance. Packages might break, or change runtime behaviour due to this change. ** ** Yes, that looks right. Actually I think it’s extremely unlikely that anything would break unless there is something Extremely Naughty happening. ** ** I say, go for it. Any objections? Would you be willing to do that Pedro? Thanks! Yes, but you'll have to guide me a bit on how to internalise the Typeable instances... Cheers, Pedro ** ** Simon ** ** *From:* josepedromagalh...@gmail.com [mailto:josepedromagalh...@gmail.com] *On Behalf Of *José Pedro Magalhães *Sent:* 29 October 2012 09:06 *To:* Gábor Lehel; Simon Peyton-Jones; librar...@haskell.org *Subject:* Re: Changes to Typeable ** ** Sorry, I got a bit lost in this discussion. Let me try to provide a summary. Current status: I have a local branch with the new poly-kinded Typeable working fine. It works as described in [1]. It actually allows deriving Typeable for things involving the Constraint kind, but this can be easily disabled. Either way, I think most of this is necessary for whatever might follow next. But I'm not sure of how to push the changes, because I had to make some changes to these repos: array, containers, dph, template-haskell, and vector. Worse, I also had to change time, which gets built from a tarball. It might not be worth contacting the authors of these packages for changes if we're still going to get rid of deriving Typeable altogether, so I've been holding this back. It's been proposed to remove the possibility to derive Typeable or write instances for it. I'm supposing the way that this would be implemented would be: 7.8: Any uses of deriving Typeable would give rise to a warning saying that it is no longer necessary. Any instances of Typeable would give rise to a warning saying that this code is being ignored, and replaced by an internal Typeable instance. Packages might break, or change runtime behaviour due to this change. 7.10: Explicit uses of deriving Typeable or instances are an error. Regarding split :: (a ~ f i) = Dict (Typeable f, Typeable i), I'm not sure I can judge how much work that would be. But let's first try to draft a plan for removing Typeable definitions from the user, and then consider more extensions. Cheers, Pedro [1] http://hackage.haskell.org/trac/ghc/wiki/GhcKinds/PolyTypeable On Tue, Oct 16, 2012 at 8:32 AM, Emil Axelsson e...@chalmers.se wrote:* *** 2012-10-15 23:50, Gábor Lehel skrev: ** ** On Mon, Oct 15, 2012 at 7:58 AM, Emil Axelsson e...@chalmers.se wrote:** ** I have a use case: http://hackage.haskell.org/packages/archive/syntactic/1.3/doc/html/Data-DynamicAlt.html This is a reimplementation of Data.Dynamic to support casting type `a` to `Dynamic` given a constraint `Typeable (a - b)`: toDyn :: Typeable (a - b) = P (a - b) - a - Dynamic With your suggestion, it seems I should be able to use the ordinary Data.Dynamic instead. / Emil Great! Do you like my plan? Or perhaps know of a better one? (Relatedly, *does* this have to go through a separate libraries process? Or are we considering Typeable as getting completely replaced, and everything pertaining to it gets discussed here?) ** ** Your plan certainly seems general enough! But I'm afraid I can't really speak about the implications on libraries etc. / Emil ** ** ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[nightly] 29-Oct-2012 build of STABLE on i386-unknown-linux (cam-02-unx)
Build description = STABLE on i386-unknown-linux (cam-02-unx) Build location= /playpen/simonmar/nightly/STABLE Build config file = /home/simonmar/nightly/site/msrc/conf-STABLE-cam-02-unx Nightly build started on cam-02-unx at Mon Oct 29 18:10:02 GMT 2012. checking out new source tree ... warning: Remote branch ghc-7.6 not found in upstream origin, using HEAD instead ok. Building stage 1 compiler... ok. GHC Version 7.6.1.20121027 Building stage 2 compiler... ok. Building stage 3 compiler... ok. building testsuite tools ... ok. running tests... ok (summary below). building compiler binary distribution... ok. uploading binary distribution... ok. running nofib (-rtsopts -O2) ... ok. running nofib (-rtsopts -O2 -fllvm) ... ok. running nofib (-rtsopts -O2 -prof -auto-all) ... ok. (2 failures) running nofib (-rtsopts -O2 -prof -auto-all -fllvm)... ok. publishing logs ... ssh: connect to host haskell.org port 22: No route to host lost connection failed. Logs are at http://www.haskell.org/ghc/dist/stable/logs Dists are at http://www.haskell.org/ghc/dist/stable/dist Docs are at http://www.haskell.org/ghc/dist/stable/docs - Respository hashes: .|fe7c8fcdbbdc203a5ff09a7ec1cd1e1a7e792da8 ghc-tarballs|18e0c37f8023abf469af991e2fc2d3b024319c27 libraries/Cabal|e7e7ce1029707a67d26e6dc29de11141734898e3 libraries/Win32|e13098aecd0489399435dbf8643e1db2272e1e02 libraries/array|8dcd15240a9c2ba142fcbd31f597b51cf2f560bf libraries/base|875e6b73b1727c0190336d010cfd6e38d0c85af0 libraries/binary|2d31cea238d0d08885c457475fc354dbf2b88976 libraries/bytestring|87c5fc73a18d613d59c0325cb802c670eb026709 libraries/containers|a9b7224068ae60f73baacd5f76d2c27624d90120 libraries/deepseq|4821349305c2a73efacdd58d2ba485b07eb84eda libraries/directory|ef17afe1bd44ae10ef413146e5ade8867cb05625 libraries/filepath|2d60d0dd5d8fc924420bb238902266929f4e2cfb libraries/ghc-prim|03144fbee792555bfd6de6184228ebaeffed2896 libraries/haskeline|f4040ab5831866c260e03fc8601edf7e1ed77049 libraries/haskell2010|d7e33da36585c250cd0bfb45b518c95e44197f3c libraries/haskell98|c5a0db5eb4ce6a3736bf4f5caac3ff465b3dbaf9 libraries/hoopl|293d339303097641e7f14a1c0365a3801a87918d libraries/hpc|c1b783dbbb0ab917208655c53a0af5c7538c2a0b libraries/integer-gmp|2d9eca147f5c8b6f390eca15e03b315f67f2df01 libraries/integer-simple|47737f6f16d891b743a3d02b0a016100fd3a36d1 libraries/old-locale|47542432234f6fc406a9abf5d3f94e43d9bd10f6 libraries/old-time|cf225c367e5490201a5b04b1b8cb322f6e230d46 libraries/pretty|0a22cc0b3a4f8db876c4019013a30bfd1c0dd9a2 libraries/process|0ab69a65edae8c1a34ecee3a97b3839c833985f2 libraries/template-haskell|db0b4de55926b0bc98717c92ba543bcf9b89d024 libraries/terminfo|579d2c324e69856ff8d1ea8b5036e30c920e1973 libraries/transformers|a59fb93860f84ccd44178dcbbb82cfea7e02cd07 libraries/unix|de870e706fe7bac6f013c910d14721dc9387e30e libraries/utf8-string|73ca1b9def3f350ad28e55fcba077e6be3b67e93 libraries/xhtml|fb9e0bbb69e15873682a9f25d39652099a3ccac1 nofib|35be7d976116e83d9cdea7145bbefb117d4a771f testsuite|a9fd026bf8bab265edc29124e7f82a0e063582c5 utils/haddock|a20efa02eef21b70c2cc3183217b55ce470b2826 utils/hsc2hs|6054fab51f13d93ae4072d94d2a88b2faa4b9411 - All done! Nightly build finished successfully at Tue Oct 30 11:13:38 GMT 2012 - GHC Test summary - OVERALL SUMMARY for test run started at Tue Oct 30 03:51:44 GMT 2012 3402 total tests, which gave rise to 16613 test cases, of which 0 caused framework failures 3573 were skipped 12544 expected passes 367 had missing libraries 126 expected failures 0 unexpected passes 3 unexpected failures Unexpected failures: ../../libraries/unix/tests/libposix posix004 [bad exit code] (profthreaded) perf/haddock haddock.Cabal [stat not good enough] (normal) perf/haddock haddock.base [stat too good] (normal) Nightly run ended at Tue Oct 30 11:13:38 GMT 2012 ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
Re: Windows falures
ghcpkg03 and ghcpkg05 are not Windows-specific: Actual stderr output differs from expected: --- ./cabal/ghcpkg03.stderr 2012-10-29 13:53:32.0 + +++ ./cabal/ghcpkg03.run.stderr 2012-10-30 11:44:26.723934678 + @@ -7,7 +7,7 @@ testpkg-1.2.3.4: cannot find any of [A.hi,A.p_hi,A.dyn_hi] (ignoring) testpkg-1.2.3.4: cannot find any of [B.hi,B.p_hi,B.dyn_hi] (ignoring) testpkg-1.2.3.4: cannot find any of [C/D.hi,C/D.p_hi,C/D.dyn_hi] (ignoring) -testpkg-1.2.3.4: cannot find any of [libtestpkg-1.2.3.4.a,libtestpkg-1.2.3.4.p_a,libtestpkg-1.2.3.4-ghc7.7.20121025.so,libtestpkg-1.2.3.4-ghc7.7.20121025.dylib,testpkg-1.2.3.4-ghc7.7.20121025.dll] on library path (ignoring) +testpkg-1.2.3.4: cannot find any of [libtestpkg-1.2.3.4.a,libtestpkg-1.2.3.4.p_a,libtestpkg-1.2.3.4-ghc7.7.20121029.so,libtestpkg-1.2.3.4-ghc7.7.20121029.dylib,testpkg-1.2.3.4-ghc7.7.20121029.dll] on library path (ignoring) testpkg-2.0: Warning: library-dirs: /usr/local/lib/testpkg doesn't exist or isn't a directory testpkg-2.0: Warning: include-dirs: /usr/local/include/testpkg doesn't exist or isn't a directory testpkg-2.0: import-dirs: /usr/local/lib/testpkg doesn't exist or isn't a directory (ignoring) I'm also seeing a failure in T7341, is this one of yours Simon? --- ./polykinds/T7341.stderr2012-10-29 13:53:33.0 + +++ ./polykinds/T7341.comp.stderr 2012-10-30 11:43:27.107809209 + @@ -1 +1,6 @@ \ No newline at end of file +T7341.hs:11:12: +Expecting one more argument to `[]' +The first argument of `C' should have kind `*', + but `[]' has kind `* - *' +In the instance declaration for `C []' *** unexpected failure for T7341(normal) Cheers, Simon On 30/10/2012 08:06, Simon Peyton-Jones wrote: Ian As discussed, here are the failures I get on 32 bit Windows with MSYS: ../../libraries/random/tests rangeTest [bad exit code] (normal) cabal ghcpkg03 [bad stderr] (normal) cabal ghcpkg05 [bad stderr] (normal) codeGen/should_run cgrun071 [bad exit code] (normal) driver shared001 [bad stderr] (normal) ghci.debugger/scripts break011 [bad stdout] (ghci) ghci.debugger/scripts dynbrk009 [bad exit code] (ghci) ghci/linking ghcilink004 [bad exit code] (normal) ghci/scripts T5975a [bad stderr] (ghci) ghci/scripts T6106 [bad stderr] (ghci) ghci/scripts ghci058 [bad stderr] (ghci) rtsT7037 [bad exit code] (normal) I’ve cut/pasted the relevant log output below. Happy to help if you have any difficulty reproducing. This is with my validate.mk saying LAX_DEPENDENCIES = YES WERROR = -Werror GhcStage1HcOpts += -O0 -DDEBUG GhcStage2HcOpts += -dcore-lint -ticky GhcLibHcOpts+= -dcore-lint GhcLibWays = v SplitObjs = NO (the -ticky is accidental but should do no harm.) thanks Simon = rangeTest(normal) 3246 of 3460 [1, 35, 1] cd ../../libraries/random/tests 'C:/code/HEAD/inplace/bin/ghc-stage2.exe' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -o rangeTest rangeTest.hsrangeTest.comp.stderr 21 cd ../../libraries/random/tests ./rangeTest/dev/null rangeTest.run.stdout 2rangeTest.run.stderr Wrong exit code (expected 0 , actual 1 ) Stdout: Int: Passed Integer: Passed Int8: Passed Int16: Passed Int32: Passed Int64: Passed Word: Passed Word8: Passed Word16: Passed Word32: Passed Word64: Passed Double: Passed Float: Passed CChar: Passed CSChar: Passed CUChar: Passed CShort: Passed CUShort: Passed CInt: Passed CUInt: Passed CLong: Passed CULong: Passed CPtrdiff: Passed CSize: Passed CWchar: Passed CSigAtomic: Passed CLLong: Passed CULLong: Passed CIntPtr: Passed CUIntPtr: Passed CIntMax: Passed CUIntMax: Passed Int R: Passed Integer R: Passed Int8 R: Passed Int8 Rsmall: Passed Int8 Rmini: Passed Int8 Rtrivial: Passed Int16 R: Passed Int32 R: Passed Int64 R: Passed Word R: Passed Word8 R: Passed Word16 R: Passed Word32 R: Passed Word64 R: Passed Double R: Passed Float R: Passed CChar R: Passed CSChar R: Passed CUChar R: Passed CShort R: Passed CUShort R: Passed CInt R: Passed CUInt R: Passed CLong R: Passed CULong R: Passed CPtrdiff R: Passed CSize R: Passed CWchar R: Stderr: rangeTest.exe: broke lower bound: 100 *** unexpected failure for rangeTest(normal) = ghcpkg03(normal) 75 of 3460 [1, 0, 1] cd ./cabal $MAKE -s --no-print-directory ghcpkg03/dev/null ghcpkg03.run.stdout 2ghcpkg03.run.stderr Actual stderr output differs from expected: --- ./cabal/ghcpkg03.stderr-mingw32 2012-05-03
[commit: ghc] master: INFO_TABLE_RET should generate a CmmRetInfoLabel, not a CmmInfoLabel (4444dd8)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/dd88a2021cc8acb05550a16110a20d95c017 --- commit dd88a2021cc8acb05550a16110a20d95c017 Author: Simon Marlow marlo...@gmail.com Date: Mon Oct 29 13:49:57 2012 + INFO_TABLE_RET should generate a CmmRetInfoLabel, not a CmmInfoLabel Fixes this, when building unregisterised: rts/dist/build/AutoApply.hc:87:1: error: âstg_ap_v_entryâ undeclared (first use in this function) --- compiler/cmm/CmmParse.y |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/cmm/CmmParse.y b/compiler/cmm/CmmParse.y index c483502..a02e742 100644 --- a/compiler/cmm/CmmParse.y +++ b/compiler/cmm/CmmParse.y @@ -482,7 +482,7 @@ info:: { CmmParse (CLabel, Maybe CmmInfoTable, [LocalReg]) } do let prof = NoProfilingInfo rep = mkRTSRep (fromIntegral $5) $ mkStackRep [] return (mkCmmRetLabel pkg $3, - Just $ CmmInfoTable { cit_lbl = mkCmmInfoLabel pkg $3 + Just $ CmmInfoTable { cit_lbl = mkCmmRetInfoLabel pkg $3 , cit_rep = rep , cit_prof = prof, cit_srt = NoC_SRT }, []) } @@ -497,7 +497,7 @@ info:: { CmmParse (CLabel, Maybe CmmInfoTable, [LocalReg]) } bitmap = mkLiveness dflags (map Just (drop 1 live)) rep = mkRTSRep (fromIntegral $5) $ mkStackRep bitmap return (mkCmmRetLabel pkg $3, - Just $ CmmInfoTable { cit_lbl = mkCmmInfoLabel pkg $3 + Just $ CmmInfoTable { cit_lbl = mkCmmRetInfoLabel pkg $3 , cit_rep = rep , cit_prof = prof, cit_srt = NoC_SRT }, live) } ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Make DYNAMIC_BY_DEFAULT=NO when GhcUnregisterised (092c0bd)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/092c0bd466230cf248ecb996fd5891c413ed7b7d --- commit 092c0bd466230cf248ecb996fd5891c413ed7b7d Author: Simon Marlow marlo...@gmail.com Date: Mon Oct 29 13:50:35 2012 + Make DYNAMIC_BY_DEFAULT=NO when GhcUnregisterised --- mk/config.mk.in | 13 +++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mk/config.mk.in b/mk/config.mk.in index 366d511..a906d25 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -136,8 +136,17 @@ SharedLibsByDefaultPlatformList = \ x86_64-unknown-linux \ x86_64-apple-darwin -DYNAMIC_BY_DEFAULT = $(if $(filter $(TARGETPLATFORM),\ - $(SharedLibsByDefaultPlatformList)),YES,NO) +# DYANMIC_BY_DEFAULT says whether this compiler will default to +# building dynamic executables, i.e. -dynamic is on. We do this for +# certain platforms because it lets us use the system dynamic linker +# instead of our own linker for GHCi. +# +# We do not enable this for an unregisterised build. It is currently +# unknown whether shared libraries (should) work when unregisterised. +# +DYNAMIC_BY_DEFAULT = $(strip $(if $(filter YES,$(GhcUnregisterised)),NO,\ + $(if $(filter $(TARGETPLATFORM),\ + $(SharedLibsByDefaultPlatformList)),YES,NO))) # Build a compiler that will build *unregisterised* libraries and # binaries by default. Unregisterised code is supposed to compile and ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: testsuite] master: make it optional to have DynamicByDefault, to support older GHCs (65ab228)
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master http://hackage.haskell.org/trac/ghc/changeset/65ab2281b3a3024220d02a8aa557cfe5a4cba118 --- commit 65ab2281b3a3024220d02a8aa557cfe5a4cba118 Author: Simon Marlow marlo...@gmail.com Date: Mon Oct 29 10:37:31 2012 + make it optional to have DynamicByDefault, to support older GHCs It's often useful to be able to say 'make TEST_HC=ghc' to check that a test really fails with a different GHC. --- mk/ghc-config.hs | 64 + 1 files changed, 40 insertions(+), 24 deletions(-) diff --git a/mk/ghc-config.hs b/mk/ghc-config.hs index 77efbcd..b667b84 100644 --- a/mk/ghc-config.hs +++ b/mk/ghc-config.hs @@ -7,22 +7,22 @@ main = do info - readProcess ghc [+RTS, --info] let fields = read info :: [(String,String)] - getGhcField fields HostOS Host OS - getGhcField fields WORDSIZE Word size - getGhcField fields TARGETPLATFORM Target platform - getGhcField fields TargetOS_CPP Target OS - getGhcField fields TargetARCH_CPP Target architecture + getGhcFieldOrFail fields HostOS Host OS + getGhcFieldOrFail fields WORDSIZE Word size + getGhcFieldOrFail fields TARGETPLATFORM Target platform + getGhcFieldOrFail fields TargetOS_CPP Target OS + getGhcFieldOrFail fields TargetARCH_CPP Target architecture info - readProcess ghc [--info] let fields = read info :: [(String,String)] - getGhcField fields GhcStage Stage - getGhcField fields GhcWithNativeCodeGen Have native code generator - getGhcField fields GhcWithInterpreter Have interpreter - getGhcField fields GhcUnregisterised Unregisterised - getGhcField fields GhcWithSMP Support SMP - getGhcField fields GhcRTSWays RTS ways - getGhcField fields GhcDynamicByDefault Dynamic by default + getGhcFieldOrFail fields GhcStage Stage + getGhcFieldOrFail fields GhcWithNativeCodeGen Have native code generator + getGhcFieldOrFail fields GhcWithInterpreter Have interpreter + getGhcFieldOrFail fields GhcUnregisterised Unregisterised + getGhcFieldOrFail fields GhcWithSMP Support SMP + getGhcFieldOrFail fields GhcRTSWays RTS ways + getGhcFieldOrDefault fields GhcDynamicByDefault Dynamic by default NO getGhcFieldProgWithDefault fields AR ar command ar let pkgdb_flag = case lookup Project version fields of @@ -32,20 +32,36 @@ main = do putStrLn $ GhcPackageDbFlag ++ '=':pkgdb_flag -getGhcField :: [(String,String)] - String - String - IO () -getGhcField fields mkvar key = - case lookup key fields of - Nothing - fail (No field: ++ key) - Just val - putStrLn (mkvar ++ '=':val) +getGhcFieldOrFail :: [(String,String)] - String - String - IO () +getGhcFieldOrFail fields mkvar key + = getGhcField fields mkvar key id (fail (No field: ++ key)) + +getGhcFieldOrDefault :: [(String,String)] - String - String - String - IO () +getGhcFieldOrDefault fields mkvar key deflt + = getGhcField fields mkvar key id on_fail + where +on_fail = putStrLn (mkvar ++ '=' : deflt) + +getGhcFieldProgWithDefault + :: [(String,String)] + - String - String - String + - IO () +getGhcFieldProgWithDefault fields mkvar key deflt + = getGhcField fields mkvar key fix on_fail + where +fix val = fixSlashes (fixTopdir topdir val) +topdir = fromMaybe (lookup LibDir fields) +on_fail = putStrLn (mkvar ++ '=' : deflt) -getGhcFieldProgWithDefault :: [(String,String)] - - String - String - String - IO () -getGhcFieldProgWithDefault fields mkvar key deflt = do +getGhcField + :: [(String,String)] - String - String + - (String - String) + - IO () + - IO () +getGhcField fields mkvar key fix on_fail = case lookup key fields of - Nothing - putStrLn (mkvar ++ '=' : deflt) - Just val - putStrLn (mkvar ++ '=' : fixSlashes (fixTopdir topdir val)) - where - topdir = fromMaybe (lookup LibDir fields) + Nothing - on_fail + Just val - putStrLn (mkvar ++ '=' : fix val) fixTopdir :: String - String - String fixTopdir t = ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: testsuite] master: add test for #7319 (23ad5a9)
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master http://hackage.haskell.org/trac/ghc/changeset/23ad5a9841b2e2935daf2fc35e534ad3f8232494 --- commit 23ad5a9841b2e2935daf2fc35e534ad3f8232494 Author: Simon Marlow marlo...@gmail.com Date: Mon Oct 29 10:46:47 2012 + add test for #7319 --- tests/codeGen/should_run/T7319.hs | 11 +++ tests/codeGen/should_run/T7319.stderr |5 + tests/codeGen/should_run/all.T|6 ++ 3 files changed, 22 insertions(+), 0 deletions(-) diff --git a/tests/codeGen/should_run/T7319.hs b/tests/codeGen/should_run/T7319.hs new file mode 100644 index 000..5159744 --- /dev/null +++ b/tests/codeGen/should_run/T7319.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE BangPatterns, MagicHash #-} +import Control.Exception +import System.Environment +import GHC.Exts + +main = do + args - getArgs + foo args + +foo _ = let !e = toException (ErrorCall test) in +raise# e diff --git a/tests/codeGen/should_run/T7319.stderr b/tests/codeGen/should_run/T7319.stderr new file mode 100644 index 000..4d3bc94 --- /dev/null +++ b/tests/codeGen/should_run/T7319.stderr @@ -0,0 +1,5 @@ +*** Exception (reporting due to +RTS -xc): (base:GHC.Exception.SomeException), stack trace: + Main.foo, + called from Main.main, + called from Main.CAF +T7319: test diff --git a/tests/codeGen/should_run/all.T b/tests/codeGen/should_run/all.T index cef3994..f2fbe43 100644 --- a/tests/codeGen/should_run/all.T +++ b/tests/codeGen/should_run/all.T @@ -94,3 +94,9 @@ test('setByteArray', normal, compile_and_run, ['']) test('6146', normal, compile_and_run, ['']) test('T5900', normal, compile_and_run, ['']) test('T7163', normal, compile_and_run, ['']) + +# Gives different results when optimised, so restrict to just one way +test('T7319', [ extra_ways(['prof']), only_ways(['prof']), exit_code(1), +req_profiling, +extra_hc_opts('-fprof-auto'), +extra_run_opts('+RTS -xc') ], compile_and_run, ['']) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: testsuite] master: fix HAVE_VANILLA when we have both static profiling and vanilla libs (03a016b)
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master http://hackage.haskell.org/trac/ghc/changeset/03a016b75d9a5216709a5d60c7c207613e1e --- commit 03a016b75d9a5216709a5d60c7c207613e1e Author: Simon Marlow marlo...@gmail.com Date: Tue Oct 30 11:36:20 2012 + fix HAVE_VANILLA when we have both static profiling and vanilla libs --- mk/test.mk |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/mk/test.mk b/mk/test.mk index 3784d8f..586cb8b 100644 --- a/mk/test.mk +++ b/mk/test.mk @@ -46,7 +46,7 @@ RUNTEST_OPTS += -e ghc_with_native_codegen=0 endif HASKELL98_LIBDIR := $(shell $(GHC_PKG) field haskell98 library-dirs | sed 's/^[^:]*: *//') -HAVE_VANILLA := $(shell if [ -f $(subst \,/,$(HASKELL98_LIBDIR))/libHShaskell98-*.a ]; then echo YES; else echo NO; fi) +HAVE_VANILLA := $(shell if [ -f $(subst \,/,$(HASKELL98_LIBDIR))/libHShaskell98-*[0-9].a ]; then echo YES; else echo NO; fi) HAVE_PROFILING := $(shell if [ -f $(subst \,/,$(HASKELL98_LIBDIR))/libHShaskell98-*_p.a ]; then echo YES; else echo NO; fi) ifeq $(HAVE_VANILLA) YES ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: testsuite] master: accept (46a856a)
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master http://hackage.haskell.org/trac/ghc/changeset/46a856ae42719d31a92c74f949fa353b539a58ba --- commit 46a856ae42719d31a92c74f949fa353b539a58ba Author: Simon Marlow marlo...@gmail.com Date: Tue Oct 30 12:01:55 2012 + accept --- tests/ghci.debugger/scripts/break011.stdout |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/ghci.debugger/scripts/break011.stdout b/tests/ghci.debugger/scripts/break011.stdout index afaa1fd..b84023b 100644 --- a/tests/ghci.debugger/scripts/break011.stdout +++ b/tests/ghci.debugger/scripts/break011.stdout @@ -16,8 +16,8 @@ _result :: a Stopped at exception thrown _exception :: e already at the beginning of the history -_exception = SomeException (ErrorCall foo) +_exception = SomeException foo _result :: a = _ -_exception :: SomeException = SomeException (ErrorCall foo) +_exception :: SomeException = SomeException foo *** Exception: foo *** Exception: foo ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
Re: [commit: ghc] master: Fix dependency generation when GhcLibWays = dyn p (11aa737)
On 30/10/2012 02:48, Ian Lynagh wrote: +# Setting hisuf/osuf is a kludge. If DYNAMIC_BY_DEFAULT is on, dyn is +# the first way, and p is another way, then without this kludge we run +# ghc -M -hisuf dyn_hi -osuf dyn_o -dep-suffix dyn -dep-suffix p +# which means we get dependencies for .dyn_hi/.dyn_o and .p_dyn_hi/.p_dyn_o +# rather than .dyn_hi/.dyn_o and .p_hi/.p_o. +# With the kludge we also get .hi/.o dependencies that we don't need, but +# they don't do any harm. +# We also specify -static, as otherwise we end up with some dependencies +# on .dyn_dyn_hi files +$1_$2_MKDEPENDHS_FLAGS += -static -hisuf hi -osuf o ifneq $$(NO_GENERATED_MAKEFILE_RULES) YES @@ -34,8 +44,9 @@ $$($1_$2_depfile_haskell) : $$(includes_H_CONFIG) $$(includes_H_PLATFORM) $$($1_$2_depfile_haskell) : $$($1_$2_HS_SRCS) $$($1_$2_HS_BOOT_SRCS) $$($1_$2_HC_MK_DEPEND_DEP) | (dir @)/. $$(call removeFiles,$$@.tmp) ifneq $$($1_$2_HS_SRCS) - $$($1_$2_HC_MK_DEPEND) -M $$($1_$2_MKDEPENDHS_FLAGS) \ + $$($1_$2_HC_MK_DEPEND) -M \ $$(filter-out -split-objs, $$($1_$2_$$(firstword $$($1_$2_WAYS))_ALL_HC_OPTS)) \ + $$($1_$2_MKDEPENDHS_FLAGS) \ $$($1_$2_HS_SRCS) endif echo $1_$2_depfile_haskell_EXISTS = YES $$@.tmp I encountered this yesterday. I wonder whether we could just use $$($1_$2_v_ALL_HC_OPTS) instead of $$($1_$2_$$(firstword $$($1_$2_WAYS))_ALL_HC_OPTS), and then we wouldn't need the kludge (though we'd still need a comment to explain why). Wouldn't that be better? Cheers, Simon ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[nightly] 29-Oct-2012 build of HEAD on i386-unknown-linux (cam-02-unx)
Build description = HEAD on i386-unknown-linux (cam-02-unx) Build location= /playpen/simonmar/nightly/HEAD Build config file = /home/simonmar/nightly/site/msrc/conf-HEAD-cam-02-unx Nightly build started on cam-02-unx at Mon Oct 29 18:00:01 GMT 2012. checking out new source tree ... ok. Building stage 1 compiler... ok. GHC Version 7.7.20121028 Building stage 2 compiler... ok. Building stage 3 compiler... ok. building testsuite tools ... ok. running tests... ok (summary below). building compiler binary distribution... ok. uploading binary distribution... ok. running nofib (-rtsopts -O2) ... failed. running nofib (-rtsopts -O2 -fllvm) ... failed. running nofib (-rtsopts -O2 -prof -auto-all) ... failed. running nofib (-rtsopts -O2 -prof -auto-all -fllvm)... failed. publishing logs ... ssh: connect to host haskell.org port 22: No route to host lost connection failed. Logs are at http://www.haskell.org/ghc/dist/current/logs Dists are at http://www.haskell.org/ghc/dist/current/dist Docs are at http://www.haskell.org/ghc/dist/current/docs - Respository hashes: .|1b02de8dd7a2eba0f8e136398e59ee2b9af85102 ghc-tarballs|18e0c37f8023abf469af991e2fc2d3b024319c27 libraries/Cabal|98e37cacc6c6769455d3307e344b3819d8b8e769 libraries/Win32|21335a30161c099da79ae9619c9782e5e32e4644 libraries/array|a24f9848dc1d19829d9b8f1335cc1d6662f95140 libraries/base|9eb9bbad5094480dcc99c0800c13c4a19d7c3f6d libraries/binary|2d31cea238d0d08885c457475fc354dbf2b88976 libraries/bytestring|87c5fc73a18d613d59c0325cb802c670eb026709 libraries/containers|a9b7224068ae60f73baacd5f76d2c27624d90120 libraries/deepseq|4821349305c2a73efacdd58d2ba485b07eb84eda libraries/directory|ae1704201bdee2be29a3a6a59a42b240f6180353 libraries/dph|c68aee2c352d5fa42df154a728b49e20949641cb libraries/filepath|2d60d0dd5d8fc924420bb238902266929f4e2cfb libraries/ghc-prim|03144fbee792555bfd6de6184228ebaeffed2896 libraries/haskeline|9ad00926f832f4e5f5d38c8fe84bfc85f4e8f728 libraries/haskell2010|d7e33da36585c250cd0bfb45b518c95e44197f3c libraries/haskell98|8b70376392c992703034b8e3e96ec13ffb80a153 libraries/hoopl|038658b5605af91b6180a4a8d82cb1696d6421b4 libraries/hpc|61dfe710c350edef9e6239f72b18ff6125f1e129 libraries/integer-gmp|8c5a74fb612654b1459b4fee8d64d9f4427c704c libraries/integer-simple|45a0642c712adfdc0a313601d720a4ee7a9cd48d libraries/old-locale|47542432234f6fc406a9abf5d3f94e43d9bd10f6 libraries/old-time|cf225c367e5490201a5b04b1b8cb322f6e230d46 libraries/parallel|5331a63bca622486a2a04218ca702f22aa238956 libraries/pretty|ab7e8d91470bb94c9e184dffbec89d0aae116f9b libraries/primitive|75c3379b6d76e914cc3c7ffd290b6b1cad7ea3e6 libraries/process|8d7a7c234e86aca4d54d55de92fb3a302fcf102b libraries/random|69bfde219bab869729fdbe9c1496371f912bf41e libraries/stm|4965c0139de186c8322cb48b52550acb4b8d9afa libraries/template-haskell|d7b864b7ddb0e8c2f58d08dfd50e843eb8966b90 libraries/terminfo|579d2c324e69856ff8d1ea8b5036e30c920e1973 libraries/transformers|a59fb93860f84ccd44178dcbbb82cfea7e02cd07 libraries/unix|c35901aad10deb32c0128b7186c35bd96bf4a0bc libraries/vector|c4c5a740ec977a4300449bc85f4707ec641be923 libraries/xhtml|fb9e0bbb69e15873682a9f25d39652099a3ccac1 nofib|35be7d976116e83d9cdea7145bbefb117d4a771f testsuite|c460f8bd55ac6bf57e5927933d4d27dffbe31c81 utils/haddock|1baca3e5fb206a60a326ca7b61419b91b4642d98 utils/hsc2hs|2f1d9d3009d6193cc664d85ec24de20ce0380db4 - All done! Nightly build finished successfully at Tue Oct 30 12:19:07 GMT 2012 - GHC Test summary - OVERALL SUMMARY for test run started at Tue Oct 30 05:05:37 GMT 2012 3505 total tests, which gave rise to 17166 test cases, of which 1 caused framework failures 3689 were skipped 12902 expected passes 165 had missing libraries 131 expected failures 1 unexpected passes 278 unexpected failures Unexpected passes: arrows/should_fail arrowfail001 (normal) Unexpected failures: ../../libraries/base/tests/IO3307 [bad stderr] (normal) ../../libraries/base/tests/IOenvironment001 [bad stderr] (normal) ../../libraries/hpc/tests/ghc_ghci hpc_ghc_ghci [bad stderr] (normal) ../../libraries/parallel/tests par003 [bad stderr] (normal) ../../libraries/random/tests rangeTest [bad exit code] (profasm,profthreaded) ../../libraries/stm/testsstm049 [bad exit code] (ghci) ../../libraries/stm/testsstm052 [bad exit code] (ghci) ../../libraries/unix/tests getEnvironment02 [bad exit code] (ghci) ../../libraries/unix/tests/libposix posix005 [bad stdout or stderr]
Re: [commit: ghc] master: Fix dependency generation when GhcLibWays = dyn p (11aa737)
On Tue, Oct 30, 2012 at 12:15:16PM +, Simon Marlow wrote: On 30/10/2012 02:48, Ian Lynagh wrote: +# Setting hisuf/osuf is a kludge. If DYNAMIC_BY_DEFAULT is on, dyn is +# the first way, and p is another way, then without this kludge we run +# ghc -M -hisuf dyn_hi -osuf dyn_o -dep-suffix dyn -dep-suffix p +# which means we get dependencies for .dyn_hi/.dyn_o and .p_dyn_hi/.p_dyn_o +# rather than .dyn_hi/.dyn_o and .p_hi/.p_o. +# With the kludge we also get .hi/.o dependencies that we don't need, but +# they don't do any harm. +# We also specify -static, as otherwise we end up with some dependencies +# on .dyn_dyn_hi files +$1_$2_MKDEPENDHS_FLAGS += -static -hisuf hi -osuf o ifneq $$(NO_GENERATED_MAKEFILE_RULES) YES @@ -34,8 +44,9 @@ $$($1_$2_depfile_haskell) : $$(includes_H_CONFIG) $$(includes_H_PLATFORM) $$($1_$2_depfile_haskell) : $$($1_$2_HS_SRCS) $$($1_$2_HS_BOOT_SRCS) $$($1_$2_HC_MK_DEPEND_DEP) | (dir @)/. $$(call removeFiles,$$@.tmp) ifneq $$($1_$2_HS_SRCS) -$$($1_$2_HC_MK_DEPEND) -M $$($1_$2_MKDEPENDHS_FLAGS) \ +$$($1_$2_HC_MK_DEPEND) -M \ $$(filter-out -split-objs, $$($1_$2_$$(firstword $$($1_$2_WAYS))_ALL_HC_OPTS)) \ +$$($1_$2_MKDEPENDHS_FLAGS) \ $$($1_$2_HS_SRCS) endif echo $1_$2_depfile_haskell_EXISTS = YES $$@.tmp I encountered this yesterday. I wonder whether we could just use $$($1_$2_v_ALL_HC_OPTS) instead of $$($1_$2_$$(firstword $$($1_$2_WAYS))_ALL_HC_OPTS), and then we wouldn't need the kludge (though we'd still need a comment to explain why). Wouldn't that be better? $1_$2_v_ALL_HC_OPTS is only defined if the v way is in GhcLibWays. Thanks Ian ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
Re: [commit: ghc] master: Fix dependency generation when GhcLibWays = dyn p (11aa737)
On 30/10/2012 12:29, Ian Lynagh wrote: On Tue, Oct 30, 2012 at 12:15:16PM +, Simon Marlow wrote: On 30/10/2012 02:48, Ian Lynagh wrote: +# Setting hisuf/osuf is a kludge. If DYNAMIC_BY_DEFAULT is on, dyn is +# the first way, and p is another way, then without this kludge we run +# ghc -M -hisuf dyn_hi -osuf dyn_o -dep-suffix dyn -dep-suffix p +# which means we get dependencies for .dyn_hi/.dyn_o and .p_dyn_hi/.p_dyn_o +# rather than .dyn_hi/.dyn_o and .p_hi/.p_o. +# With the kludge we also get .hi/.o dependencies that we don't need, but +# they don't do any harm. +# We also specify -static, as otherwise we end up with some dependencies +# on .dyn_dyn_hi files +$1_$2_MKDEPENDHS_FLAGS += -static -hisuf hi -osuf o ifneq $$(NO_GENERATED_MAKEFILE_RULES) YES @@ -34,8 +44,9 @@ $$($1_$2_depfile_haskell) : $$(includes_H_CONFIG) $$(includes_H_PLATFORM) $$($1_$2_depfile_haskell) : $$($1_$2_HS_SRCS) $$($1_$2_HS_BOOT_SRCS) $$($1_$2_HC_MK_DEPEND_DEP) | (dir @)/. $$(call removeFiles,$$@.tmp) ifneq $$($1_$2_HS_SRCS) - $$($1_$2_HC_MK_DEPEND) -M $$($1_$2_MKDEPENDHS_FLAGS) \ + $$($1_$2_HC_MK_DEPEND) -M \ $$(filter-out -split-objs, $$($1_$2_$$(firstword $$($1_$2_WAYS))_ALL_HC_OPTS)) \ + $$($1_$2_MKDEPENDHS_FLAGS) \ $$($1_$2_HS_SRCS) endif echo $1_$2_depfile_haskell_EXISTS = YES $$@.tmp I encountered this yesterday. I wonder whether we could just use $$($1_$2_v_ALL_HC_OPTS) instead of $$($1_$2_$$(firstword $$($1_$2_WAYS))_ALL_HC_OPTS), and then we wouldn't need the kludge (though we'd still need a comment to explain why). Wouldn't that be better? $1_$2_v_ALL_HC_OPTS is only defined if the v way is in GhcLibWays. Hmm, well, I think it might make sense to ensure it was always defined and then use it. Here we really do want the v way rather than just picking the first way from the list and then hacking around the problems. Cheers, Simon ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: testsuite] master: Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite (eed0564)
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master http://hackage.haskell.org/trac/ghc/changeset/eed0564e57eff9808aa1bb4ae6230f53ac184d23 --- commit eed0564e57eff9808aa1bb4ae6230f53ac184d23 Merge: 90033bb... 46a856a... Author: Ian Lynagh i...@well-typed.com Date: Tue Oct 30 13:04:56 2012 + Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite Conflicts: mk/test.mk mk/ghc-config.hs| 64 +-- tests/codeGen/should_run/T7319.hs | 11 + tests/codeGen/should_run/T7319.stderr |5 ++ tests/codeGen/should_run/all.T |6 +++ tests/ghci.debugger/scripts/break011.stdout |4 +- 5 files changed, 64 insertions(+), 26 deletions(-) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: testsuite] master: Fix the have-we-got-vanilla-libraries test (90033bb)
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master http://hackage.haskell.org/trac/ghc/changeset/90033bb91c19be44bda84f9e2b7099a08850c1b3 --- commit 90033bb91c19be44bda84f9e2b7099a08850c1b3 Author: Ian Lynagh i...@well-typed.com Date: Tue Oct 30 02:39:01 2012 + Fix the have-we-got-vanilla-libraries test It thought that the profiling libraries were vanilla --- mk/test.mk |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mk/test.mk b/mk/test.mk index 3784d8f..8b28944 100644 --- a/mk/test.mk +++ b/mk/test.mk @@ -45,9 +45,9 @@ else RUNTEST_OPTS += -e ghc_with_native_codegen=0 endif -HASKELL98_LIBDIR := $(shell $(GHC_PKG) field haskell98 library-dirs | sed 's/^[^:]*: *//') -HAVE_VANILLA := $(shell if [ -f $(subst \,/,$(HASKELL98_LIBDIR))/libHShaskell98-*.a ]; then echo YES; else echo NO; fi) -HAVE_PROFILING := $(shell if [ -f $(subst \,/,$(HASKELL98_LIBDIR))/libHShaskell98-*_p.a ]; then echo YES; else echo NO; fi) +BASE_LIBDIR := $(shell $(GHC_PKG) field base library-dirs | sed 's/^[^:]*: *//') +HAVE_VANILLA := $(shell if [ -f $(subst \,/,$(BASE_LIBDIR))/Prelude.hi ]; then echo YES; else echo NO; fi) +HAVE_PROFILING := $(shell if [ -f $(subst \,/,$(BASE_LIBDIR))/Prelude.p_a ]; then echo YES; else echo NO; fi) ifeq $(HAVE_VANILLA) YES RUNTEST_OPTS += -e ghc_with_vanilla=1 ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
test output mismatch in nofib
Hi all. I've just tried to run the nofib suite with the latest build from `master` (last commit 092c0bd466230cf248ecb996fd5891c413ed7b7d), and I ran into the following error: expected stdout not matched by reality --- nucleic2.stdout1 2012-07-18 23:49:12.0 +0200 +++ /var/folders/c1/pbj77lbx6fnc3qkj984xp44hgn/T//runtest85859.1 2012-10-30 15:41:20.0 +0100 @@ -1 +1 @@ -33.7976 +33.797585 make[3]: *** [runtests] Error 1 Failed making all in nucleic2: 1 make[2]: *** [all] Error 1 Failed making all in hartel: 1 make[1]: *** [all] Error 1 Failed making all in spectral: 1 make: *** [all] Error 1 Seems, like a mismatch introduced by some changes in floating-point arithmetic. Replacing the content of nucleic2.stdout1 with the expected result 33.797585 solves the problem. Can a person responsible for nofib or introduced changes to fix it? Thanks. Cheers, Ilya Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
RE: Windows falures
| \ No newline at end of file | +T7341.hs:11:12: | +Expecting one more argument to `[]' | +The first argument of `C' should have kind `*', | + but `[]' has kind `* - *' | +In the instance declaration for `C []' | *** unexpected failure for T7341(normal) yes, sorry missing stderr file. Patch coming when I'm back at base S ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] new-demand-to-merge: cleanup (09c49d3)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : new-demand-to-merge http://hackage.haskell.org/trac/ghc/changeset/09c49d31312980ba5ae0ae8613dfbf5e684a104e --- commit 09c49d31312980ba5ae0ae8613dfbf5e684a104e Author: Ilya Sergey ilya.ser...@cs.kuleuven.be Date: Tue Oct 30 13:21:55 2012 +0100 cleanup --- compiler/coreSyn/CorePrep.lhs | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compiler/coreSyn/CorePrep.lhs b/compiler/coreSyn/CorePrep.lhs index f2fb56f..9c7d23b 100644 --- a/compiler/coreSyn/CorePrep.lhs +++ b/compiler/coreSyn/CorePrep.lhs @@ -459,7 +459,7 @@ it seems good for CorePrep to be robust. -- CpeRhs: produces a result satisfying CpeRhs -- --- -cpeRhsE :: DynFlags - CorePrepEnv - CoreExpr - UniqSM (Floats, CpeRhs) +cpeRhsE :: CorePrepEnv - CoreExpr - UniqSM (Floats, CpeRhs) -- If -- e === (bs, e') -- then @@ -468,12 +468,12 @@ cpeRhsE :: DynFlags - CorePrepEnv - CoreExpr - UniqSM (Floats, CpeRhs) -- For example -- f (g x) === ([v = g x], f v) -cpeRhsE _ _env expr@(Type {}) = return (emptyFloats, expr) -cpeRhsE _ _env expr@(Coercion {}) = return (emptyFloats, expr) -cpeRhsE dflags env (Lit (LitInteger i _)) -= cpeRhsE dflags env (cvtLitInteger (cpe_dynFlags env) (getMkIntegerId env) i) -cpeRhsE _ _env expr@(Lit {}) = return (emptyFloats, expr) -cpeRhsE dflags env expr@(Var {}) = cpeApp dflags env expr +cpeRhsE _env expr@(Type {}) = return (emptyFloats, expr) +cpeRhsE _env expr@(Coercion {}) = return (emptyFloats, expr) +cpeRhsE env (Lit (LitInteger i _)) += cpeRhsE (cpe_dynFlags env) env (cvtLitInteger (cpe_dynFlags env) (getMkIntegerId env) i) +cpeRhsE _env expr@(Lit {}) = return (emptyFloats, expr) +cpeRhsE env expr@(Var {}) = cpeApp (cpe_dynFlags env) env expr cpeRhsE dflags env (Var f `App` _ `App` arg) | f `hasKey` lazyIdKey -- Replace (lazy a) by a ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] new-demand-to-merge's head updated: cleanup (37f59ef)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc Branch 'new-demand-to-merge' now includes: 2c6d11f... Re-jig the reporting of names bound multiple times 1a591a0... Refactor the way we infer types for functions in a mutually recursive group 98c29f9... Whitespace only in compiler/nativeGen/PPC/Regs.hs a3d77e8... Make the PPC globalRegMaybe more similar to the other platforms' 23efe66... Remove some CPP in nativeGen/X86/Regs.hs f1f1659... More CPP removal in nativeGen/X86/Regs.hs f26027e... More CPP removal in nativeGen/X86/Regs.hs a0788a8... Fix missing case in coVarsOfTcCo 61cc04d... A bit more debug output 6f96bc4... Tab elimination 948be9c... Add mapTM to TrieMap 2b5b178... Improve Safe Haskell warn/error output. 93e8ae2... Fix :issafe command (#7172). e8e9d09... Minor refactoring 9a3c8bd... Emit a warning for -rtsopts -shared, as well as -rtsopts -no-hs-main d6918e9... Don't assume that coercion variables have (~) types b4b7863... Fix for optimizer bug on linux-powerpc (#6156). da9a330... Merge ../HEAD 0440d8a... Follow changes in Cabal ad33998... Fix to-iface conversion of RULES involving coercions in argument pattterns b04ff2f... Two small fixes to SpecConstr for functions with equality-proof args 2f08f70... Don't specialise on implicit-parameter arguments in Specalise 336a769... Merge branch 'master' of http://darcs.haskell.org/ghc cc1cc09... Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc 75f2e87... Fix build with FreeBSD versions earlier than 9.0 8413d83... Make a function for get_itbl, rather than using a CPP macro 6252300... Convert a couple more macros to inline functions 9959dee... More CPP macro - inline function 773570e... More CPP macros - inline functions 0ab537c... More CPP macros - inline functions 3d7c81a... Make badImportItem into a warning (#7167) 4eb02c1... Update documentation for -fwarn-dodgy-imports. d82cecb... Fix return type of FUN_INFO_PTR_TO_STRUCT. 1d36d88... Fix callerSaves, activeStgRegs, haveRegBase when unregisterised c0849d8... Fix -fPIC with the new code generator 0e7d290... generalise the type of eqStableName# b2e8bed... Fix Trac #7092, involving Template Hsakell and name shadowing ab2fe55... Comments in CoreSyn only 7dfbed2... Fix pretty-printing for GADTs in infix form 1bbdbe5... Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc 7babb1b... Big changes on tc-untouchables branch 5b4fef6... When floating constraints outwards, promote the floated type variables c0907ed... Move more code into codeGen/CodeGen/Platform.hs dae766b... Remove some old commented-out code 152f1eb... Remove some CPP from nativeGen/PPC/Regs.h 6a43ff8... Remove some CPP from llvmGen/LlvmCodeGen/Ppr.hs a94b80b... Remove Util.{isDarwinTarget,isWindowsTarget} 350b5c4... Remove some CPP from compiler/ghci/Linker.lhs ed8d7a1... Remove some CPP from nativeGen/X86/Instr.hs 737e444... Whitespace only in cmm/CmmParse.y 915c372... Remove CPP from cmm/CmmParse.y baa7c0f... Add DynFlags to the CorePrepEnv 4144896... Remove CPP from coreSyn/CoreUtils.lhs 72e46ba... Merge branch 'master' of http://darcs.haskell.org/ghc f27c631... Fix Trac #7196 by adding a case to the desugarer 0d55e1e... Avoid emitting Given constraints for spontaneous unifications. Instead keep spontaneous unifications /only/ in the TcS tybinds. Relevant note is Note [Spontaneously solved in TyBinds] in TcInteract. ee578b6... Merge branch 'tc-untouchables' of http://darcs.haskell.org/ghc into tc-untouchables d0ddde5... Fail earlier if there's an error in a type declaration bcef1e2... v7.4.1 is required for building, so we can drop the v7.2.1 workaround 34be452... Minor fixes, mostly simplificaitons f5216cd... Merge remote-tracking branch 'origin/HEAD' into tc-untouchables b660cc0... make sure to remove the right link before calling 'ln -s' (could we use 'ln -sf'?) 2b69233... A raft more changes, * simplifying and tidying up canonicalisation, * removing the flat cache altogether * making the FunEq worklist into a deque b737a45... More simplifications to the constraint solver 8aabe8d... Fix fencepost and byte/word bugs in cloneArray/copyArray (#7185) de3a8f7... Cleanup: add mkIntExpr and zeroExpr utils 832077c... enable -fnew-codegen by default 4f656e8... disable -fregs-graph (#7192) 6dd55e8... Fix a bug in foldExpDeep d9c0276... small improvements to findPtr() and the closure printer 7eff304... debug printing of the CAFEnv 08042a5... fix the name of an SCC fad7453... Narrow the arg of popCnt# to the correct width 111edd8... Add -fcmm-sink to avoid the register allocator failing on x86 db5c6ad... Load the PIC base register on every entry
[commit: ghc] new-demand-to-merge: cleanup (a56d356)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : new-demand-to-merge http://hackage.haskell.org/trac/ghc/changeset/a56d356cb23981d0f3c23e9b13cbcc89e2c03240 --- commit a56d356cb23981d0f3c23e9b13cbcc89e2c03240 Author: Ilya Sergey ilya.ser...@cs.kuleuven.be Date: Tue Oct 30 13:21:21 2012 +0100 cleanup --- compiler/coreSyn/CorePrep.lhs |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/compiler/coreSyn/CorePrep.lhs b/compiler/coreSyn/CorePrep.lhs index 81b914e..f2fb56f 100644 --- a/compiler/coreSyn/CorePrep.lhs +++ b/compiler/coreSyn/CorePrep.lhs @@ -470,7 +470,7 @@ cpeRhsE :: DynFlags - CorePrepEnv - CoreExpr - UniqSM (Floats, CpeRhs) cpeRhsE _ _env expr@(Type {}) = return (emptyFloats, expr) cpeRhsE _ _env expr@(Coercion {}) = return (emptyFloats, expr) -cpeRhsE env (Lit (LitInteger i _)) +cpeRhsE dflags env (Lit (LitInteger i _)) = cpeRhsE dflags env (cvtLitInteger (cpe_dynFlags env) (getMkIntegerId env) i) cpeRhsE _ _env expr@(Lit {}) = return (emptyFloats, expr) cpeRhsE dflags env expr@(Var {}) = cpeApp dflags env expr ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] new-demand-to-merge: Merge branch 'master' into new-demand-to-merge (f288a5b)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : new-demand-to-merge http://hackage.haskell.org/trac/ghc/changeset/f288a5b795a57c834e3192aaa8d2623a8f297413 --- commit f288a5b795a57c834e3192aaa8d2623a8f297413 Merge: 26284ea... 092c0bd... Author: Ilya Sergey ilya.ser...@cs.kuleuven.be Date: Tue Oct 30 13:10:46 2012 +0100 Merge branch 'master' into new-demand-to-merge .gitignore | 55 -- compiler/cmm/CmmParse.y |4 +- mk/config.mk.in | 13 - rules/build-dependencies.mk | 13 +- utils/ghc-pkg/ghc.mk| 15 +++ 5 files changed, 55 insertions(+), 45 deletions(-) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] new-demand-to-merge: cleanup (37f59ef)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : new-demand-to-merge http://hackage.haskell.org/trac/ghc/changeset/37f59ef769fec4815021c90a51fb58ddd6e8f47b --- commit 37f59ef769fec4815021c90a51fb58ddd6e8f47b Author: Ilya Sergey ilya.ser...@cs.kuleuven.be Date: Tue Oct 30 13:30:41 2012 +0100 cleanup compiler/coreSyn/CorePrep.lhs | 91 - 1 files changed, 45 insertions(+), 46 deletions(-) Diff suppressed because of size. To see it, use: git show 37f59ef769fec4815021c90a51fb58ddd6e8f47b ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] new-demand-to-merge: Merge branch 'master' into new-demand-to-merge (26284ea)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : new-demand-to-merge http://hackage.haskell.org/trac/ghc/changeset/26284ea13daffdec3a2035b9cd994ccaa09509d6 --- commit 26284ea13daffdec3a2035b9cd994ccaa09509d6 Merge: afcff01... 1b02de8... Author: Ilya Sergey ilya.ser...@cs.kuleuven.be Date: Tue Oct 30 13:06:27 2012 +0100 Merge branch 'master' into new-demand-to-merge Conflicts: compiler/basicTypes/MkId.lhs compiler/coreSyn/CorePrep.lhs compiler/main/DynFlags.hs compiler/main/TidyPgm.lhs compiler/simplCore/SimplCore.lhs compiler/simplCore/SimplUtils.lhs compiler/stranal/DmdAnal.lhs .gitignore | 43 - aclocal.m4 |7 +- compiler/basicTypes/BasicTypes.lhs | 26 + compiler/basicTypes/DataCon.lhs| 75 +- compiler/basicTypes/DataCon.lhs-boot |2 + compiler/basicTypes/IdInfo.lhs |2 +- compiler/basicTypes/Literal.lhs| 52 +- compiler/basicTypes/MkId.lhs | 23 +- compiler/basicTypes/Name.lhs | 31 +- compiler/basicTypes/OccName.lhs| 63 +- compiler/basicTypes/RdrName.lhs| 21 +- compiler/basicTypes/Var.lhs|4 +- compiler/basicTypes/VarEnv.lhs |3 + compiler/cmm/Bitmap.hs | 53 +- compiler/cmm/CLabel.hs | 46 +- compiler/cmm/Cmm.hs|7 +- compiler/cmm/CmmBuildInfoTables.hs | 77 +- compiler/cmm/CmmCallConv.hs| 146 +- compiler/cmm/CmmContFlowOpt.hs | 12 +- compiler/cmm/CmmCvt.hs | 31 +- compiler/cmm/CmmExpr.hs| 174 +-- compiler/cmm/CmmInfo.hs| 86 +- compiler/cmm/CmmLayoutStack.hs | 182 ++-- compiler/cmm/CmmLex.x | 16 +- compiler/cmm/CmmLint.hs| 76 +- compiler/cmm/CmmMachOp.hs | 162 ++- compiler/cmm/CmmNode.hs| 55 +- compiler/cmm/CmmOpt.hs | 387 + compiler/cmm/CmmParse.y| 1610 +++- compiler/cmm/CmmPipeline.hs| 71 +- compiler/cmm/CmmProcPoint.hs | 73 +- compiler/cmm/CmmRewriteAssignments.hs | 49 +- compiler/cmm/CmmSink.hs| 210 ++- compiler/cmm/CmmType.hs| 112 +- compiler/cmm/CmmUtils.hs | 345 +++-- compiler/cmm/MkGraph.hs| 180 ++- compiler/cmm/OldCmm.hs | 14 +- compiler/cmm/OldCmmLint.hs | 117 +- compiler/cmm/OldCmmUtils.hs| 17 +- compiler/cmm/OldPprCmm.hs | 15 +- compiler/cmm/PprC.hs | 214 ++-- compiler/cmm/PprCmm.hs | 20 +- compiler/cmm/PprCmmDecl.hs | 11 +- compiler/cmm/PprCmmExpr.hs | 10 +- compiler/cmm/SMRep.lhs | 193 ++- compiler/codeGen/CgBindery.lhs | 557 --- compiler/codeGen/CgBindery.lhs-boot| 11 - compiler/codeGen/CgCallConv.hs | 407 - compiler/codeGen/CgCase.lhs| 670 compiler/codeGen/CgClosure.lhs | 640 compiler/codeGen/CgCon.lhs | 490 -- compiler/codeGen/CgExpr.lhs| 494 -- compiler/codeGen/CgExpr.lhs-boot |7 - compiler/codeGen/CgExtCode.hs | 241 --- compiler/codeGen/CgForeignCall.hs | 319 compiler/codeGen/CgHeapery.lhs | 640 compiler/codeGen/CgHpc.hs | 39 - compiler/codeGen/CgInfoTbls.hs | 372 - compiler/codeGen/CgLetNoEscape.lhs | 214 --- compiler/codeGen/CgMonad.lhs | 849 --- compiler/codeGen/CgParallel.hs | 102 -- compiler/codeGen/CgPrimOp.hs | 1155 -- compiler/codeGen/CgProf.hs | 328 compiler/codeGen/CgStackery.lhs| 365 - compiler/codeGen/CgTailCall.lhs| 508 -- compiler/codeGen/CgTicky.hs| 398 - compiler/codeGen/CgUtils.hs| 899
[PATCH] define own version of PRIdPTR on platform where its not available
Note that PRIdPTR is considered as linux-ism so it's not available on platforms like Solaris, although some other free Unix(-like) OSes apparently supports it too. --- includes/mkDerivedConstants.c | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c index 1393112..953b2b5 100644 --- a/includes/mkDerivedConstants.c +++ b/includes/mkDerivedConstants.c @@ -30,6 +30,17 @@ #include stdio.h #include string.h + +#if !defined(PRIdPTR) +#if defined(_LP64) +/* compiling for 64bit target */ +#define PRIdPTR ld +#else +/* compiling for 32bit target */ +#define PRIdPTR d +#endif +#endif + enum Mode { Gen_Haskell_Type, Gen_Haskell_Value, Gen_Haskell_Wrappers, Gen_Haskell_Exports, Gen_Header } mode; #define str(a,b) #a _ #b -- 1.7.3.2 ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] cardinality's head updated: cleanup (8e5fe67)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc Branch 'cardinality' now includes: 2c6d11f... Re-jig the reporting of names bound multiple times 1a591a0... Refactor the way we infer types for functions in a mutually recursive group 98c29f9... Whitespace only in compiler/nativeGen/PPC/Regs.hs a3d77e8... Make the PPC globalRegMaybe more similar to the other platforms' 23efe66... Remove some CPP in nativeGen/X86/Regs.hs f1f1659... More CPP removal in nativeGen/X86/Regs.hs f26027e... More CPP removal in nativeGen/X86/Regs.hs a0788a8... Fix missing case in coVarsOfTcCo 61cc04d... A bit more debug output 6f96bc4... Tab elimination 948be9c... Add mapTM to TrieMap 2b5b178... Improve Safe Haskell warn/error output. 93e8ae2... Fix :issafe command (#7172). e8e9d09... Minor refactoring 9a3c8bd... Emit a warning for -rtsopts -shared, as well as -rtsopts -no-hs-main d6918e9... Don't assume that coercion variables have (~) types b4b7863... Fix for optimizer bug on linux-powerpc (#6156). da9a330... Merge ../HEAD 0440d8a... Follow changes in Cabal ad33998... Fix to-iface conversion of RULES involving coercions in argument pattterns b04ff2f... Two small fixes to SpecConstr for functions with equality-proof args 2f08f70... Don't specialise on implicit-parameter arguments in Specalise 336a769... Merge branch 'master' of http://darcs.haskell.org/ghc cc1cc09... Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc 75f2e87... Fix build with FreeBSD versions earlier than 9.0 8413d83... Make a function for get_itbl, rather than using a CPP macro 6252300... Convert a couple more macros to inline functions 9959dee... More CPP macro - inline function 773570e... More CPP macros - inline functions 0ab537c... More CPP macros - inline functions 3d7c81a... Make badImportItem into a warning (#7167) 4eb02c1... Update documentation for -fwarn-dodgy-imports. d82cecb... Fix return type of FUN_INFO_PTR_TO_STRUCT. 1d36d88... Fix callerSaves, activeStgRegs, haveRegBase when unregisterised c0849d8... Fix -fPIC with the new code generator 0e7d290... generalise the type of eqStableName# b2e8bed... Fix Trac #7092, involving Template Hsakell and name shadowing ab2fe55... Comments in CoreSyn only 7dfbed2... Fix pretty-printing for GADTs in infix form 1bbdbe5... Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc 7babb1b... Big changes on tc-untouchables branch 5b4fef6... When floating constraints outwards, promote the floated type variables c0907ed... Move more code into codeGen/CodeGen/Platform.hs dae766b... Remove some old commented-out code 152f1eb... Remove some CPP from nativeGen/PPC/Regs.h 6a43ff8... Remove some CPP from llvmGen/LlvmCodeGen/Ppr.hs a94b80b... Remove Util.{isDarwinTarget,isWindowsTarget} 350b5c4... Remove some CPP from compiler/ghci/Linker.lhs ed8d7a1... Remove some CPP from nativeGen/X86/Instr.hs 737e444... Whitespace only in cmm/CmmParse.y 915c372... Remove CPP from cmm/CmmParse.y baa7c0f... Add DynFlags to the CorePrepEnv 4144896... Remove CPP from coreSyn/CoreUtils.lhs 72e46ba... Merge branch 'master' of http://darcs.haskell.org/ghc f27c631... Fix Trac #7196 by adding a case to the desugarer 0d55e1e... Avoid emitting Given constraints for spontaneous unifications. Instead keep spontaneous unifications /only/ in the TcS tybinds. Relevant note is Note [Spontaneously solved in TyBinds] in TcInteract. ee578b6... Merge branch 'tc-untouchables' of http://darcs.haskell.org/ghc into tc-untouchables d0ddde5... Fail earlier if there's an error in a type declaration bcef1e2... v7.4.1 is required for building, so we can drop the v7.2.1 workaround 34be452... Minor fixes, mostly simplificaitons f5216cd... Merge remote-tracking branch 'origin/HEAD' into tc-untouchables b660cc0... make sure to remove the right link before calling 'ln -s' (could we use 'ln -sf'?) 2b69233... A raft more changes, * simplifying and tidying up canonicalisation, * removing the flat cache altogether * making the FunEq worklist into a deque b737a45... More simplifications to the constraint solver 8aabe8d... Fix fencepost and byte/word bugs in cloneArray/copyArray (#7185) de3a8f7... Cleanup: add mkIntExpr and zeroExpr utils 832077c... enable -fnew-codegen by default 4f656e8... disable -fregs-graph (#7192) 6dd55e8... Fix a bug in foldExpDeep d9c0276... small improvements to findPtr() and the closure printer 7eff304... debug printing of the CAFEnv 08042a5... fix the name of an SCC fad7453... Narrow the arg of popCnt# to the correct width 111edd8... Add -fcmm-sink to avoid the register allocator failing on x86 db5c6ad... Load the PIC base register on every entry point
[commit: ghc] cardinality: cleanup (8e5fe67)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : cardinality http://hackage.haskell.org/trac/ghc/changeset/8e5fe67dc6b77271789abdc3577bea0aa4135622 --- commit 8e5fe67dc6b77271789abdc3577bea0aa4135622 Author: Ilya Sergey ilya.ser...@cs.kuleuven.be Date: Tue Oct 30 17:55:44 2012 +0100 cleanup --- compiler/stranal/DmdAnal.lhs |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 8214e6f..569c3ea 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -187,9 +187,9 @@ dmdAnal dflags rhs_flag env dmd (Lam var body) | Just (body_dmd, Many) - peelCallDmd dmd = let env'= extendSigsWithLam env var - (body_ty, body') = dmdAnal MereExpr env' body_dmd body + (body_ty, body') = dmdAnal dflags MereExpr env' body_dmd body body_ty' = body_ty `both` body_ty - (lam_ty, var') = annotateLamIdBndr rhs_flag env body_ty' var + (lam_ty, var') = annotateLamIdBndr dflags rhs_flag env body_ty' var in (lam_ty, Lam var' body') @@ -848,7 +848,7 @@ annotateLamIdBndr dflags rhs_flag env (DmdType fv ds res) id mkSigTy :: DynFlags - TopLevelFlag - RecFlag - AnalEnv - Id - CoreExpr - DmdType - (DmdEnv, StrictSig) -mkSigTy top_lvl rec_flag env id rhs dmd_ty +mkSigTy dflags top_lvl rec_flag env id rhs dmd_ty = mk_sig_ty dflags thunk_cpr_ok rec_flag rhs dmd_ty where id_dmd = idDemandInfo id ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] cardinality: Merge branch 'new-demand-to-merge' into cardinality (aa2ef7c)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : cardinality http://hackage.haskell.org/trac/ghc/changeset/aa2ef7c7237867d3c613735519ccc5144d882d3c --- commit aa2ef7c7237867d3c613735519ccc5144d882d3c Merge: d92aecc... 37f59ef... Author: Ilya Sergey ilya.ser...@cs.kuleuven.be Date: Tue Oct 30 17:39:54 2012 +0100 Merge branch 'new-demand-to-merge' into cardinality Conflicts: compiler/stranal/DmdAnal.lhs .gitignore | 98 +- aclocal.m4 |7 +- compiler/basicTypes/BasicTypes.lhs | 26 + compiler/basicTypes/DataCon.lhs| 75 +- compiler/basicTypes/DataCon.lhs-boot |2 + compiler/basicTypes/IdInfo.lhs |2 +- compiler/basicTypes/Literal.lhs| 52 +- compiler/basicTypes/MkId.lhs | 23 +- compiler/basicTypes/Name.lhs | 31 +- compiler/basicTypes/OccName.lhs| 63 +- compiler/basicTypes/RdrName.lhs| 21 +- compiler/basicTypes/Var.lhs|4 +- compiler/basicTypes/VarEnv.lhs |3 + compiler/cmm/Bitmap.hs | 53 +- compiler/cmm/CLabel.hs | 46 +- compiler/cmm/Cmm.hs|7 +- compiler/cmm/CmmBuildInfoTables.hs | 77 +- compiler/cmm/CmmCallConv.hs| 146 +- compiler/cmm/CmmContFlowOpt.hs | 12 +- compiler/cmm/CmmCvt.hs | 31 +- compiler/cmm/CmmExpr.hs| 174 +-- compiler/cmm/CmmInfo.hs| 86 +- compiler/cmm/CmmLayoutStack.hs | 182 ++-- compiler/cmm/CmmLex.x | 16 +- compiler/cmm/CmmLint.hs| 76 +- compiler/cmm/CmmMachOp.hs | 162 ++- compiler/cmm/CmmNode.hs| 55 +- compiler/cmm/CmmOpt.hs | 387 + compiler/cmm/CmmParse.y| 1610 +++- compiler/cmm/CmmPipeline.hs| 71 +- compiler/cmm/CmmProcPoint.hs | 73 +- compiler/cmm/CmmRewriteAssignments.hs | 49 +- compiler/cmm/CmmSink.hs| 210 ++- compiler/cmm/CmmType.hs| 112 +- compiler/cmm/CmmUtils.hs | 345 +++-- compiler/cmm/MkGraph.hs| 180 ++- compiler/cmm/OldCmm.hs | 14 +- compiler/cmm/OldCmmLint.hs | 117 +- compiler/cmm/OldCmmUtils.hs| 17 +- compiler/cmm/OldPprCmm.hs | 15 +- compiler/cmm/PprC.hs | 214 ++-- compiler/cmm/PprCmm.hs | 20 +- compiler/cmm/PprCmmDecl.hs | 11 +- compiler/cmm/PprCmmExpr.hs | 10 +- compiler/cmm/SMRep.lhs | 193 ++- compiler/codeGen/CgBindery.lhs | 557 --- compiler/codeGen/CgBindery.lhs-boot| 11 - compiler/codeGen/CgCallConv.hs | 407 - compiler/codeGen/CgCase.lhs| 670 compiler/codeGen/CgClosure.lhs | 640 compiler/codeGen/CgCon.lhs | 490 -- compiler/codeGen/CgExpr.lhs| 494 -- compiler/codeGen/CgExpr.lhs-boot |7 - compiler/codeGen/CgExtCode.hs | 241 --- compiler/codeGen/CgForeignCall.hs | 319 compiler/codeGen/CgHeapery.lhs | 640 compiler/codeGen/CgHpc.hs | 39 - compiler/codeGen/CgInfoTbls.hs | 372 - compiler/codeGen/CgLetNoEscape.lhs | 214 --- compiler/codeGen/CgMonad.lhs | 849 --- compiler/codeGen/CgParallel.hs | 102 -- compiler/codeGen/CgPrimOp.hs | 1155 -- compiler/codeGen/CgProf.hs | 328 compiler/codeGen/CgStackery.lhs| 365 - compiler/codeGen/CgTailCall.lhs| 508 -- compiler/codeGen/CgTicky.hs| 398 - compiler/codeGen/CgUtils.hs| 899 +-- compiler/codeGen/ClosureInfo.lhs | 1120 -- compiler/codeGen/ClosureInfo.lhs-boot |6 - compiler/codeGen/CodeGen.lhs | 235 ---
simonmar-win32-head (x86 Windows HEAD), build 669, Failure
simonmar-win32-head (x86 Windows HEAD), build 669 Build failed Details: http://darcs.haskell.org/ghcBuilder/builders/simonmar-win32-head/669.html git clone| Success create mk/build.mk | Success get subrepos | Success repo versions| Success touching clean-check files | Success setting version date | Success booting | Success configuring | Success creating check-remove-before | Success compiling| Failure: Just (ExitFailure 2) Build failed Details: http://darcs.haskell.org/ghcBuilder/builders/simonmar-win32-head/669.html inplace/bin/ghc-stage1.exe -static-H32m -O [...] /Cabal/dist-install/build/Distribution/Verbosity.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] dist-install/build/Distribution/Compat/Exception.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] /dist-install/build/Distribution/Compat/TempFile.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] /dist-install/build/Distribution/Compat/CopyFile.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] s/Win32/dist-install/build/System/Win32/DebugApi.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] cess/dist-install/build/System/Process/Internals.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] raries/process/dist-install/build/System/Process.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] libraries/process/dist-install/build/System/Cmd.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] dist-install/build/Data/ByteString/Lazy/Internal.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] testring/dist-install/build/Data/ByteString/Lazy.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] ng/dist-install/build/Data/ByteString/Lazy/Char8.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] bal/dist-install/build/Distribution/Simple/Utils.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] -o libraries/base/dist-install/build/System/Info.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] l/Cabal/dist-install/build/Distribution/Compiler.o inplace/bin/ghc-stage1.exe -static-H32m -O [...] Cabal/dist-install/build/Distribution/ParseUtils.o inplace/bin/ghc-stage1.exe -static-H32m -O-package-name Cabal-1.17.0 -hide-all-packag [...] talledPackageInfo.hs -o libraries/Cabal/Cabal/dist-install/build/Distribution/InstalledPackageInfo.o inplace/bin/ghc-stage1.exe -static-H32m -O-package-name ghc-7.7.20121030 -hide-all-packages -i -icompiler/basicTypes -icompiler/cmm -icompil [...] compiler/stage2/build -stubdir compiler/stage2/build -hisuf hi -osuf o -hcsuf hc -c compiler/main/PackageConfig.hs -o compiler/stage2/build/PackageConfig.o inplace/bin/ghc-stage1.exe -static-H32m -O-package-name ghc-7.7.20121030 -hide-all-packages -i -icompiler/basicTypes -icompiler/cmm -icompiler/codeGen -icompiler/coreSyn -icompiler/deSugar -icompiler/ghci -icompiler/hsSyn -icompiler/iface -icompiler/llvmGen -icompiler/main -icompiler/nativeGen -icompiler/parser -icompiler/prelude -icompiler/profiling -icompiler/rename -icompiler/simplCore -icompiler/simplStg -icompiler/specialise -icompiler/stgSyn -icompiler/stranal -icompiler/typecheck -icompiler/types -icompiler/utils -icompiler/vectorise -icompiler/stage2/build -icompiler/stage2/build/autogen -Icompiler/stage2/build -Icompiler/stage2/build/autogen -Icompiler/../rts/dist/build -Icompiler/stage2 -Icompiler/. -Icompiler/parser -Icompiler/utils -optP-DGHCI -optP-include -optPcompiler/stage2/build/autogen/cabal_macros.h -package Cabal-1.17.0 -package Win32-2.3.0.0 -package array-0.4.0.1 -package base-4.6.0.0 -package bin-package-db-0.0.0.0 -package bytestring-0.10.1.0 -package containers-0.5.0.0 -package directory-1.2.0.0 -package filepath-1.3.0.1 -package hoopl-3.9.0.0 -package hpc-0.6.0.0 -package process-1.1.0.2 -package template-haskell-2.8.0.0 -package time-1.4.0.1-Wall -fno-warn-name-shadowing -XHaskell98 -XNondecreasingIndentation -XCPP -XMagicHash -XUnboxedTuples -XPatternGuards -XForeignFunctionInterface -XEmptyDataDecls -XTypeSynonymInstances -XMultiParamTypeClasses -XFlexibleInstances -XRankNTypes -XScopedTypeVariables -XDeriveDataTypeable -XBangPatterns -DGHCI_TABLES_NEXT_TO_CODE -DSTAGE=2 -O2 -no-user-package-db -rtsopts-odir compiler/stage2/build -hidir compiler/stage2/build -stubdir compiler/stage2/build -hisuf hi -osuf o -hcsuf hc -c compiler/main/DynFlags.hs -o compiler/stage2/build/DynFlags.o inplace/bin/ghc-stage1.exe -static-H32m -O-hide-all-packages -i -iutils/mkUserGuidePart/. -iutils/mkUserGuidePart/dist/build -iutils/mkUserGuidePart/dist/build/autogen -Iutils/mkUserGuidePart/dist/build -Iutils/mkUserGuidePart/dist/build/autogen -optP-include -optPutils/mkUserGuidePart/dist/build/autogen/cabal_macros.h -package base-4.6.0.0 -package
[nightly] 30-Oct-2012 build of HEAD (unreg) on x86_64-unknown-linux (cam-04-unx)
Build description = HEAD (unreg) on x86_64-unknown-linux (cam-04-unx) Build location= /64playpen/simonmar/nightly/HEAD-unreg-cam-04-unx Build config file = /home/simonmar/nightly/site/msrc/conf-HEAD-unreg-cam-04-unx Nightly build started on cam-04-unx at Tue Oct 30 18:20:02 GMT 2012. checking out new source tree ... ok. Building stage 1 compiler... ok. GHC Version 7.7 Building stage 2 compiler... failed; relevant barfage is below. building testsuite tools ... failed. running nofib (-rtsopts -O2) ... ok. (91 failures) - Respository hashes: .|092c0bd466230cf248ecb996fd5891c413ed7b7d ghc-tarballs|18e0c37f8023abf469af991e2fc2d3b024319c27 libraries/Cabal|98e37cacc6c6769455d3307e344b3819d8b8e769 libraries/Win32|21335a30161c099da79ae9619c9782e5e32e4644 libraries/array|a24f9848dc1d19829d9b8f1335cc1d6662f95140 libraries/base|78960877ca29b78dd3d3b38f4f4b70eb9494b830 libraries/binary|2d31cea238d0d08885c457475fc354dbf2b88976 libraries/bytestring|87c5fc73a18d613d59c0325cb802c670eb026709 libraries/containers|a9b7224068ae60f73baacd5f76d2c27624d90120 libraries/deepseq|4821349305c2a73efacdd58d2ba485b07eb84eda libraries/directory|ae1704201bdee2be29a3a6a59a42b240f6180353 libraries/dph|c68aee2c352d5fa42df154a728b49e20949641cb libraries/filepath|2d60d0dd5d8fc924420bb238902266929f4e2cfb libraries/ghc-prim|03144fbee792555bfd6de6184228ebaeffed2896 libraries/haskeline|9ad00926f832f4e5f5d38c8fe84bfc85f4e8f728 libraries/haskell2010|d7e33da36585c250cd0bfb45b518c95e44197f3c libraries/haskell98|8b70376392c992703034b8e3e96ec13ffb80a153 libraries/hoopl|038658b5605af91b6180a4a8d82cb1696d6421b4 libraries/hpc|61dfe710c350edef9e6239f72b18ff6125f1e129 libraries/integer-gmp|8c5a74fb612654b1459b4fee8d64d9f4427c704c libraries/integer-simple|45a0642c712adfdc0a313601d720a4ee7a9cd48d libraries/old-locale|47542432234f6fc406a9abf5d3f94e43d9bd10f6 libraries/old-time|cf225c367e5490201a5b04b1b8cb322f6e230d46 libraries/parallel|5331a63bca622486a2a04218ca702f22aa238956 libraries/pretty|ab7e8d91470bb94c9e184dffbec89d0aae116f9b libraries/primitive|75c3379b6d76e914cc3c7ffd290b6b1cad7ea3e6 libraries/process|8d7a7c234e86aca4d54d55de92fb3a302fcf102b libraries/random|69bfde219bab869729fdbe9c1496371f912bf41e libraries/stm|4965c0139de186c8322cb48b52550acb4b8d9afa libraries/template-haskell|d7b864b7ddb0e8c2f58d08dfd50e843eb8966b90 libraries/terminfo|579d2c324e69856ff8d1ea8b5036e30c920e1973 libraries/transformers|a59fb93860f84ccd44178dcbbb82cfea7e02cd07 libraries/unix|c35901aad10deb32c0128b7186c35bd96bf4a0bc libraries/vector|c4c5a740ec977a4300449bc85f4707ec641be923 libraries/xhtml|fb9e0bbb69e15873682a9f25d39652099a3ccac1 nofib|35be7d976116e83d9cdea7145bbefb117d4a771f testsuite|eed0564e57eff9808aa1bb4ae6230f53ac184d23 utils/haddock|1baca3e5fb206a60a326ca7b61419b91b4642d98 utils/hsc2hs|2f1d9d3009d6193cc664d85ec24de20ce0380db4 - All done! Nightly build finished successfully at Tue Oct 30 20:34:42 GMT 2012 The last 30 lines of /64playpen/simonmar/nightly/HEAD-unreg-cam-04-unx/logs/x86_64-unknown-linux-stage2 are inplace/bin/ghc-stage1 -optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs -optc-Wredundant-decls -optc-Iincludes -optc-Iincludes/dist -optc-Iincludes/dist-derivedconstants/header -optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build -optc-DCOMPILING_RTS -optc-DNOSMP -optc-fno-strict-aliasing -optc-fno-common -optc-fomit-frame-pointer -optc-DRtsWay=\rts_thr_p\ -static -optc-DTHREADED_RTS -prof -H32m -O -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name rts -optc-DNOSMP -dcmm-lint -i -irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen-optc-O2-c rts/posix/GetEnv.c -o rts/dist/build/posix/GetEnv.thr_p_o inplace/bin/ghc-stage1 -optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs -optc-Wredundant-decls -optc-Iincludes -optc-Iincludes/dist -optc-Iincludes/dist-derivedconstants/header -optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build -optc-DCOMPILING_RTS -optc-DNOSMP
[commit: ghc] master: Save and restore registers across calls to unlockClosure. (3db0254)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/3db0254253a20473c774dccdb37e3b79464b5b41 --- commit 3db0254253a20473c774dccdb37e3b79464b5b41 Author: Geoffrey Mainland gmain...@microsoft.com Date: Mon Oct 29 17:32:10 2012 + Save and restore registers across calls to unlockClosure. We may not assume that registers are saved across calls to unlockClosure because it could call a C function on some platforms. --- rts/HeapStackCheck.cmm | 13 + 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/rts/HeapStackCheck.cmm b/rts/HeapStackCheck.cmm index 4fd4430..b3ae264 100644 --- a/rts/HeapStackCheck.cmm +++ b/rts/HeapStackCheck.cmm @@ -509,7 +509,12 @@ INFO_TABLE_RET ( stg_block_takemvar, RET_SMALL, W_ info_ptr, P_ mvar ) // code fragment executed just before we return to the scheduler stg_block_takemvar_finally { +W_ r1, r3; +r1 = R1; +r3 = R3; unlockClosure(R3, stg_MVAR_DIRTY_info); +R1 = r1; +R3 = r3; jump StgReturn [R1]; } @@ -532,7 +537,12 @@ INFO_TABLE_RET( stg_block_putmvar, RET_SMALL, W_ info_ptr, // code fragment executed just before we return to the scheduler stg_block_putmvar_finally { +W_ r1, r3; +r1 = R1; +r3 = R3; unlockClosure(R3, stg_MVAR_DIRTY_info); +R1 = r1; +R3 = r3; jump StgReturn [R1]; } @@ -565,7 +575,10 @@ stg_block_throwto_finally // unlocked. It may have been unlocked if we revoked the message // due to an exception being raised during threadPaused(). if (StgHeader_info(StgTSO_block_info(CurrentTSO)) == stg_WHITEHOLE_info) { +W_ r1; +r1 = R1; unlockClosure(StgTSO_block_info(CurrentTSO), stg_MSG_THROWTO_info); +R1 = r1; } jump StgReturn [R1]; } ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Attach proper jump liveness information to generated C-- code. (f9265dd)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/f9265dd369b9e269349930012c25e670248f2a09 --- commit f9265dd369b9e269349930012c25e670248f2a09 Author: Geoffrey Mainland gmain...@microsoft.com Date: Thu Oct 25 11:35:47 2012 +0100 Attach proper jump liveness information to generated C-- code. --- rts/AutoApply.h|4 +- utils/genapply/GenApply.hs | 54 +++- 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/rts/AutoApply.h b/rts/AutoApply.h index ebb7308..c5dbbcd 100644 --- a/rts/AutoApply.h +++ b/rts/AutoApply.h @@ -82,9 +82,9 @@ Sp(-1) = CCCS; \ Sp(-2) = stg_restore_cccs_info; \ Sp_adj(-2); \ -jump (target) [*] +jump (target) [R1] #else -#define jump_SAVE_CCCS(target) jump (target) [*] +#define jump_SAVE_CCCS(target) jump (target) [R1] #endif #endif /* APPLY_H */ diff --git a/utils/genapply/GenApply.hs b/utils/genapply/GenApply.hs index e859184..1a097b7 100644 --- a/utils/genapply/GenApply.hs +++ b/utils/genapply/GenApply.hs @@ -17,7 +17,7 @@ module Main(main) where import Text.PrettyPrint import Data.Word import Data.Bits -import Data.List( intersperse ) +import Data.List( intersperse, nub, sort ) import System.Exit import System.Environment import System.IO @@ -135,6 +135,18 @@ regRep _ = W_ loadSpWordOff :: String - Int - Doc loadSpWordOff rep off = text rep text [Sp+WDS( int off text )] +-- Make a jump +mkJump :: RegStatus -- Registerised status + - Doc -- Jump target + - [Reg] -- Registers that are definitely live + - [ArgRep] -- Jump arguments + - Doc +mkJump regstatus jump live args = +text jump jump + brackets (hcat (punctuate comma (map text regs))) + where + (reg_locs, _, _) = assignRegs regstatus 0 args + regs = (nub . sort) (live ++ map fst reg_locs) + -- make a ptr/non-ptr bitmap from a list of argument types mkBitmap :: [ArgRep] - Word32 mkBitmap args = foldr f 0 args @@ -178,7 +190,21 @@ mb_tag_node arity | Just tag - tagForArity arity = mkTagStmt tag semi mkTagStmt tag = text (R1 = R1 + ++ show tag) -genMkPAP regstatus macro jump ticker disamb +genMkPAP :: RegStatus -- Register status + - String-- Macro + - String-- Jump target + - [Reg] -- Registers that are definitely live + - String-- Ticker + - String-- Disamb + - Bool -- Don't load argument registers before jump if True + - Bool -- Arguments already in registers if True + - Bool -- Is a PAP if True + - [ArgRep] -- Arguments + - Int -- Size of all arguments + - Doc -- info label + - Bool -- Is a function + - Doc +genMkPAP regstatus macro jump live ticker disamb no_load_regs-- don't load argument regs before jumping args_in_regs-- arguments are already in regs is_pap args all_args_size fun_info_label @@ -232,7 +258,7 @@ genMkPAP regstatus macro jump ticker disamb if is_fun_case then mb_tag_node arity else empty, if overflow_regs then text jump_SAVE_CCCS parens (text jump) semi -else text jump text jump + text [*] semi +else mkJump regstatus (text jump) live (if no_load_regs then [] else args) semi ]) $$ text } @@ -334,7 +360,7 @@ genMkPAP regstatus macro jump ticker disamb then text R2 = fun_info_label semi else empty, if is_fun_case then mb_tag_node n_args else empty, -text jump text jump + text [*] semi +mkJump regstatus (text jump) live (if no_load_regs then [] else args) semi ]) -- The LARGER ARITY cases: @@ -411,12 +437,18 @@ tagForArity :: Int - Maybe Int tagForArity i | i tAG_BITS_MAX = Just i | otherwise= Nothing +enterFastPathHelper :: Int +- RegStatus +- Bool +- Bool +- [ArgRep] +- Doc enterFastPathHelper tag regstatus no_load_regs args_in_regs args = vcat [text if (GETTAG(R1)== int tag text ) {, reg_doc, text Sp_adj( int sp' text );, -- enter, but adjust offset with tag -text jump text %GET_ENTRY(R1- int tag text ) [*];, +text mkJump regstatus (text %GET_ENTRY(R1- int tag text )) [R1] args semi, text } ] -- I don't totally understand this code, I copied it from @@ -552,7 +584,7 @@ genApply regstatus args = nest 4 (vcat [ text arity =
[commit: ghc] master: Cmm jumps always have live register information. (8e81684)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/8e8168446a6f1fe2747ba10bc76053097862f4db --- commit 8e8168446a6f1fe2747ba10bc76053097862f4db Author: Geoffrey Mainland gmain...@microsoft.com Date: Wed Oct 17 17:03:13 2012 +0100 Cmm jumps always have live register information. Jumps now always have live register information attached, so drop Maybes. --- compiler/cmm/CmmCvt.hs |2 +- compiler/cmm/OldCmm.hs |2 +- compiler/cmm/OldPprCmm.hs |4 ++-- compiler/llvmGen/LlvmCodeGen/CodeGen.hs |6 +++--- compiler/nativeGen/X86/CodeGen.hs |5 ++--- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/compiler/cmm/CmmCvt.hs b/compiler/cmm/CmmCvt.hs index 017d120..4830691 100644 --- a/compiler/cmm/CmmCvt.hs +++ b/compiler/cmm/CmmCvt.hs @@ -109,7 +109,7 @@ ofZgraph g = Old.ListGraph $ mapMaybe convert_block $ postorderDfs g | otherwise - [Old.CmmCondBranch expr tid, Old.CmmBranch fid] CmmSwitch arg ids - [Old.CmmSwitch arg ids] -- ToDo: STG Live -CmmCall e _ r _ _ _ - [Old.CmmJump e (Just r)] +CmmCall e _ r _ _ _ - [Old.CmmJump e r] CmmForeignCall {} - panic ofZgraph: CmmForeignCall tail_of bid = case foldBlockNodesB3 (first, middle, last) block () of Old.BasicBlock _ stmts - stmts diff --git a/compiler/cmm/OldCmm.hs b/compiler/cmm/OldCmm.hs index cf05db9..00f88a4 100644 --- a/compiler/cmm/OldCmm.hs +++ b/compiler/cmm/OldCmm.hs @@ -156,7 +156,7 @@ data CmmStmt | CmmJump -- Jump to another C-- function, CmmExpr -- Target - (Maybe [GlobalReg]) -- Live registers at call site; + [GlobalReg] -- Live registers at call site; -- Nothing - no information, assume -- all live -- Just .. - info on liveness, [] diff --git a/compiler/cmm/OldPprCmm.hs b/compiler/cmm/OldPprCmm.hs index dcde86e..edfaef8 100644 --- a/compiler/cmm/OldPprCmm.hs +++ b/compiler/cmm/OldPprCmm.hs @@ -161,7 +161,7 @@ genCondBranch expr ident = -- -- jump foo(a, b, c); -- -genJump :: CmmExpr - Maybe [GlobalReg] - SDoc +genJump :: CmmExpr - [GlobalReg] - SDoc genJump expr live = hcat [ ptext (sLit jump) , space @@ -171,7 +171,7 @@ genJump expr live = CmmLoad (CmmReg _) _ - pprExpr expr _- parens (pprExpr expr) , semi + ptext (sLit // ) - , maybe empty ppr live] + , ppr live] -- -- -- Return from a function. [1], Section 6.8.2 of version 1.128 diff --git a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs index 73cd98f..f73552d 100644 --- a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs +++ b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs @@ -510,7 +510,7 @@ cmmPrimOpFunctions env mop ++ not supported here) -- | Tail function calls -genJump :: LlvmEnv - CmmExpr - Maybe [GlobalReg] - UniqSM StmtData +genJump :: LlvmEnv - CmmExpr - [GlobalReg] - UniqSM StmtData -- Call to known function genJump env (CmmLit (CmmLabel lbl)) live = do @@ -1258,10 +1258,10 @@ funPrologue dflags = concat $ map getReg $ activeStgRegs platform -- | Function epilogue. Load STG variables to use as argument for call. -- STG Liveness optimisation done here. -funEpilogue :: LlvmEnv - Maybe [GlobalReg] - UniqSM ([LlvmVar], LlvmStatements) +funEpilogue :: LlvmEnv - [GlobalReg] - UniqSM ([LlvmVar], LlvmStatements) -- Have information and liveness optimisation is enabled -funEpilogue env (Just live) | gopt Opt_RegLiveness dflags = do +funEpilogue env live | gopt Opt_RegLiveness dflags = do loads - mapM loadExpr (activeStgRegs platform) let (vars, stmts) = unzip loads return (vars, concatOL stmts) diff --git a/compiler/nativeGen/X86/CodeGen.hs b/compiler/nativeGen/X86/CodeGen.hs index 7ab30bf..89e81b4 100644 --- a/compiler/nativeGen/X86/CodeGen.hs +++ b/compiler/nativeGen/X86/CodeGen.hs @@ -173,9 +173,8 @@ stmtToInstrs stmt = do panic stmtToInstrs: return statement should have been cps'd away -jumpRegs :: DynFlags - Maybe [GlobalReg] - [Reg] -jumpRegs dflags Nothing = allHaskellArgRegs dflags -jumpRegs dflags (Just gregs) = [ RegReal r | Just r - map (globalRegMaybe platform) gregs ] +jumpRegs :: DynFlags - [GlobalReg] - [Reg] +jumpRegs dflags gregs = [
[commit: ghc] master: Draw STG F and D registers from the same pool of available SSE registers on x86-64. (e2f6bbd)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/e2f6bbd3a27685bc667655fdb093734cb565b4cf --- commit e2f6bbd3a27685bc667655fdb093734cb565b4cf Author: Geoffrey Mainland gmain...@microsoft.com Date: Fri Oct 5 15:19:55 2012 +0100 Draw STG F and D registers from the same pool of available SSE registers on x86-64. On x86-64 F and D registers are both drawn from SSE registers, so there is no reason not to draw them from the same pool of available SSE registers. This means that whereas previously a function could only receive two Double arguments in registers even if it did not have any Float arguments, now it can receive up to 6 arguments that are any mix of Float and Double in registers. This patch breaks the LLVM back end. The next patch will fix this breakage. compiler/cmm/CmmCallConv.hs | 57 + compiler/cmm/CmmParse.y |5 +- compiler/codeGen/CgUtils.hs | 10 ++- compiler/llvmGen/LlvmCodeGen/Regs.hs |6 ++ includes/Cmm.h | 16 +++- includes/CodeGen.Platform.hs | 161 ++ includes/mkDerivedConstants.c|8 ++ includes/rts/Constants.h |5 +- includes/stg/MachRegs.h | 62 -- includes/stg/Regs.h | 42 + 10 files changed, 342 insertions(+), 30 deletions(-) Diff suppressed because of size. To see it, use: git show e2f6bbd3a27685bc667655fdb093734cb565b4cf ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Generalize register sets and liveness calculations. (6a68507)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/6a685070116d3e61cda0c622212acac6482885d0 --- commit 6a685070116d3e61cda0c622212acac6482885d0 Author: Geoffrey Mainland gmain...@microsoft.com Date: Thu Oct 18 11:24:14 2012 +0100 Generalize register sets and liveness calculations. We would like to calculate register liveness for global registers as well as local registers, so this patch generalizes the existing infrastructure to set the stage. compiler/cmm/CmmExpr.hs | 141 compiler/cmm/CmmLayoutStack.hs| 12 ++-- compiler/cmm/CmmLint.hs | 23 +++--- compiler/cmm/CmmLive.hs | 78 -- compiler/cmm/CmmNode.hs | 60 +++--- compiler/cmm/CmmRewriteAssignments.hs | 62 +++--- compiler/cmm/CmmSink.hs | 30 compiler/cmm/OldCmm.hs| 28 --- 8 files changed, 267 insertions(+), 167 deletions(-) Diff suppressed because of size. To see it, use: git show 6a685070116d3e61cda0c622212acac6482885d0 ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Properly mark C-- calls to _assertFail as never returns. (82ede42)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/82ede42607140f8e8a05579a43fb4e7376a430db --- commit 82ede42607140f8e8a05579a43fb4e7376a430db Author: Geoffrey Mainland gmain...@microsoft.com Date: Tue Oct 30 20:49:37 2012 + Properly mark C-- calls to _assertFail as never returns. --- includes/Cmm.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/includes/Cmm.h b/includes/Cmm.h index 2b5d93b..36aae9b 100644 --- a/includes/Cmm.h +++ b/includes/Cmm.h @@ -194,7 +194,7 @@ if (predicate) {\ /*null*/; \ } else {\ - foreign C _assertFail(NULL, __LINE__); \ + foreign C _assertFail(NULL, __LINE__) never returns; \ } #else #define ASSERT(p) /* nothing */ ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Get ride of the -fregs-liveness flag. (a50cd57)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/a50cd57af13bbd046b274a42724f8ad059fc03be --- commit a50cd57af13bbd046b274a42724f8ad059fc03be Author: Geoffrey Mainland gmain...@microsoft.com Date: Thu Oct 18 16:53:25 2012 +0100 Get ride of the -fregs-liveness flag. With the new register allocation scheme, the LLVM back end must always use liveness information. --- compiler/main/DynFlags.hs |3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 4cef95e..d394299 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -277,7 +277,6 @@ data GeneralFlag | Opt_RegsIterative -- do iterative coalescing graph coloring register allocation | Opt_PedanticBottoms-- Be picky about how we treat bottom | Opt_LlvmTBAA -- Use LLVM TBAA infastructure for improving AA (hidden flag) - | Opt_RegLiveness-- Use the STG Reg liveness information (hidden flag) | Opt_IrrefutableTuples | Opt_CmmSink | Opt_CmmElimCommonBlocks @@ -2349,7 +2348,6 @@ fFlags = [ ( regs-graph, Opt_RegsGraph, nop ), ( regs-iterative, Opt_RegsIterative, nop ), ( llvm-tbaa,Opt_LlvmTBAA, nop), -- hidden flag - ( regs-liveness,Opt_RegLiveness, nop), -- hidden flag ( irrefutable-tuples, Opt_IrrefutableTuples, nop ), ( cmm-sink, Opt_CmmSink, nop ), ( cmm-elim-common-blocks, Opt_CmmElimCommonBlocks, nop ), @@ -2633,7 +2631,6 @@ optLevelFlags -- XXX disabled, see #7192 --, ([2], Opt_RegsGraph) , ([0,1,2], Opt_LlvmTBAA) -, ([0,1,2], Opt_RegLiveness) , ([1,2], Opt_CmmSink) , ([1,2], Opt_CmmElimCommonBlocks) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Attach global register liveness info to Cmm procedures. (5ee08dd)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/5ee08ddffbbe596d7716a09306888004e6baf2b1 --- commit 5ee08ddffbbe596d7716a09306888004e6baf2b1 Author: Geoffrey Mainland gmain...@microsoft.com Date: Wed Oct 17 18:20:29 2012 +0100 Attach global register liveness info to Cmm procedures. All Cmm procedures now include the set of global registers that are live on procedure entry, i.e., the global registers used to pass arguments to the procedure. Only global registers that are use to pass arguments are included in this list. compiler/cmm/Cmm.hs | 12 +- compiler/cmm/CmmBuildInfoTables.hs |8 ++-- compiler/cmm/CmmContFlowOpt.hs |2 +- compiler/cmm/CmmCvt.hs |2 +- compiler/cmm/CmmInfo.hs |8 ++-- compiler/cmm/CmmLayoutStack.hs |4 +- compiler/cmm/CmmOpt.hs |4 +- compiler/cmm/CmmPipeline.hs |6 ++-- compiler/cmm/CmmProcPoint.hs| 25 +- compiler/cmm/MkGraph.hs | 12 +++--- compiler/cmm/OldCmm.hs |6 ++-- compiler/cmm/OldCmmLint.hs |2 +- compiler/cmm/PprC.hs|2 +- compiler/cmm/PprCmmDecl.hs |4 +- compiler/codeGen/CgUtils.hs |4 +- compiler/codeGen/StgCmmExpr.hs |2 +- compiler/codeGen/StgCmmForeign.hs |2 +- compiler/codeGen/StgCmmHeap.hs |2 +- compiler/codeGen/StgCmmLayout.hs|4 +- compiler/codeGen/StgCmmMonad.hs | 20 +- compiler/llvmGen/LlvmCodeGen.hs |4 +- compiler/llvmGen/LlvmCodeGen/CodeGen.hs |4 +- compiler/llvmGen/LlvmCodeGen/Ppr.hs |2 +- compiler/nativeGen/AsmCodeGen.lhs | 28 +++--- compiler/nativeGen/PIC.hs | 16 compiler/nativeGen/PPC/CodeGen.hs |4 +- compiler/nativeGen/PPC/Ppr.hs |2 +- compiler/nativeGen/RegAlloc/Graph/Coalesce.hs |2 +- compiler/nativeGen/RegAlloc/Graph/Spill.hs |4 +- compiler/nativeGen/RegAlloc/Graph/SpillClean.hs |4 +- compiler/nativeGen/RegAlloc/Graph/SpillCost.hs |2 +- compiler/nativeGen/RegAlloc/Linear/Main.hs | 10 +++--- compiler/nativeGen/RegAlloc/Liveness.hs | 42 +++--- compiler/nativeGen/SPARC/CodeGen.hs |4 +- compiler/nativeGen/SPARC/CodeGen/Expand.hs |4 +- compiler/nativeGen/SPARC/Ppr.hs |2 +- compiler/nativeGen/X86/CodeGen.hs |4 +- compiler/nativeGen/X86/Instr.hs |4 +- compiler/nativeGen/X86/Ppr.hs |2 +- 39 files changed, 145 insertions(+), 130 deletions(-) Diff suppressed because of size. To see it, use: git show 5ee08ddffbbe596d7716a09306888004e6baf2b1 ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Generate correct LLVM for the new register allocation scheme. (dcf88e6)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/dcf88e66caefb3e79e68d4c149a878bc6eca639e --- commit dcf88e66caefb3e79e68d4c149a878bc6eca639e Author: Geoffrey Mainland gmain...@microsoft.com Date: Thu Oct 18 15:43:27 2012 +0100 Generate correct LLVM for the new register allocation scheme. We now have accurate global register liveness information attached to all Cmm procedures and jumps. With this patch, the LLVM back end uses this information to pass only the live floating point (F and D) registers on tail calls. This makes the LLVM back end compatible with the new register allocation strategy. Ideally the GHC LLVM calling convention would put all registers that are always live first in the parameter sequence. Unfortunately the specification is written so that on x86-64 SpLim (always live) is passed after the R registers. Therefore we must always pass *something* in the R registers, so we pass the LLVM value undef. compiler/llvmGen/LlvmCodeGen.hs |4 +- compiler/llvmGen/LlvmCodeGen/Base.hs| 38 --- compiler/llvmGen/LlvmCodeGen/CodeGen.hs | 63 +++ compiler/llvmGen/LlvmCodeGen/Ppr.hs |4 +- 4 files changed, 59 insertions(+), 50 deletions(-) Diff suppressed because of size. To see it, use: git show dcf88e66caefb3e79e68d4c149a878bc6eca639e ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
am-deb7-64 (HEAD), build 227, Success
am-deb7-64 (HEAD), build 227 Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/am-deb7-64/227.html git clone| Success create mk/build.mk | Success get subrepos | Success repo versions| Success touching clean-check files | Success setting version date | Success booting | Success configuring | Success creating check-remove-before | Success compiling| Success creating check-remove-after | Success compiling testremove | Success simulating clean | Success checking clean | Success making bindist | Success testing bindist | Success testing | Success testsuite summary| Success Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/am-deb7-64/227.html File not deleted:compiler/ghc.cabal.old File not deleted:inplace File not deleted:libraries/base/include/EventConfig.h Deleted before file: libraries/time/include/HsTimeConfig.h File not deleted:mk/config.mk.old File not deleted:mk/project.mk.old File not deleted:rts/libs.depend File not deleted:rts/package.conf.inplace File not deleted:rts/package.conf.inplace.raw OVERALL SUMMARY for test run started at Tue Oct 30 09:49:41 MSK 2012 3483 total tests, which gave rise to 11621 test cases, of which 1 caused framework failures 8474 were skipped 3029 expected passes 45 had missing libraries 44 expected failures 19 unexpected passes 10 unexpected failures Unexpected passes: arrows/should_failarrowfail001 (normal) codeGen/should_runT7319 (prof) profiling/should_run 5314 (prof) profiling/should_run T2552 (prof) profiling/should_run T3001 (prof_hb) profiling/should_run T3001-2 (prof_hb) profiling/should_run T5363 (prof) profiling/should_run T5559 (prof) profiling/should_run T680 (prof) profiling/should_run T949 (prof) profiling/should_run callstack001 (prof) profiling/should_run callstack002 (prof) profiling/should_run heapprof001 (prof) profiling/should_run prof-doc-fib (prof) profiling/should_run prof-doc-last (prof) profiling/should_run profinline001 (prof) profiling/should_run scc001 (prof) profiling/should_run scc002 (prof) profiling/should_run scc003 (prof) Unexpected failures: cabal ghcpkg03 [bad stderr] (normal) cabal ghcpkg05 [bad stderr] (normal) ghci/scripts T5979 [bad stderr] (ghci) perf/compiler T1969 [stat not good enough] (normal) perf/haddock haddock.Cabal [stat not good enough] (normal) perf/haddock haddock.base [stat not good enough] (normal) perf/haddock haddock.compiler [stat not good enough] (normal) polykinds T7341 [stderr mismatch] (normal) typecheck/should_fail T5300 [stderr mismatch] (normal) typecheck/should_fail T5691 [stderr mismatch] (normal) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
tn23 (x86 OSX HEAD), build 741, Failure
tn23 (x86 OSX HEAD), build 741 Build failed Details: http://darcs.haskell.org/ghcBuilder/builders/tn23/741.html git clone| Success create mk/build.mk | Success get subrepos | Success repo versions| Success touching clean-check files | Success setting version date | Success booting | Success configuring | Success creating check-remove-before | Success compiling| Failure: Just (ExitFailure 2) Build failed Details: http://darcs.haskell.org/ghcBuilder/builders/tn23/741.html rm -f libraries/xhtml/dist-install/build/libHSxh [...] ist-install/build/libHSxhtml-3000.2.1.a.contents echo libraries/xhtml/dist-install/build/Text/XHtml [...] /dist-install/build/libHSxhtml-3000.2.1.a.contents xargs /usr/bin/ar clqs libraries/xhtml/dist- [...] /dist-install/build/libHSxhtml-3000.2.1.a.contents rm -f libraries/xhtml/dist-install/build/libHSxhtml-3000.2.1.a.contents inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] html/dist-install/build/Text/XHtml/Internals.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] t-install/build/Text/XHtml/Strict/Attributes.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] ist-install/build/Text/XHtml/Strict/Elements.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] tml/dist-install/build/Text/XHtml/BlockTable.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] es/xhtml/dist-install/build/Text/XHtml/Table.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] s/xhtml/dist-install/build/Text/XHtml/Extras.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] es/xhtml/dist-install/build/Text/XHtml/Debug.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] all/build/Text/XHtml/Transitional/Attributes.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] install/build/Text/XHtml/Frameset/Attributes.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] stall/build/Text/XHtml/Transitional/Elements.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O [...] t-install/build/Text/XHtml/Frameset/Elements.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O-package-name xhtml-3000.2.1 -hide-all-packages [...] tml/./Text/XHtml/Transitional.hs -o libraries/xhtml/dist-install/build/Text/XHtml/Transitional.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O-package-name xhtml-3000.2.1 -hide-all-packages [...] suf dyn_hc -c libraries/xhtml/./Text/XHtml.hs -o libraries/xhtml/dist-install/build/Text/XHtml.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O-package-name xhtml-3000.2.1 -hide-all-packages [...] aries/xhtml/./Text/XHtml/Frameset.hs -o libraries/xhtml/dist-install/build/Text/XHtml/Frameset.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O-package-name xhtml-3000.2.1 -hide-all-packages [...] libraries/xhtml/./Text/XHtml/Strict.hs -o libraries/xhtml/dist-install/build/Text/XHtml/Strict.dyn_o inplace/bin/ghc-stage1 -fPIC -dynamic -H32m -O-package-name xhtml-3000.2.1 -hide-all-packages -i -ilibraries/xhtml/. -ilibraries/xhtml/dist-install/build -ilibraries/xhtml/dist-install/build/autogen -Ilibraries/xhtml/dist-install/build -Ilibraries/xhtml/dist-install/build/autogen -Ilibraries/xhtml/. -optP-include -optPlibraries/xhtml/dist-install/build/autogen/cabal_macros.h -package base-4.6.0.0 -Wall -XHaskell98 -XCPP -O2 -no-user-package-db -rtsopts -odir libraries/xhtml/dist-install/build -hidir libraries/xhtml/dist-install/build -stubdir libraries/xhtml/dist-install/build -hisuf dyn_hi -osuf dyn_o -hcsuf dyn_hc libraries/xhtml/dist-install [...] dist-install/build/Text/XHtml/Strict/Elements.dyn_o libraries/xhtml/dist-install/build/Text/XHtml/Frameset/Attributes.dyn_o libraries/xhtml/dist-install/build/Text/XHtml/Frameset/Elements.dyn_o libraries/xhtml/dist-install/build/Text/XHtml/Transitional/Attributes.dyn_o libraries/xhtml/dist-install/build/Text/XHtml/Transitional/Elements.dyn_o libraries/xhtml/dist-install/build/Text/XHtml/BlockTable.dyn_o libraries/xhtml/dist-install/build/Text/XHtml/Extras.dyn_o libraries/xhtml/dist-install/build/Text/XHtml/Internals.dyn_o -shared -dynamic -dynload deploy -no-auto-link-packages -o libraries/xhtml/dist-install/build/libHSxhtml-3000.2.1-ghc7.7.20121031.dylib Warning: -rtsopts and -with-rtsopts have no effect with -shared. Call hs_init_ghc() from your main() function to set these options. inplace/bin/ghc-stage1 -o ghc/stage2/build/tmp/ghc-stage2 -static -H32m -O -hide-all-packages -i -ighc/. -ighc/stage2/build -ighc/stage2/build/autogen -Ighc/stage2/build -Ighc/stage2/build/autogen-optP-DGHCI -optP-include -optPghc/stage2/build/autogen/cabal_macros.h -package array-0.4.0.1 -package base-4.6.0.0 -package bytestring-0.10.1.0 -package directory-1.2.0.0 -package filepath-1.3.0.1 -package ghc-7.7.20121031 -package haskeline-0.7.0.3 -package
[nightly] 30-Oct-2012 build of HEAD on x86_64-unknown-linux (cam-04-unx)
Build description = HEAD on x86_64-unknown-linux (cam-04-unx) Build location= /64playpen/simonmar/nightly/HEAD-cam-04-unx Build config file = /home/simonmar/nightly/site/msrc/conf-HEAD-cam-04-unx Nightly build started on cam-04-unx at Tue Oct 30 18:00:01 GMT 2012. checking out new source tree ... ok. Building stage 1 compiler... ok. GHC Version 7.7.20121030 Building stage 2 compiler... ok. Building stage 3 compiler... failed; relevant barfage is below. building source distribution ... ok. uploading source distribution... ok. building testsuite tools ... ok. running tests... ok (summary below). building compiler binary distribution... ok. uploading binary distribution... ok. running nofib (-rtsopts -O2) ... ok. running nofib (-rtsopts -O2 -fllvm) ... ok. running nofib (-rtsopts -O2 -prof -auto-all) ... ok. (91 failures) running nofib (-rtsopts -O2 -prof -auto-all -fllvm)... ok. (91 failures) publishing logs ... ok. Logs are at http://www.haskell.org/ghc/dist/current/logs Dists are at http://www.haskell.org/ghc/dist/current/dist Docs are at http://www.haskell.org/ghc/dist/current/docs - Respository hashes: .|092c0bd466230cf248ecb996fd5891c413ed7b7d ghc-tarballs|18e0c37f8023abf469af991e2fc2d3b024319c27 libraries/Cabal|98e37cacc6c6769455d3307e344b3819d8b8e769 libraries/Win32|21335a30161c099da79ae9619c9782e5e32e4644 libraries/array|a24f9848dc1d19829d9b8f1335cc1d6662f95140 libraries/base|78960877ca29b78dd3d3b38f4f4b70eb9494b830 libraries/binary|2d31cea238d0d08885c457475fc354dbf2b88976 libraries/bytestring|87c5fc73a18d613d59c0325cb802c670eb026709 libraries/containers|a9b7224068ae60f73baacd5f76d2c27624d90120 libraries/deepseq|4821349305c2a73efacdd58d2ba485b07eb84eda libraries/directory|ae1704201bdee2be29a3a6a59a42b240f6180353 libraries/dph|c68aee2c352d5fa42df154a728b49e20949641cb libraries/filepath|2d60d0dd5d8fc924420bb238902266929f4e2cfb libraries/ghc-prim|03144fbee792555bfd6de6184228ebaeffed2896 libraries/haskeline|9ad00926f832f4e5f5d38c8fe84bfc85f4e8f728 libraries/haskell2010|d7e33da36585c250cd0bfb45b518c95e44197f3c libraries/haskell98|8b70376392c992703034b8e3e96ec13ffb80a153 libraries/hoopl|038658b5605af91b6180a4a8d82cb1696d6421b4 libraries/hpc|61dfe710c350edef9e6239f72b18ff6125f1e129 libraries/integer-gmp|8c5a74fb612654b1459b4fee8d64d9f4427c704c libraries/integer-simple|45a0642c712adfdc0a313601d720a4ee7a9cd48d libraries/old-locale|47542432234f6fc406a9abf5d3f94e43d9bd10f6 libraries/old-time|cf225c367e5490201a5b04b1b8cb322f6e230d46 libraries/parallel|5331a63bca622486a2a04218ca702f22aa238956 libraries/pretty|ab7e8d91470bb94c9e184dffbec89d0aae116f9b libraries/primitive|75c3379b6d76e914cc3c7ffd290b6b1cad7ea3e6 libraries/process|8d7a7c234e86aca4d54d55de92fb3a302fcf102b libraries/random|69bfde219bab869729fdbe9c1496371f912bf41e libraries/stm|4965c0139de186c8322cb48b52550acb4b8d9afa libraries/template-haskell|d7b864b7ddb0e8c2f58d08dfd50e843eb8966b90 libraries/terminfo|579d2c324e69856ff8d1ea8b5036e30c920e1973 libraries/transformers|a59fb93860f84ccd44178dcbbb82cfea7e02cd07 libraries/unix|c35901aad10deb32c0128b7186c35bd96bf4a0bc libraries/vector|c4c5a740ec977a4300449bc85f4707ec641be923 libraries/xhtml|fb9e0bbb69e15873682a9f25d39652099a3ccac1 nofib|35be7d976116e83d9cdea7145bbefb117d4a771f testsuite|eed0564e57eff9808aa1bb4ae6230f53ac184d23 utils/haddock|1baca3e5fb206a60a326ca7b61419b91b4642d98 utils/hsc2hs|2f1d9d3009d6193cc664d85ec24de20ce0380db4 - All done! Nightly build finished successfully at Wed Oct 31 01:13:28 GMT 2012 - GHC Test summary - OVERALL SUMMARY for test run started at Tue Oct 30 21:24:54 GMT 2012 3506 total tests, which gave rise to 14019 test cases, of which 1 caused framework failures 2932 were skipped 10746 expected passes 135 had missing libraries 114 expected failures 34 unexpected passes 58 unexpected failures Unexpected passes: arrows/should_failarrowfail001 (normal) codeGen/should_runT7319 (prof) profiling/should_run 5314 (prof,prof_hc_hb,prof_hb,prof_hd,prof_hy,prof_hr) profiling/should_run T2552 (prof) profiling/should_run T3001 (prof_hb) profiling/should_run T3001-2 (prof_hb) profiling/should_run T5363 (prof) profiling/should_run T5559 (prof) profiling/should_run T680 (prof) profiling/should_run T949 (prof,prof_hc_hb,prof_hb,prof_hd,prof_hy,prof_hr) profiling/should_run callstack001 (prof) profiling/should_run callstack002 (prof) profiling/should_run heapprof001
[nightly] 30-Oct-2012 build of STABLE on x86_64-unknown-linux (cam-04-unx)
Build description = STABLE on x86_64-unknown-linux (cam-04-unx) Build location= /64playpen/simonmar/nightly/STABLE-cam-04-unx Build config file = /home/simonmar/nightly/site/msrc/conf-STABLE-cam-04-unx Nightly build started on cam-04-unx at Tue Oct 30 18:10:01 GMT 2012. checking out new source tree ... warning: Remote branch ghc-7.6 not found in upstream origin, using HEAD instead ok. Building stage 1 compiler... ok. GHC Version 7.6.1.20121027 Building stage 2 compiler... ok. Building stage 3 compiler... ok. building source distribution ... ok. uploading source distribution... ok. building testsuite tools ... ok. running tests... ok (summary below). building compiler binary distribution... ok. uploading binary distribution... ok. running nofib (-rtsopts -O2) ... ok. running nofib (-rtsopts -O2 -fllvm) ... ok. running nofib (-rtsopts -O2 -prof -auto-all) ... ok. running nofib (-rtsopts -O2 -prof -auto-all -fllvm)... ok. publishing logs ... ok. Logs are at http://www.haskell.org/ghc/dist/stable/logs Dists are at http://www.haskell.org/ghc/dist/stable/dist Docs are at http://www.haskell.org/ghc/dist/stable/docs - Respository hashes: .|fe7c8fcdbbdc203a5ff09a7ec1cd1e1a7e792da8 ghc-tarballs|18e0c37f8023abf469af991e2fc2d3b024319c27 libraries/Cabal|e7e7ce1029707a67d26e6dc29de11141734898e3 libraries/Win32|e13098aecd0489399435dbf8643e1db2272e1e02 libraries/array|8dcd15240a9c2ba142fcbd31f597b51cf2f560bf libraries/base|875e6b73b1727c0190336d010cfd6e38d0c85af0 libraries/binary|2d31cea238d0d08885c457475fc354dbf2b88976 libraries/bytestring|87c5fc73a18d613d59c0325cb802c670eb026709 libraries/containers|a9b7224068ae60f73baacd5f76d2c27624d90120 libraries/deepseq|4821349305c2a73efacdd58d2ba485b07eb84eda libraries/directory|ef17afe1bd44ae10ef413146e5ade8867cb05625 libraries/filepath|2d60d0dd5d8fc924420bb238902266929f4e2cfb libraries/ghc-prim|03144fbee792555bfd6de6184228ebaeffed2896 libraries/haskeline|f4040ab5831866c260e03fc8601edf7e1ed77049 libraries/haskell2010|d7e33da36585c250cd0bfb45b518c95e44197f3c libraries/haskell98|c5a0db5eb4ce6a3736bf4f5caac3ff465b3dbaf9 libraries/hoopl|293d339303097641e7f14a1c0365a3801a87918d libraries/hpc|c1b783dbbb0ab917208655c53a0af5c7538c2a0b libraries/integer-gmp|2d9eca147f5c8b6f390eca15e03b315f67f2df01 libraries/integer-simple|47737f6f16d891b743a3d02b0a016100fd3a36d1 libraries/old-locale|47542432234f6fc406a9abf5d3f94e43d9bd10f6 libraries/old-time|cf225c367e5490201a5b04b1b8cb322f6e230d46 libraries/pretty|0a22cc0b3a4f8db876c4019013a30bfd1c0dd9a2 libraries/process|0ab69a65edae8c1a34ecee3a97b3839c833985f2 libraries/template-haskell|db0b4de55926b0bc98717c92ba543bcf9b89d024 libraries/terminfo|579d2c324e69856ff8d1ea8b5036e30c920e1973 libraries/transformers|a59fb93860f84ccd44178dcbbb82cfea7e02cd07 libraries/unix|de870e706fe7bac6f013c910d14721dc9387e30e libraries/utf8-string|73ca1b9def3f350ad28e55fcba077e6be3b67e93 libraries/xhtml|fb9e0bbb69e15873682a9f25d39652099a3ccac1 nofib|35be7d976116e83d9cdea7145bbefb117d4a771f testsuite|a9fd026bf8bab265edc29124e7f82a0e063582c5 utils/haddock|a20efa02eef21b70c2cc3183217b55ce470b2826 utils/hsc2hs|6054fab51f13d93ae4072d94d2a88b2faa4b9411 - All done! Nightly build finished successfully at Wed Oct 31 01:30:49 GMT 2012 - GHC Test summary - OVERALL SUMMARY for test run started at Tue Oct 30 21:36:55 GMT 2012 3402 total tests, which gave rise to 16613 test cases, of which 0 caused framework failures 3563 were skipped 12548 expected passes 367 had missing libraries 131 expected failures 0 unexpected passes 4 unexpected failures Unexpected failures: perf/compiler T6048 [stat not good enough] (optasm) perf/haddock haddock.Cabal [stat not good enough] (normal) perf/haddock haddock.base [stat not good enough] (normal) perf/haddock haddock.compiler [stat not good enough] (normal) Nightly run ended at Wed Oct 31 01:30:49 GMT 2012 ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Change how touchy sets the file time (8c7dc71)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/8c7dc7182803c8e3888e7138958b73ea067fd7e9 --- commit 8c7dc7182803c8e3888e7138958b73ea067fd7e9 Author: Ian Lynagh ig...@earth.li Date: Wed Oct 31 00:53:59 2012 +0100 Change how touchy sets the file time Also added a large comment about why we need it --- utils/touchy/touchy.c | 91 ++--- 1 files changed, 86 insertions(+), 5 deletions(-) diff --git a/utils/touchy/touchy.c b/utils/touchy/touchy.c index dc4dc8d..93e960d 100644 --- a/utils/touchy/touchy.c +++ b/utils/touchy/touchy.c @@ -1,6 +1,5 @@ /* - * Simple _utime() wrapper for setting the mod. time on files - * to the current system time. + * Simple 'touch' program for Windows * */ #if !defined(_MSC_VER) !defined(__MINGW32__) !defined(_WIN32) @@ -12,15 +11,85 @@ #include fcntl.h #include errno.h #include utime.h +#include windows.h + +/* +With Windows 7 in a virtual box VM on OS X, some very odd things happen +with dates and time stamps when SSHing into cygwin. e.g. here the +Change time is in the past: + +$ date; touch foo; stat foo +Fri Dec 2 16:58:07 GMTST 2011 + File: `foo' + Size: 0 Blocks: 0 IO Block: 65536 regular +empty file +Device: 540aba0bh/1409989131d Inode: 562949953592977 Links: 1 +Access: (0644/-rw-r--r--) Uid: ( 1000/ ian) Gid: ( 513/None) +Access: 2011-12-02 16:58:07.414457900 + +Modify: 2011-12-02 16:58:07.414457900 + +Change: 2011-12-02 16:58:03.495141800 + + Birth: 2011-12-02 16:57:57.731469900 + + +And if we copy such a file, then the copy is older (as determined by the +Modify time) than the original: + +$ date; touch foo; stat foo; cp foo bar; stat bar +Fri Dec 2 16:59:10 GMTST 2011 + File: `foo' + Size: 0 Blocks: 0 IO Block: 65536 regular +empty file +Device: 540aba0bh/1409989131d Inode: 1407374883725128 Links: 1 +Access: (0644/-rw-r--r--) Uid: ( 1000/ ian) Gid: ( 513/None) +Access: 2011-12-02 16:59:10.118457900 + +Modify: 2011-12-02 16:59:10.118457900 + +Change: 2011-12-02 16:59:06.189477700 + + Birth: 2011-12-02 16:57:57.731469900 + + File: `bar' + Size: 0 Blocks: 0 IO Block: 65536 regular +empty file +Device: 540aba0bh/1409989131d Inode: 281474976882512 Links: 1 +Access: (0644/-rw-r--r--) Uid: ( 1000/ ian) Gid: ( 513/None) +Access: 2011-12-02 16:59:06.394555800 + +Modify: 2011-12-02 16:59:06.394555800 + +Change: 2011-12-02 16:59:06.395532400 + + Birth: 2011-12-02 16:58:40.921899600 + + +This means that make thinks that things are out of date when it +shouldn't, so reinvokes itself repeatedly until the MAKE_RESTARTS +infinite-recursion test triggers. + +The touchy program, like most other programs, creates files with both +Modify and Change in the past, which is still a little odd, but is +consistent, so doesn't break make. + +We used to use _utime(argv[i],NULL)) to set the file modification times, +but after a BST - GMT change this started giving files a modification +time an hour in the future: + +$ date; utils/touchy/dist/build/tmp/touchy testfile; stat testfile +Tue, Oct 30, 2012 11:33:06 PM + File: `testfile' + Size: 0 Blocks: 0 IO Block: 65536 regular empty file +Device: 540aba0bh/1409989131d Inode: 9851624184986293 Links: 1 +Access: (0755/-rwxr-xr-x) Uid: ( 1000/ ian) Gid: ( 513/None) +Access: 2012-10-31 00:33:06.0 + +Modify: 2012-10-31 00:33:06.0 + +Change: 2012-10-30 23:33:06.769118900 + + Birth: 2012-10-30 23:33:06.769118900 + + +so now we use the Win32 functions GetSystemTimeAsFileTime and SetFileTime. +*/ int main(int argc, char** argv) { - int rc; int i=0; int fd; int wBitSet = 0; struct _stat sb; + FILETIME ft; + BOOL b; + HANDLE hFile; if (argc == 1) { fprintf(stderr, Usage: %s files\n, argv[0]); @@ -49,8 +118,20 @@ main(int argc, char** argv) } wBitSet = 1; } -if ( (rc = _utime(argv[i],NULL)) 0) { - fprintf(stderr, Unable to change mod. time for %s (%d)\n, argv[i], errno); +hFile = CreateFile(argv[i], GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, + FILE_ATTRIBUTE_NORMAL, NULL); +if (hFile == INVALID_HANDLE_VALUE) { + fprintf(stderr, Unable to open %s\n, argv[i]); + continue; +} +GetSystemTimeAsFileTime(ft); +b = SetFileTime(hFile, (LPFILETIME) NULL, (LPFILETIME) NULL, ft); +if (b == 0) { + fprintf(stderr, Unable to change mod. time for %s\n, argv[i]); +} +b = CloseHandle(hFile); +if (b == 0) { + fprintf(stderr, Closing failed for %s\n, argv[i]); } if (wBitSet) { /* Turn the file back into a read-only file */
[commit: ghc] master: Improve touchy (8d226e2)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/8d226e286252928452c2572d5a92ba31e0d0af2a --- commit 8d226e286252928452c2572d5a92ba31e0d0af2a Author: Ian Lynagh ig...@earth.li Date: Wed Oct 31 01:08:45 2012 +0100 Improve touchy It's now simpler, and it fails if something fails rather than just printing an error message and continuing. --- utils/touchy/touchy.c | 81 1 files changed, 27 insertions(+), 54 deletions(-) diff --git a/utils/touchy/touchy.c b/utils/touchy/touchy.c index 93e960d..7252012 100644 --- a/utils/touchy/touchy.c +++ b/utils/touchy/touchy.c @@ -83,63 +83,36 @@ so now we use the Win32 functions GetSystemTimeAsFileTime and SetFileTime. int main(int argc, char** argv) { - int i=0; - int fd; - int wBitSet = 0; - struct _stat sb; - FILETIME ft; - BOOL b; - HANDLE hFile; +int i; +FILETIME ft; +BOOL b; +HANDLE hFile; - if (argc == 1) { -fprintf(stderr, Usage: %s files\n, argv[0]); -return 1; - } - - - while (i++ (argc-1)) { -if ( (_access(argv[i], 00) 0) (errno == ENOENT || errno == EACCES) ) { - /* File doesn't exist, try creating it. */ - if ( (fd = _open(argv[i], _O_CREAT | _O_EXCL | _O_TRUNC, _S_IREAD | _S_IWRITE)) 0 ) { - fprintf(stderr, Unable to create %s, skipping.\n, argv[i]); - } else { - _close(fd); - } -} -if ( (_access(argv[i], 02)) 0 ) { - /* No write permission, try setting it first. */ - if (_stat(argv[i], sb) 0) { - fprintf(stderr, Unable to change mod. time for %s (%d)\n, argv[i], errno); - continue; - } - if (_chmod(argv[i], (sb.st_mode _S_IREAD) | _S_IWRITE) 0) { - fprintf(stderr, Unable to change mod. time for %s (%d)\n, argv[i], errno); - continue; - } - wBitSet = 1; -} -hFile = CreateFile(argv[i], GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, - FILE_ATTRIBUTE_NORMAL, NULL); -if (hFile == INVALID_HANDLE_VALUE) { - fprintf(stderr, Unable to open %s\n, argv[i]); - continue; +if (argc == 1) { +fprintf(stderr, Usage: %s files\n, argv[0]); +return 1; } -GetSystemTimeAsFileTime(ft); -b = SetFileTime(hFile, (LPFILETIME) NULL, (LPFILETIME) NULL, ft); -if (b == 0) { - fprintf(stderr, Unable to change mod. time for %s\n, argv[i]); -} -b = CloseHandle(hFile); -if (b == 0) { - fprintf(stderr, Closing failed for %s\n, argv[i]); -} -if (wBitSet) { - /* Turn the file back into a read-only file */ - _chmod(argv[i], (sb.st_mode _S_IREAD)); - wBitSet = 0; + +for (i = 1; i argc; i++) { +hFile = CreateFile(argv[i], GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, + FILE_ATTRIBUTE_NORMAL, NULL); +if (hFile == INVALID_HANDLE_VALUE) { +fprintf(stderr, Unable to open %s\n, argv[i]); +exit(1); +} +GetSystemTimeAsFileTime(ft); +b = SetFileTime(hFile, (LPFILETIME) NULL, (LPFILETIME) NULL, ft); +if (b == 0) { +fprintf(stderr, Unable to change mod. time for %s\n, argv[i]); +exit(1); +} +b = CloseHandle(hFile); +if (b == 0) { +fprintf(stderr, Closing failed for %s\n, argv[i]); +exit(1); +} } - } - return 0; +return 0; } #endif ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Clean some old files that we no longer generate (a44a5e3)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/a44a5e335f18699e2b97e9c6ecb869900145cbec --- commit a44a5e335f18699e2b97e9c6ecb869900145cbec Author: Ian Lynagh ig...@earth.li Date: Wed Oct 31 01:50:18 2012 +0100 Clean some old files that we no longer generate Avoids problems for people with old files in their tree --- ghc.mk |6 +- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/ghc.mk b/ghc.mk index 13f0db2..c1544ad 100644 --- a/ghc.mk +++ b/ghc.mk @@ -1229,12 +1229,16 @@ CLEAN_FILES += libraries/bootstrapping.conf CLEAN_FILES += libraries/integer-gmp/cbits/GmpDerivedConstants.h CLEAN_FILES += libraries/integer-gmp/cbits/mkGmpDerivedConstants -# These four are no longer generated, but we still clean them for a while +# These are no longer generated, but we still clean them for a while # as they may still be in old GHC trees: CLEAN_FILES += includes/GHCConstants.h CLEAN_FILES += includes/DerivedConstants.h CLEAN_FILES += includes/ghcautoconf.h CLEAN_FILES += includes/ghcplatform.h +CLEAN_FILES += utils/ghc-pkg/Version.hs +CLEAN_FILES += compiler/parser/Parser.y +CLEAN_FILES += compiler/prelude/primops.txt +CLEAN_FILES += $(wildcard compiler/primop*incl) clean : clean_files clean_libraries ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
[commit: ghc] master: Merge branch 'master' of http://darcs.haskell.org/ghc (8623be0)
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/8623be0b37449cd8b2149c9928d39d5acb80fd36 --- commit 8623be0b37449cd8b2149c9928d39d5acb80fd36 Merge: 8d226e2... a50cd57... Author: Ian Lynagh ig...@earth.li Date: Wed Oct 31 01:25:55 2012 +0100 Merge branch 'master' of http://darcs.haskell.org/ghc compiler/cmm/Cmm.hs | 12 ++- compiler/cmm/CmmBuildInfoTables.hs |8 +- compiler/cmm/CmmCallConv.hs | 57 ++--- compiler/cmm/CmmContFlowOpt.hs |2 +- compiler/cmm/CmmCvt.hs |4 +- compiler/cmm/CmmExpr.hs | 141 compiler/cmm/CmmInfo.hs |8 +- compiler/cmm/CmmLayoutStack.hs | 16 +- compiler/cmm/CmmLint.hs | 23 ++-- compiler/cmm/CmmLive.hs | 78 +++ compiler/cmm/CmmNode.hs | 60 +++-- compiler/cmm/CmmOpt.hs |4 +- compiler/cmm/CmmParse.y |5 +- compiler/cmm/CmmPipeline.hs |6 +- compiler/cmm/CmmProcPoint.hs| 25 +++-- compiler/cmm/CmmRewriteAssignments.hs | 62 +- compiler/cmm/CmmSink.hs | 30 ++-- compiler/cmm/MkGraph.hs | 12 +- compiler/cmm/OldCmm.hs | 36 +++--- compiler/cmm/OldCmmLint.hs |2 +- compiler/cmm/OldPprCmm.hs |4 +- compiler/cmm/PprC.hs|2 +- compiler/cmm/PprCmmDecl.hs |4 +- compiler/codeGen/CgUtils.hs | 14 ++- compiler/codeGen/StgCmmExpr.hs |2 +- compiler/codeGen/StgCmmForeign.hs |2 +- compiler/codeGen/StgCmmHeap.hs |2 +- compiler/codeGen/StgCmmLayout.hs|4 +- compiler/codeGen/StgCmmMonad.hs | 20 ++-- compiler/llvmGen/LlvmCodeGen.hs |6 +- compiler/llvmGen/LlvmCodeGen/Base.hs| 38 -- compiler/llvmGen/LlvmCodeGen/CodeGen.hs | 69 +- compiler/llvmGen/LlvmCodeGen/Ppr.hs |4 +- compiler/llvmGen/LlvmCodeGen/Regs.hs|6 + compiler/main/DynFlags.hs |3 - compiler/nativeGen/AsmCodeGen.lhs | 28 ++-- compiler/nativeGen/PIC.hs | 16 +- compiler/nativeGen/PPC/CodeGen.hs |4 +- compiler/nativeGen/PPC/Ppr.hs |2 +- compiler/nativeGen/RegAlloc/Graph/Coalesce.hs |2 +- compiler/nativeGen/RegAlloc/Graph/Spill.hs |4 +- compiler/nativeGen/RegAlloc/Graph/SpillClean.hs |4 +- compiler/nativeGen/RegAlloc/Graph/SpillCost.hs |2 +- compiler/nativeGen/RegAlloc/Linear/Main.hs | 10 +- compiler/nativeGen/RegAlloc/Liveness.hs | 42 +++--- compiler/nativeGen/SPARC/CodeGen.hs |4 +- compiler/nativeGen/SPARC/CodeGen/Expand.hs |4 +- compiler/nativeGen/SPARC/Ppr.hs |2 +- compiler/nativeGen/X86/CodeGen.hs |9 +- compiler/nativeGen/X86/Instr.hs |4 +- compiler/nativeGen/X86/Ppr.hs |2 +- includes/Cmm.h | 18 ++- includes/CodeGen.Platform.hs| 161 +++ includes/mkDerivedConstants.c |8 + includes/rts/Constants.h|5 +- includes/stg/MachRegs.h | 62 - includes/stg/Regs.h | 42 ++ rts/AutoApply.h |4 +- rts/HeapStackCheck.cmm | 13 ++ utils/genapply/GenApply.hs | 54 ++-- 60 files changed, 877 insertions(+), 400 deletions(-) ___ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc
pgj (x86 FreeBSD HEAD), build 844, Success
pgj (x86 FreeBSD HEAD), build 844 Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj/844.html git clone| Success create mk/build.mk | Success get subrepos | Success repo versions| Success touching clean-check files | Success setting version date | Success booting | Success configuring | Success creating check-remove-before | Success compiling| Success creating check-remove-after | Success compiling testremove | Success simulating clean | Success checking clean | Success making bindist | Success publishing bindist | Success testing bindist | Success testing | Success testsuite summary| Success Build succeeded Details: http://darcs.haskell.org/ghcBuilder/builders/pgj/844.html File not deleted:compiler/ghc.cabal.old File not deleted:inplace File not deleted:libraries/base/include/EventConfig.h Deleted before file: libraries/time/include/HsTimeConfig.h File not deleted:mk/config.mk.old File not deleted:mk/project.mk.old File not deleted:rts/libs.depend File not deleted:rts/package.conf.inplace File not deleted:rts/package.conf.inplace.raw OVERALL SUMMARY for test run started at Wed Oct 31 03:36:09 UTC 2012 3483 total tests, which gave rise to 11621 test cases, of which 1 caused framework failures 8477 were skipped 2818 expected passes 45 had missing libraries 35 expected failures 28 unexpected passes 218 unexpected failures Unexpected passes: ../../libraries/unix/tests getEnvironment01 (normal) ../../libraries/unix/tests getEnvironment02 (normal) ../../libraries/unix/tests getGroupEntryForName (normal) ../../libraries/unix/tests getUserEntryForName (normal) ../../libraries/unix/tests queryfdoption01 (normal) arrows/should_fail arrowfail001 (normal) codeGen/should_run T7319 (prof) profiling/should_compile2410 (normal) profiling/should_compileprof001 (normal) profiling/should_compileprof002 (normal) profiling/should_run5314 (prof) profiling/should_runT2552 (prof) profiling/should_runT3001 (prof_hb) profiling/should_runT3001-2 (prof_hb) profiling/should_runT5363 (prof) profiling/should_runT5559 (prof) profiling/should_runT680 (prof) profiling/should_runT949 (prof) profiling/should_runcallstack001 (prof) profiling/should_runcallstack002 (prof) profiling/should_runheapprof001 (prof) profiling/should_runprof-doc-fib (prof) profiling/should_runprof-doc-last (prof) profiling/should_runprofinline001 (prof) profiling/should_runscc001 (prof) profiling/should_runscc002 (prof) profiling/should_runscc003 (prof) stranal/should_compile newtype (optasm) Unexpected failures: ../../libraries/base/tests/IO3307 [bad stderr] (normal) ../../libraries/base/tests/IOenvironment001 [bad stderr] (normal) ../../libraries/directory/tests getPermissions001 [bad exit code] (normal) ../../libraries/hpc/tests/ghc_ghci hpc_ghc_ghci [bad stderr] (normal) ../../libraries/process/testsprocess007 [bad stdout] (normal) ../../libraries/process/testsprocess009 [bad stdout] (normal) ../../libraries/unix/tests/libposix posix005 [bad stdout] (normal) cabal1750 [bad stderr] (normal) cabalghcpkg01 [bad stderr] (normal) cabalghcpkg03 [bad stderr] (normal) cabalghcpkg05 [bad stderr] (normal) cabalghcpkg06 [bad stderr] (normal) cabalshadow [bad stderr] (normal) cabal/cabal01cabal01 [bad stderr] (normal) cabal/cabal04cabal04 [bad stderr] (normal) codeGen/should_compile 2578 [bad stderr] (normal) codeGen/should_run cgrun071 [bad exit code] (normal) deSugar/should_compile T5252 [bad stderr] (normal) deSugar/should_compile T5252Take2 [bad stderr] (normal) deriving/should_fail drvfail016 [bad stderr] (normal) driver 2566 [bad stderr] (normal) driver T3364 [bad stderr] (normal) driver T5198 [bad stderr] (normal) driver T5584 [bad stderr] (normal) driver T706 [bad stderr] (normal) driver T7060 [bad stderr] (normal) driver driver011 [bad