Ticket #1910: ghc-6.9-double2Int.patch

File ghc-6.9-double2Int.patch, 19.5 KB (added by int-e, 6 years ago)

patch adapted for darcs head

Line 
1
2New patches:
3
4[FIX #1910: fix code generated for GDTOI on x86_32
5Bertram Felgenhauer <int-e@gmx.de>**20071124071206] hunk ./compiler/nativeGen/PprMach.hs 1411
6-   = pprG g (hcat [gtab, text "subl $4, %esp ; ",
7-                   gpush src 0, gsemi, text "fistpl 0(%esp) ; popl ",
8-                   pprReg I32 dst])
9+   = pprG g (vcat [
10+         hcat [gtab, text "subl $8, %esp ; fnstcw 4(%esp)"],
11+         hcat [gtab, gpush src 0],
12+         hcat [gtab, text "movzwl 4(%esp), ", reg,
13+                     text " ; orl $0xC00, ", reg],
14+         hcat [gtab, text "movl ", reg, text ", 0(%esp) ; fldcw 0(%esp)"],
15+         hcat [gtab, text "fistpl 0(%esp)"],
16+         hcat [gtab, text "fldcw 4(%esp) ; movl 0(%esp), ", reg],
17+         hcat [gtab, text "addl $8, %esp"]
18+     ])
19+   where
20+     reg = pprReg I32 dst
21
22Context:
23
24[FIX #1910: fix code generated for GDTOI on x86_32
25Bertram Felgenhauer <int-e@gmx.de>*-20071121102627]
26[Document --info in the +RTS -? help
27Ian Lynagh <igloo@earth.li>**20071123204352]
28[MERGED: If we have hscolour then make source code links in teh haddock docs
29Ian Lynagh <igloo@earth.li>**20071123233113
30 Fri Nov 23 13:15:59 PST 2007  Ian Lynagh <igloo@earth.li>
31]
32[Tidy and trim the type environment in mkBootModDetails
33simonpj@microsoft.com**20071123153519
34 
35 Should fix Trac #1833
36 
37 We were failing to trim the type envt in mkBootModDetails, so several
38 functions all called (*), for example, were getting into the interface.
39 Result chaos.  It only actually bites when we do the retyping-loop thing,
40 which is why it's gone so long without a fix.
41 
42 
43]
44[refactor: HscNothing and boot modules do not need desugaring
45Simon Marlow <simonmar@microsoft.com>**20071123135237]
46[Properly ppr InstEqs in wanteds of implication constraints
47Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071122093002]
48[FIX #1910: fix code generated for GDTOI on x86_32
49Bertram Felgenhauer <int-e@gmx.de>**20071121102627]
50[Add built-in Double operations to vectorisation
51Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071122002517]
52[Teach vectorisation about Double
53Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121054932]
54[Vectorise polyexprs with notes
55Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121053102]
56[Make rebindable do-notation behave as advertised
57simonpj@microsoft.com**20071121174914
58 
59 Adopt Trac #1537.  The patch ended up a bit bigger than I expected,
60 so I suggest we do not merge this into the 6.8 branch.  But there
61 is no funadamental reason why not.
62 
63 With this patch, rebindable do-notation really does type as if you
64 had written the original (>>) and (>>=) operations in desguared form.
65 
66 I ended up refactoring some of the (rather complicated) error-context
67 stuff in TcUnify, by pushing an InstOrigin into tcSubExp and its
68 various calls. That means we could get rid of tcFunResTy, and the
69 SubCtxt type.  This should improve error messages slightly
70 in complicated situations, because we have an Origin to hand
71 to instCall (in the (isSigmaTy actual_ty) case of tc_sub1).
72 
73 Thanks to Pepe for the first draft of the patch.
74 
75]
76[Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques
77simonpj@microsoft.com**20071116152446
78 
79 This is intended only for debugging use: it makes it easier to
80 compare two variants without the variations between uniques mattering.
81 
82 (Of course, you can't actually feed the output to the C compiler
83 or assembler and expect anything sensible to happen!)
84 
85]
86[Add -dcore-lint when validating libraries
87simonpj@microsoft.com**20071105164733]
88[Fix Trac #1913: check data const for derived types are in scope
89simonpj@microsoft.com**20071121151428
90 
91 When deriving an instance, the data constructors should all be in scope.
92 This patch checks the condition.
93 
94 
95]
96[Fix Trac #1909: type of map in docs
97simonpj@microsoft.com**20071120160152]
98[Move file locking into the RTS, fixing #629, #1109
99Simon Marlow <simonmar@microsoft.com>**20071120140859
100 File locking (of the Haskell 98 variety) was previously done using a
101 static table with linear search, which had two problems: the array had
102 a fixed size and was sometimes too small (#1109), and performance of
103 lockFile/unlockFile was suboptimal due to the linear search.
104 Also the algorithm failed to count readers as required by Haskell 98
105 (#629).
106 
107 Now it's done using a hash table (provided by the RTS).  Furthermore I
108 avoided the extra fstat() for every open file by passing the dev_t and
109 ino_t into lockFile.  This and the improvements to the locking
110 algorithm result in a healthy 20% or so performance increase for
111 opening/closing files (see openFile008 test).
112]
113[FIX Trac #1825: standalone deriving Typeable
114simonpj@microsoft.com**20071120125732
115 
116 Standalone deriving of typeable now requires you to say
117        instance Typeable1 Maybe
118 which is exactly the shape of instance decl that is generated
119 by a 'deriving( Typeable )' clause on the data type decl.
120 
121 This is a bit horrid, but it's the only consistent way, at least
122 for now.  If you say something else, the error messages are helpful.
123 
124 MERGE to 6.8 branch
125 
126]
127[FIX #1715: egregious bug in ifaceDeclSubBndrs
128simonpj@microsoft.com**20071120111723
129 
130 ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
131 families an IfaceSyn can introduce subordinate binders.  Result:
132 chaos.
133 
134 The fix is easy though.  Merge to 6.8 branch.
135 
136 
137]
138[Always do 'setup makefile' before building each library
139Simon Marlow <simonmar@microsoft.com>**20071120103329
140 This forces preprocessing to happen, which is necessary if any of the
141 .hsc files have been modified.  Without this change, a 'setup
142 makefile' would be required by hand after a .hsc file changed.
143 Fortunately 'setup makefile' isn't much extra work, and I've made it
144 not overwrite GNUmakefile if it hasn't changed, which avoids
145 recalculating the dependencies each time.
146]
147[FIX #1847 (improve :browse! docs, fix unqual)
148claus.reinke@talk21.com**20071108013147
149 
150 - add example to docs, explain how to interpret
151   output of `:browse! Data.Maybe`
152 - print unqualified names according to current
153   context, not the context of the target module
154 
155]
156[Track changes to package ndp
157Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120033716]
158[Temporary hack for passing PArrays from unvectorised to vectorised code
159Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120024545]
160[Bind NDP stuff to [:.:] arrays
161Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119020302]
162[Don't treat enumerations specially during vectorisation for the moment
163Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013729]
164[Fix bugs in vectorisation of case expressions
165Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013714]
166[More built-in NDP combinators
167Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119012205]
168[New vectorisation built-ins
169Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051940]
170[Fix bug in conversion unvect/vect
171Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051926]
172[Extend built-in vectorisation environments
173Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045219]
174[Fix bug in generation of environments for vectorisation
175Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045203]
176[Add builtin var->var mapping to vectorisation
177Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118042605]
178[Extend vectorisation built-in mappings with datacons
179Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118034351]
180[Change representation of parallel arrays of enumerations
181Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118033355]
182[Add vectorisation-related builtin
183Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118031513]
184[Teach vectorisation about Bool
185Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117042714]
186[Incomplete support for boxing during vectorisation
187Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040739]
188[Make sure some TyCons always vectorise to themselves
189Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040537]
190[Simple conversion vectorised -> unvectorised
191Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117023029]
192[Fix bug in case vectorisation
193Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117015014]
194[Vectorisation of algebraic case expressions
195Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116074814]
196[More vectorisation-related built-ins
197Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116061831]
198[Vectorisation utilities
199Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116051037]
200[Add vectorisation built-ins
201Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116050959]
202[Fix vectorisation of binders in case expressions
203Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116021833]
204[Two small typos in the flags summary (merge to 6.8 branch)
205simonpj@microsoft.com**20071119134639]
206[Improve the situation for Trac #959: civilised warning instead of a trace msg
207simonpj@microsoft.com**20071119122938
208 
209 This doesn't fix the root cause of the bug, but it makes the report
210 more civilised, and points to further info.
211 
212]
213[FIX Trac #1806: test for correct arity for datacon in infix pattern patch
214simonpj@microsoft.com**20071119114301
215 
216 Happily the fix is easy; pls merge
217 
218]
219[Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
220Ian Lynagh <igloo@earth.li>**20071117154502
221 Patch from Brian P. O'Hanlon
222]
223[Attempt at fixing #1873, #1360
224Simon Marlow <simonmar@microsoft.com>**20071116152148
225 
226 I think I figured out a reasonable way to manage the GHCi context,
227 comments welcome.
228 
229 Rule 1: external package modules in the context are persistent.  That
230 is, when you say 'import Data.Maybe' it survives over :load, :add,
231 :reload and :cd.
232 
233 Rule 2: :load and :add remove all home-package modules from the
234 context and add the rightmost target, as a *-module if possible.  This
235 is as before, and makes sense for :load because we're starting a new
236 program; the old home-package modules don't make sense any more.  For
237 :add, it usually does what you want, because the new target will
238 become the context.
239 
240 Rule 3: any modules from the context that fail to load during a
241 :reload are remembered, and re-added to the context at the next
242 successful :reload.
243 
244 Claus' suggestion about adding the "remembered" modules to the prompt
245 prefixed with a ! is implemented but commented out.  I couldn't
246 decide whether it was useful or confusing.
247 
248 One difference that people might notice is that after a :reload where
249 there were errors, GHCi would previously dump you in the most recent
250 module that it loaded.  Now it dumps you in whatever subset of the
251 current context still makes sense, and in the common case that will
252 probably be {Prelude}.
253]
254[Wibble to fix Trac #1901 (shorten messsage slightly)
255simonpj@microsoft.com**20071116150341]
256[Improve links from flag reference to the relevant section; and improve doc of RankN flags
257simonpj@microsoft.com**20071116145816]
258[FIX Trac #1901: check no existential context in H98 mode
259simonpj@microsoft.com**20071116145609]
260[Improve documentation of data type declarations (Trac #1901)
261simonpj@microsoft.com**20071116081841]
262[Change the command-line semantics for query commands
263Simon Marlow <simonmar@microsoft.com>**20071116132046
264 
265 From the help text:
266 
267   Commands that query the package database (list, latest, describe,
268   field) operate on the list of databases specified by the flags
269   --user, --global, and --package-conf.  If none of these flags are
270   given, the default is --global --user.
271 
272 This makes it possible to query just a single database (e.g. the
273 global one without the user one), which needed tricks to accomplish
274 before.
275]
276[use "ghc-pkg latest --global" instead of "ghc-pkg list --simple-output"
277Simon Marlow <simonmar@microsoft.com>**20071116122018
278 The former now does the right thing: it uses the global database only,
279 and picks the most recent package with the given name.
280]
281[Disallow installing packages whose names  differ in case only.
282Simon Marlow <simonmar@microsoft.com>**20071116121153
283 --force overrides.  Requested by Duncan Coutts, with a view to
284 treating package names as case-insensitive in the future.
285]
286[FIX BUILD (with GHC 6.2.x): update .hi-boot file
287Simon Marlow <simonmar@microsoft.com>**20071116101227]
288[FIX #1828: installing to a patch with spaces in
289Simon Marlow <simonmar@microsoft.com>**20071115155747
290 We have to pass the path to gcc when calling windres, which itself
291 might have spaces in.  Furthermore, we have to pass the path to gcc's
292 tools to gcc.  This means getting the quoting right, and after much
293 experimentation and reading of the windres sources I found something
294 that works: passing --use-temp-files to windres makes it use its own
295 implementation of quoting instead of popen(), and this does what we
296 want.  Sigh.
297]
298[on Windows, install to a directory with spaces (test for #1828)
299Simon Marlow <simonmar@microsoft.com>**20071115155327]
300[FIX #1679: crash on returning from a foreign call
301Simon Marlow <simonmar@microsoft.com>**20071115131635
302 We forgot to save a pointer to the BCO over the foreign call.  Doing
303 enough allocation and GC during the call could provoke a crash.
304]
305[Avoid the use of unversioned package dependencies
306Simon Marlow <simonmar@microsoft.com>**20071115103249
307 Fortunately "ghc-pkg list $pkg --simple-output" is a good way to add
308 the version number.
309]
310[FIX #1596 (remove deprecated --define-name)
311Simon Marlow <simonmar@microsoft.com>**20071114165323
312 Also remove the old command-line syntax for ghc-pkg, which was not
313 documented.  Do not merge.
314]
315[FIX #1837: remove deprecated support for unversioned dependencies (do not merge)
316Simon Marlow <simonmar@microsoft.com>**20071114161044
317 
318]
319[wibble
320Pepe Iborra <mnislaih@gmail.com>**20071114233356]
321[Make pprNameLoc more robust in absence of loc information
322Pepe Iborra <mnislaih@gmail.com>**20071114233343]
323[Try to manage the size of the text rendered for ':show bindings'
324Pepe Iborra <mnislaih@gmail.com>**20071114231601]
325[Make the Term ppr depth aware
326Pepe Iborra <mnislaih@gmail.com>**20071114183417]
327[Use paragraph fill sep where possible
328Pepe Iborra <mnislaih@gmail.com>**20071114181233]
329[Make SpecConstr work again
330simonpj@microsoft.com**20071115084242
331 
332 In a typo I'd written env instead of env', and as a result RULES are
333 practically guaranteed not to work in a recursive group.  This pretty
334 much kills SpecConstr in its tracks!
335 
336 Well done Kenny Lu for spotting this.  The fix is easy.
337 
338 Merge into 6.8 please.
339 
340 
341 
342]
343[Documentation only - fix typo in flags reference
344Tim Chevalier <chevalier@alum.wellesley.edu>**20071115055748]
345[Avoid making Either String an instance of Monad in the Haddock parser
346David Waern <david.waern@gmail.com>**20071114204050]
347[FIX 1463 (implement 'ghc-pkg find-module')
348claus.reinke@talk21.com**20071109162652
349 
350 - the ticket asks for a module2package lookup in ghc-pkg
351   (this would be useful to have in cabal, as well)
352 
353 - we can now ask which packages expose a module we need,
354   eg, when preparing a cabal file or when getting errors
355   after package reorganisations:
356 
357   $ ./ghc-pkg-inplace find-module Var
358   c:/fptools/ghc/driver/package.conf.inplace:
359       (ghc-6.9.20071106)
360   
361   $ ./ghc-pkg-inplace find-module Data.Sequence
362   c:/fptools/ghc/driver/package.conf.inplace:
363       containers-0.1
364 
365 - implemented as a minor variation on listPackages
366 
367 (as usual, it would be useful if one could combine
368 multiple queries into one)
369 
370]
371[remove --define-name from the --help usage message (#1596)
372Simon Marlow <simonmar@microsoft.com>**20071114153417
373 
374]
375[FIX #1837: emit deprecated message for unversioned dependencies
376Simon Marlow <simonmar@microsoft.com>**20071114153010]
377[Fix #782, #1483, #1649: Unicode GHCi input
378Simon Marlow <simonmar@microsoft.com>**20071114151411
379 GHCi input is now treated universally as UTF-8, except for the Windows
380 console where we do the correct conversion from the current code
381 page (see System.Win32.stringToUnicode).
382 
383 That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
384 accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
385 as the default locale.
386 
387]
388[Fix build
389David Waern <david.waern@gmail.com>**20071114125842
390 I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
391 failed. This fixes that.
392]
393[FIX Trac 1662: actually check for existentials in proc patterns
394simonpj@microsoft.com**20071114112930
395 
396 I'd fixed the bug for code that should be OK, but had forgotten to
397 make the test for code that should be rejected!
398 
399 Test is arrowfail004
400 
401]
402[FIX Trac 1888; duplicate INLINE pragmas
403simonpj@microsoft.com**20071114104701
404 
405 There are actually three things here
406 - INLINE pragmas weren't being pretty-printed properly
407 - They were being classified into too-narrow boxes by eqHsSig
408 - They were being printed in to much detail by hsSigDoc
409 
410 All easy.  Test is rnfail048.
411 
412]
413[Run the -frule-check pass more often (when asked)
414simonpj@microsoft.com**20071114104632]
415[GHCi debugger: added a new flag, -fno-print-binding-contents
416Pepe Iborra <mnislaih@gmail.com>**20071113174539
417 
418 The contents of bindings show at breakpoints and by :show bindings
419 is rendered using the same printer that :print uses.
420 But sometimes the output it gives spans over too many lines and the
421 user may want to be able to disable it.
422]
423[Fix Trac 1865: GHCi debugger crashes with :print
424Pepe Iborra <mnislaih@gmail.com>**20071113170113]
425[Replaced two uses of head b explicit pattern matching
426Pepe Iborra <mnislaih@gmail.com>**20071013113136]
427[Print binding contents in :show bindings
428Pepe Iborra <mnislaih@gmail.com>**20071006123952]
429[ Leftovers from the 1st GHCi debugger prototype
430Pepe Iborra <mnislaih@gmail.com>**20071004204718]
431[Following an indirection doesn't count as a RTTI step
432Pepe Iborra <mnislaih@gmail.com>**20070928091941]
433[FIX #1653 (partially): add -X flags to completion for :set
434Simon Marlow <simonmar@microsoft.com>**20071113153257]
435[Merge from Haddock: Add <<url>> for images
436David Waern <david.waern@gmail.com>**20071112220537
437 A merge of this patch:
438 
439   Mon Aug  7 16:22:14 CEST 2006  Simon Marlow <simonmar@microsoft.com>
440     * Add <<url>> for images
441     Submitted by: Lennart Augustsson
442 
443 Please merge to the 6.8.2 branch.
444]
445[Improve documentation of INLINE, esp its interactions with other transformations
446simonpj@microsoft.com**20071112160240]
447[Comment re Trac #1220
448simonpj@microsoft.com**20071112154109]
449[Merge from Haddock: Modify lexing of /../
450David Waern <david.waern@gmail.com>**20071112023856
451 
452   Tue Aug 28 11:19:54 CEST 2007  Simon Marlow <simonmar@microsoft.com>
453     * Modify lexing of /../
454     This makes /../ more like '..', so that a single / on a line doesn't
455     trigger a parse error.  This should reduce the causes of accidental
456     parse errors in Haddock comments; apparently stray / characters are
457     a common source of failures.
458 
459 Please merge this to the 6.8.2 branch.
460]
461[Merge from Haddock: allow blank lines inside code blocks
462David Waern <david.waern@gmail.com>**20071112013439
463 
464   Tue Jan  9 14:14:34 CET 2007  Simon Marlow <simonmar@microsoft.com>
465     * allow blank lines inside a @...@ code block
466 
467 Please merge this to the 6.8.2 branch
468]
469[Merge of a patch from the old Haddock branch:
470David Waern <david.waern@gmail.com>**20071112013143
471 
472   Fri Jan  5 12:13:41 CET 2007  Simon Marlow <simonmar@microsoft.com>
473     * Fix up a case of extra vertical space after a code block
474 
475 Please merge this to the 6.8.2 branch
476]
477[Remove ex-extralibs from libraries/Makefile
478Ian Lynagh <igloo@earth.li>**20071111213618]
479[Remove the X11 and HGL libraries from extralibs
480Ian Lynagh <igloo@earth.li>**20071111213447
481 Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
482 on Linux (and we don't try to build HGL on Windows).
483]
484[arrows is no longer an extralib
485Ian Lynagh <igloo@earth.li>**20071027123656]
486[Turn -fprint-bind-result off by default
487Ian Lynagh <igloo@earth.li>**20071111001126]
488[TAG 2007-11-11
489Ian Lynagh <igloo@earth.li>**20071111161540]
490Patch bundle hash:
491318ca57df306635b3b633d2b22d9d32afe869924