| 1 | |
|---|
| 2 | New patches: |
|---|
| 3 | |
|---|
| 4 | [Make the matching of the filename ghc.exe case insensitive, fixes bug #2603 |
|---|
| 5 | Neil Mitchell <ndmitchell@gmail.com>**20080916160311] { |
|---|
| 6 | hunk ./compiler/main/SysTools.lhs 846 |
|---|
| 7 | - (d, "ghc.exe") -> |
|---|
| 8 | + (d, ghc_exe) | map toLower ghc_exe == "ghc.exe" -> |
|---|
| 9 | } |
|---|
| 10 | |
|---|
| 11 | Context: |
|---|
| 12 | |
|---|
| 13 | [Stop using mremap() to allocate space for trampolines |
|---|
| 14 | Simon Marlow <marlowsd@gmail.com>**20080915145924 |
|---|
| 15 | |
|---|
| 16 | This was causing problems because sometimes mremap() moved the memory |
|---|
| 17 | we had allocated from the low 2Gb to above the 2Gb boundary, causing |
|---|
| 18 | some linkages to fail. There's no MAP_32BIT flag to mremap(). |
|---|
| 19 | |
|---|
| 20 | So now we just use mmap(MAP_ANON|MAP_32BIT) to allocated space for the |
|---|
| 21 | trampolines. People without MAP_32BIT (eg. *BSD) will still have to |
|---|
| 22 | do something else here, such as allocating memory from a fixed |
|---|
| 23 | address; so I've made it slightly easier for those guys, but there's |
|---|
| 24 | still work to do (#2063). |
|---|
| 25 | |
|---|
| 26 | One solution (that Simon PJ is advocating) is to turn on -fPIC by |
|---|
| 27 | default on x86-64. This is a good solution as it removes the need for |
|---|
| 28 | MAP_32BIT, but doesn't work with -fvia-C, so probably this is for |
|---|
| 29 | later. |
|---|
| 30 | ] |
|---|
| 31 | [add $(GhcStage[123]HcOpts) |
|---|
| 32 | Simon Marlow <marlowsd@gmail.com>**20080912155549] |
|---|
| 33 | [Improve handling of -fdph-* flags |
|---|
| 34 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916034746] |
|---|
| 35 | [Add -fdph-this |
|---|
| 36 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916033710] |
|---|
| 37 | [Remove last traces of package ndp |
|---|
| 38 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916033428] |
|---|
| 39 | [Clean up vectorisation error messages |
|---|
| 40 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916013236] |
|---|
| 41 | [Fix vectoriser bug |
|---|
| 42 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080915042823 |
|---|
| 43 | |
|---|
| 44 | We were using mkWildId in situations where it cause disastrous shadowing |
|---|
| 45 | ] |
|---|
| 46 | [Track changes to dph |
|---|
| 47 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080912114028] |
|---|
| 48 | [Change desugaring of PArr literals |
|---|
| 49 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080912015609] |
|---|
| 50 | [Expose the dph packages automatically if -dph-* is set |
|---|
| 51 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080912004403] |
|---|
| 52 | [Don't panic on non-vectorisable expressions |
|---|
| 53 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080911054333] |
|---|
| 54 | [-Odph implies -fno-spec-constr-count |
|---|
| 55 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080910045339] |
|---|
| 56 | [Improve warning for SpecConstr |
|---|
| 57 | simonpj@microsoft.com**20080915154908] |
|---|
| 58 | [White space only |
|---|
| 59 | simonpj@microsoft.com**20080915154841] |
|---|
| 60 | [Minor refactoring to get rid of Type.splitNewTyConApp |
|---|
| 61 | simonpj@microsoft.com**20080915072946] |
|---|
| 62 | [Refactor the desugaring of RULE lhss a bit |
|---|
| 63 | simonpj@microsoft.com**20080915150601 |
|---|
| 64 | |
|---|
| 65 | This is just a tidy-up. Previously we were calling occurAnalyse |
|---|
| 66 | twice on each LHS which was silly and a bit unclean too. |
|---|
| 67 | |
|---|
| 68 | This patch should have no overall effect, though. |
|---|
| 69 | |
|---|
| 70 | ] |
|---|
| 71 | [Do not use the Static Arg Transformation by default with -O2 |
|---|
| 72 | simonpj@microsoft.com**20080915150433 |
|---|
| 73 | |
|---|
| 74 | Max has some more heuristics to add, and is meanwhile worried |
|---|
| 75 | that having SAT on by default will make some highly-tuned array |
|---|
| 76 | programs worse. So it's off by default. |
|---|
| 77 | |
|---|
| 78 | Use -fstatic-argument-transformation to switch it on. |
|---|
| 79 | |
|---|
| 80 | ] |
|---|
| 81 | [Comments, and a couple of asserts, only |
|---|
| 82 | simonpj@microsoft.com**20080914114641] |
|---|
| 83 | [Fix Trac #2587: take account of type lets |
|---|
| 84 | simonpj@microsoft.com**20080914113434 |
|---|
| 85 | |
|---|
| 86 | GHC allows a non-recursive let for type varaibles |
|---|
| 87 | let a = TYPE ty in ... |
|---|
| 88 | But the free-variable finder had not caught up with this |
|---|
| 89 | fact. This patch catches up. |
|---|
| 90 | |
|---|
| 91 | ] |
|---|
| 92 | [Don't try to float type-lets |
|---|
| 93 | simonpj@microsoft.com**20080914113324 |
|---|
| 94 | |
|---|
| 95 | A type let shouldn't really occur in SetLevels, but if it does, |
|---|
| 96 | this patch makes sure it is left alone. |
|---|
| 97 | |
|---|
| 98 | ] |
|---|
| 99 | [add refs and fix a bug (noted by Peter Gammie) in docs of arrow notation |
|---|
| 100 | Ross Paterson <ross@soi.city.ac.uk>**20080915104757] |
|---|
| 101 | [Generalise type of 'withExtendedLinkEnv'. |
|---|
| 102 | Thomas Schilling <nominolo@googlemail.com>**20080915085738] |
|---|
| 103 | [Use 'GhcMonad' in ghci/InteractiveUI. |
|---|
| 104 | Thomas Schilling <nominolo@googlemail.com>**20080915085633] |
|---|
| 105 | [Use 'GhcMonad' in ghci/GhciTags. |
|---|
| 106 | Thomas Schilling <nominolo@googlemail.com>**20080915084922] |
|---|
| 107 | [Use 'GhcMonad' in ghci/Debugger. |
|---|
| 108 | Thomas Schilling <nominolo@googlemail.com>**20080915084738] |
|---|
| 109 | [Use 'GhcMonad' in ghci/GhciMonad. |
|---|
| 110 | Thomas Schilling <nominolo@googlemail.com>**20080915084646] |
|---|
| 111 | [Use 'GhcMonad' in ghc/Main. |
|---|
| 112 | Thomas Schilling <nominolo@googlemail.com>**20080914232957] |
|---|
| 113 | [Require PatternSignatures for bootstrapping compiler. |
|---|
| 114 | Thomas Schilling <nominolo@googlemail.com>**20080914232642] |
|---|
| 115 | [Use 'GhcMonad' in InteractiveEval. |
|---|
| 116 | Thomas Schilling <nominolo@googlemail.com>**20080914232454] |
|---|
| 117 | [Use 'GhcMonad' in GHC and split up checkModule into phases. |
|---|
| 118 | Thomas Schilling <nominolo@googlemail.com>**20080914232044 |
|---|
| 119 | |
|---|
| 120 | I'm not sure I covered all the ways of throwing errors in the code. |
|---|
| 121 | Some functions throw ProgramErrors, some error messages. It's still |
|---|
| 122 | quite a mess, but we're getting closer. The missing cases are mostly |
|---|
| 123 | errors that cannot be fixed by the API client either or are a result |
|---|
| 124 | of wrong usage, so are in any case fatal. |
|---|
| 125 | |
|---|
| 126 | One function, 'getModuleInfo', still returns a 'Maybe', but the |
|---|
| 127 | documentation suggests it should always succeed. So I may change that |
|---|
| 128 | soon. |
|---|
| 129 | |
|---|
| 130 | The spit-up of of 'checkModule' has pros and cons. The various forms |
|---|
| 131 | of 'checkModule*' now become: |
|---|
| 132 | |
|---|
| 133 | checkAndLoadModule ms False ~~> |
|---|
| 134 | loadModule =<< typecheckModule =<< parseModule (ms_mod_name ms) |
|---|
| 135 | |
|---|
| 136 | checkAndLoadModule ms True ~~> |
|---|
| 137 | loadModule =<< desugarModule =<< typecheckModule =<< parseModule (ms_mod_name ms) |
|---|
| 138 | |
|---|
| 139 | checkModule mn False ~~> |
|---|
| 140 | typecheckModule =<< parseModule mn |
|---|
| 141 | |
|---|
| 142 | checkModule mn True ~~> |
|---|
| 143 | desugarModule =<< typecheckModule =<< parseModule mn |
|---|
| 144 | |
|---|
| 145 | The old APIs cannot easily be provided, since the result type would be |
|---|
| 146 | different depending on the second argument. However, a more |
|---|
| 147 | convenient API can be modelled on top of these four functions |
|---|
| 148 | ({parse,typecheck,desugar,load}Module). |
|---|
| 149 | ] |
|---|
| 150 | [Use 'GhcMonad' in DriverPipeline. Also haddockify a bit while we're at it. |
|---|
| 151 | Thomas Schilling <nominolo@googlemail.com>**20080914220628] |
|---|
| 152 | [Use 'GhcMonad' in HscMain. |
|---|
| 153 | Thomas Schilling <nominolo@googlemail.com>**20080914213655] |
|---|
| 154 | [Use 'GhcMonad' in DriverMkDepend. |
|---|
| 155 | Thomas Schilling <nominolo@googlemail.com>**20080914212113] |
|---|
| 156 | [Haddockify DynFlags (partial). |
|---|
| 157 | Thomas Schilling <nominolo@googlemail.com>**20080914211718] |
|---|
| 158 | [Haddockify 'IE'. |
|---|
| 159 | Thomas Schilling <nominolo@googlemail.com>**20080914210016] |
|---|
| 160 | [Provide accessors for 'ImportDecl'. |
|---|
| 161 | Thomas Schilling <nominolo@googlemail.com>**20080914205811] |
|---|
| 162 | [Start haddockifying 'HsBindLR'. |
|---|
| 163 | Thomas Schilling <nominolo@googlemail.com>**20080914205629] |
|---|
| 164 | [Document 'parseStaticFlags'. |
|---|
| 165 | Thomas Schilling <nominolo@googlemail.com>**20080914205316] |
|---|
| 166 | [Introduce 'GhcMonad' class and two default implementations 'Ghc' and 'GhcT'. |
|---|
| 167 | Thomas Schilling <nominolo@googlemail.com>**20080914204930 |
|---|
| 168 | |
|---|
| 169 | This monad will be required by most public API calls. |
|---|
| 170 | ] |
|---|
| 171 | [Give the "Failing due to -Werror" message a name. |
|---|
| 172 | Thomas Schilling <nominolo@googlemail.com>**20080914173904] |
|---|
| 173 | [Make typechecker top-level functions also return messages instead of |
|---|
| 174 | Thomas Schilling <nominolo@googlemail.com>**20080914173228 |
|---|
| 175 | printing them. |
|---|
| 176 | ] |
|---|
| 177 | [Reflect changes of desugarer error reporting in VectMonad. |
|---|
| 178 | Thomas Schilling <nominolo@googlemail.com>**20080914172711] |
|---|
| 179 | [Generalise 'handleGhcException' to work with any 'ExceptionMonad'. |
|---|
| 180 | Thomas Schilling <nominolo@googlemail.com>**20080914172404] |
|---|
| 181 | [Introduce an 'ExceptionMonad' class. |
|---|
| 182 | Thomas Schilling <nominolo@googlemail.com>**20080914172154 |
|---|
| 183 | |
|---|
| 184 | This monad provides variants of 'catch', 'bracket', and 'finally', so |
|---|
| 185 | exceptions can be handled in monads that wrap IO. The latter two |
|---|
| 186 | methods need to be part of the class definition, because GHC uses |
|---|
| 187 | 'block' and 'unblock' which are used in the definition of those two |
|---|
| 188 | methods for the IO monad. A perhaps better class interface would |
|---|
| 189 | consist of 'gcatch', 'gblock', and 'gunblock' and let the latter two |
|---|
| 190 | default to 'id' like is done for non-GHC implementations of 'bracket' |
|---|
| 191 | and 'finally'. |
|---|
| 192 | ] |
|---|
| 193 | [Provide default MonadIO instance for IO. |
|---|
| 194 | Thomas Schilling <nominolo@googlemail.com>**20080914164245] |
|---|
| 195 | [Return instead of print warnings and errors in desugarer. |
|---|
| 196 | Thomas Schilling <nominolo@googlemail.com>**20080914163641] |
|---|
| 197 | [Return parser errors and warnings instead of dying. |
|---|
| 198 | Thomas Schilling <nominolo@googlemail.com>**20080914162644] |
|---|
| 199 | [Add aliases for bags of warnings and errors. |
|---|
| 200 | Thomas Schilling <nominolo@googlemail.com>**20080914160337] |
|---|
| 201 | [Slightly more helpful panic message in DynFlags |
|---|
| 202 | Tim Chevalier <chevalier@alum.wellesley.edu>**20080915080650] |
|---|
| 203 | [Comments only: ".core" => ".hcr" |
|---|
| 204 | Tim Chevalier <chevalier@alum.wellesley.edu>**20080914203645] |
|---|
| 205 | [We need to tell ghc-pkg to --force if we've only built a profiling library |
|---|
| 206 | Ian Lynagh <igloo@earth.li>**20080913153142] |
|---|
| 207 | [If we're profiling GHC, don't bother building the GHC package the vanilla way |
|---|
| 208 | Ian Lynagh <igloo@earth.li>**20080913144820] |
|---|
| 209 | [Remove the duplicate show rule in libraries/Makefile |
|---|
| 210 | Ian Lynagh <igloo@earth.li>**20080913144413] |
|---|
| 211 | [Move the "show" target from target.mk to boilerplate.mk |
|---|
| 212 | Ian Lynagh <igloo@earth.li>**20080913141312 |
|---|
| 213 | target.mk isn't included everywhere, but show is always handy |
|---|
| 214 | ] |
|---|
| 215 | [Change how we detect if we are using the bootstrapping compiler or not |
|---|
| 216 | Ian Lynagh <igloo@earth.li>**20080913104658 |
|---|
| 217 | I think looking for $(GHC_COMPILER_DIR_ABS) was failing on the Windows |
|---|
| 218 | buildbot due to different path separators. Now we just look for |
|---|
| 219 | "inplace". |
|---|
| 220 | ] |
|---|
| 221 | [wibble the distrib Makefile |
|---|
| 222 | Ian Lynagh <igloo@earth.li>**20080912135932 |
|---|
| 223 | We now need to install driver after ghc |
|---|
| 224 | ] |
|---|
| 225 | [Reinstate the driver/ghc directory, to create a versioned GHC program |
|---|
| 226 | Ian Lynagh <igloo@earth.li>**20080912113619 |
|---|
| 227 | e.g. $(bindir)/ghc-6.9.20080911 |
|---|
| 228 | ] |
|---|
| 229 | [If USE_NEW_MKDEPEND_FLAGS is YES then don't use the deprecated -optdep flags |
|---|
| 230 | Ian Lynagh <igloo@earth.li>**20080912110316] |
|---|
| 231 | [Use --force-local when calling tar in bindisttest/ |
|---|
| 232 | Ian Lynagh <igloo@earth.li>**20080912012855 |
|---|
| 233 | Otherwise it thinks that c:/foo is a remote file |
|---|
| 234 | ] |
|---|
| 235 | [Fix #2586, bug in THUNK_SELECTORs (again) |
|---|
| 236 | Simon Marlow <marlowsd@gmail.com>**20080912130404 |
|---|
| 237 | This time, we had forgetten the write barrier in one place. |
|---|
| 238 | ] |
|---|
| 239 | [TAG 2008-09-12 2 |
|---|
| 240 | Ian Lynagh <igloo@earth.li>**20080912132848] |
|---|
| 241 | Patch bundle hash: |
|---|
| 242 | 1ae5806855a27969217c7431a7a3a8722e699fff |
|---|