Merge branch 'master' of http://darcs.haskell.org/ghc
authorIan Lynagh <igloo@earth.li>
Sat, 2 Apr 2011 13:19:38 +0000 (14:19 +0100)
committerIan Lynagh <igloo@earth.li>
Sat, 2 Apr 2011 13:19:38 +0000 (14:19 +0100)
.gitignore
boot [changed mode: 0644->0755]
compiler/nativeGen/X86/CodeGen.hs
darcs-all [changed mode: 0644->0755]
install-sh [changed mode: 0644->0755]
libffi/ln [changed mode: 0644->0755]

index 37885b1..79629da 100644 (file)
@@ -75,6 +75,12 @@ configure
 # -----------------------------------------------------------------------------
 # specific generated files
 
+/bindist-list
+/bindistprep/
+/bindisttest/HelloWorld
+/bindisttest/a/
+/bindisttest/install\ dir/
+/bindisttest/output
 /ch01.html
 /ch02.html
 /compiler/cmm/CmmLex.hs
@@ -109,6 +115,9 @@ configure
 /docs/man/ghc.1
 /docs/users_guide/ug-book.xml
 /docs/users_guide/ug-ent.xml
+/docs/users_guide/users_guide.xml
+/docs/users_guide/users_guide/
+/docs/users_guide/what_glasgow_exts_does.gen.xml
 /driver/ghci/ghc-pkg-inplace
 /driver/ghci/ghci-inplace
 /driver/mangler/dist/ghc-asm
@@ -144,6 +153,16 @@ configure
 /libraries/bin-package-db/ghc.mk
 /libraries/bootstrapping.conf
 /libraries/prologue.txt
+/libraries/doc-index*.html
+/libraries/frames.html
+/libraries/haddock-util.js
+/libraries/hslogo-16.png
+/libraries/index-frames.html
+/libraries/index.html
+/libraries/minus.gif
+/libraries/ocean.css
+/libraries/plus.gif
+/libraries/synopsis.png
 /libraries/stamp/
 /libraries/time/
 /libraries/*/dist-boot/
@@ -166,6 +185,7 @@ configure
 /rts/sm/Evac_thr.c
 /rts/sm/Scav_thr.c
 /stage3.package.conf
+/testsuite_summary.txt
 /testlog
 /utils/*/dist*/
 /utils/ext-core/Driver
diff --git a/boot b/boot
old mode 100644 (file)
new mode 100755 (executable)
index e606e2c..86ecbf9 100644 (file)
@@ -1587,12 +1587,24 @@ genCCall target dest_regs args = do
             | otherwise
 #endif
             = concatOL push_codes
+       
+         -- Deallocate parameters after call for ccall;
+         -- but not for stdcall (callee does it)
+         --
+         -- We have to pop any stack padding we added
+         -- on Darwin even if we are doing stdcall, though (#5052)
+       pop_size | cconv /= StdCallConv = tot_arg_size
+                | otherwise
+#if darwin_TARGET_OS
+                 = arg_pad_size
+#else
+                 = 0
+#endif
+       
        call = callinsns `appOL`
                toOL (
-                       -- Deallocate parameters after call for ccall;
-                       -- but not for stdcall (callee does it)
-                  (if cconv == StdCallConv || tot_arg_size==0 then [] else 
-                  [ADD II32 (OpImm (ImmInt tot_arg_size)) (OpReg esp)])
+                  (if pop_size==0 then [] else 
+                  [ADD II32 (OpImm (ImmInt pop_size)) (OpReg esp)])
                   ++
                   [DELTA (delta + tot_arg_size)]
                )
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)