| 1 | |
|---|
| 2 | Hello, |
|---|
| 3 | |
|---|
| 4 | following three patches add support for shared libs on i386/solaris2 |
|---|
| 5 | platform. One patch fixes CPP misdetection of Solaris in NCG. I've |
|---|
| 6 | used this oportunity to rename OSSolaris to OSSolaris2 to be |
|---|
| 7 | consistent with other OSes there. Feel free to stay with OSSolaris if |
|---|
| 8 | you prefer, but then the patch will require small |
|---|
| 9 | modification. Another provides shared libs support which was really |
|---|
| 10 | easy to do thanks to Solaris being ELF system and thanks to GHC ELF |
|---|
| 11 | support in place. The last fixes linker errors which we get when we |
|---|
| 12 | try to link code compiled with -fno-PIC into shared object on |
|---|
| 13 | Solaris. i.e. we cannot use this RTS speed hack on Solaris. |
|---|
| 14 | |
|---|
| 15 | Any chance those patches will be reviewed/incorporated? |
|---|
| 16 | |
|---|
| 17 | Thanks, |
|---|
| 18 | Karel |
|---|
| 19 | |
|---|
| 20 | 3 patches for repository http://darcs.haskell.org/ghc: |
|---|
| 21 | |
|---|
| 22 | Fri Dec 17 09:45:10 CET 2010 Karel Gardas <karel.gardas@centrum.cz> |
|---|
| 23 | * fix CPP detection of Solaris in NCG |
|---|
| 24 | |
|---|
| 25 | Fri Dec 17 09:46:17 CET 2010 Karel Gardas <karel.gardas@centrum.cz> |
|---|
| 26 | * provide shared libraries support on i386-unknown-solaris2 platform |
|---|
| 27 | |
|---|
| 28 | Fri Dec 17 09:51:33 CET 2010 Karel Gardas <karel.gardas@centrum.cz> |
|---|
| 29 | * do not compile part of shared lib RTS with -fno-PIC on Solaris |
|---|
| 30 | |
|---|
| 31 | New patches: |
|---|
| 32 | |
|---|
| 33 | [fix CPP detection of Solaris in NCG |
|---|
| 34 | Karel Gardas <karel.gardas@centrum.cz>**20101217084510 |
|---|
| 35 | Ignore-this: 9d1ce59d469294eab1f0cbc697e48d69 |
|---|
| 36 | ] { |
|---|
| 37 | hunk ./compiler/nativeGen/Platform.hs 49 |
|---|
| 38 | = OSUnknown |
|---|
| 39 | | OSLinux |
|---|
| 40 | | OSDarwin |
|---|
| 41 | - | OSSolaris |
|---|
| 42 | + | OSSolaris2 |
|---|
| 43 | | OSMinGW32 |
|---|
| 44 | | OSFreeBSD |
|---|
| 45 | | OSOpenBSD |
|---|
| 46 | hunk ./compiler/nativeGen/Platform.hs 95 |
|---|
| 47 | defaultTargetOS = OSLinux |
|---|
| 48 | #elif darwin_TARGET_OS |
|---|
| 49 | defaultTargetOS = OSDarwin |
|---|
| 50 | -#elif solaris_TARGET_OS |
|---|
| 51 | -defaultTargetOS = OSSolaris |
|---|
| 52 | +#elif solaris2_TARGET_OS |
|---|
| 53 | +defaultTargetOS = OSSolaris2 |
|---|
| 54 | #elif mingw32_TARGET_OS |
|---|
| 55 | defaultTargetOS = OSMinGW32 |
|---|
| 56 | #elif freebsd_TARGET_OS |
|---|
| 57 | } |
|---|
| 58 | [provide shared libraries support on i386-unknown-solaris2 platform |
|---|
| 59 | Karel Gardas <karel.gardas@centrum.cz>**20101217084617 |
|---|
| 60 | Ignore-this: b6079c6a39a71200a1ee863573e40828 |
|---|
| 61 | ] { |
|---|
| 62 | hunk ./compiler/HsVersions.h 20 |
|---|
| 63 | #include "ghc_boot_platform.h" |
|---|
| 64 | |
|---|
| 65 | /* This macro indicates that the target OS supports ELF-like shared libraries */ |
|---|
| 66 | -#if linux_TARGET_OS || freebsd_TARGET_OS || openbsd_TARGET_OS |
|---|
| 67 | +#if linux_TARGET_OS || freebsd_TARGET_OS || openbsd_TARGET_OS || solaris2_TARGET_OS |
|---|
| 68 | #define elf_OBJ_FORMAT 1 |
|---|
| 69 | #endif |
|---|
| 70 | |
|---|
| 71 | hunk ./compiler/nativeGen/Platform.hs 61 |
|---|
| 72 | osElfTarget OSLinux = True |
|---|
| 73 | osElfTarget OSFreeBSD = True |
|---|
| 74 | osElfTarget OSOpenBSD = True |
|---|
| 75 | +osElfTarget OSSolaris2 = True |
|---|
| 76 | osElfTarget _ = False |
|---|
| 77 | |
|---|
| 78 | -- | This is the target platform as far as the #ifdefs are concerned. |
|---|
| 79 | hunk ./mk/config.mk.in 112 |
|---|
| 80 | i386-unknown-freebsd x86_64-unknown-freebsd \ |
|---|
| 81 | i386-unknown-openbsd x86_64-unknown-openbsd \ |
|---|
| 82 | i386-unknown-mingw32 \ |
|---|
| 83 | + i386-unknown-solaris2 \ |
|---|
| 84 | i386-apple-darwin powerpc-apple-darwin),YES,NO) |
|---|
| 85 | |
|---|
| 86 | # Build a compiler that will build *unregisterised* libraries and |
|---|
| 87 | } |
|---|
| 88 | [do not compile part of shared lib RTS with -fno-PIC on Solaris |
|---|
| 89 | Karel Gardas <karel.gardas@centrum.cz>**20101217085133 |
|---|
| 90 | Ignore-this: 8c8dbb45cac0578a58a3557f1e03c66 |
|---|
| 91 | ] { |
|---|
| 92 | hunk ./rts/ghc.mk 312 |
|---|
| 93 | # by the default small memory can't be resolved at runtime). So we |
|---|
| 94 | # only do this on i386. |
|---|
| 95 | # |
|---|
| 96 | -# This apparently doesn't work on OS X (Darwin) where we get errors of |
|---|
| 97 | -# the form |
|---|
| 98 | +# This apparently doesn't work on OS X (Darwin) nor on Solaris. |
|---|
| 99 | +# On Darwin we get errors of the form |
|---|
| 100 | # |
|---|
| 101 | # ld: absolute addressing (perhaps -mdynamic-no-pic) used in _stg_ap_0_fast from rts/dist/build/Apply.dyn_o not allowed in slidable image |
|---|
| 102 | # |
|---|
| 103 | hunk ./rts/ghc.mk 321 |
|---|
| 104 | # |
|---|
| 105 | # ld: warning codegen in _stg_ap_pppv_fast (offset 0x0000005E) prevents image from loading in dyld shared cache |
|---|
| 106 | # |
|---|
| 107 | +# On Solaris we get errors like: |
|---|
| 108 | +# |
|---|
| 109 | +# Text relocation remains referenced |
|---|
| 110 | +# against symbol offset in file |
|---|
| 111 | +# .rodata (section) 0x11 rts/dist/build/Apply.dyn_o |
|---|
| 112 | +# ... |
|---|
| 113 | +# ld: fatal: relocations remain against allocatable but non-writable sections |
|---|
| 114 | +# collect2: ld returned 1 exit status |
|---|
| 115 | + |
|---|
| 116 | +ifeq "$(TargetArch_CPP)" "i386" |
|---|
| 117 | +i386_SPEED_HACK := "YES" |
|---|
| 118 | +ifeq "$(TargetOS_CPP)" "darwin" |
|---|
| 119 | +i386_SPEED_HACK := "NO" |
|---|
| 120 | +endif |
|---|
| 121 | +ifeq "$(TargetOS_CPP)" "solaris2" |
|---|
| 122 | +i386_SPEED_HACK := "NO" |
|---|
| 123 | +endif |
|---|
| 124 | +endif |
|---|
| 125 | + |
|---|
| 126 | ifeq "$(TargetArch_CPP)" "i386" |
|---|
| 127 | hunk ./rts/ghc.mk 341 |
|---|
| 128 | -ifneq "$(TargetOS_CPP)" "darwin" |
|---|
| 129 | +ifeq "$(i386_SPEED_HACK)" "YES" |
|---|
| 130 | rts/sm/Evac_HC_OPTS += -fno-PIC |
|---|
| 131 | rts/sm/Evac_thr_HC_OPTS += -fno-PIC |
|---|
| 132 | rts/sm/Scav_HC_OPTS += -fno-PIC |
|---|
| 133 | } |
|---|
| 134 | |
|---|
| 135 | Context: |
|---|
| 136 | |
|---|
| 137 | [refactor and tidy up the section on RTS options |
|---|
| 138 | Simon Marlow <marlowsd@gmail.com>**20101216123151 |
|---|
| 139 | Ignore-this: 9cdafd687351d8a3ff879b64347f85d3 |
|---|
| 140 | ] |
|---|
| 141 | [Related to #4826: Some minor tweaks to the wording of the User Guide, section 4.16 |
|---|
| 142 | Orphi <MathematicalOrchid@hotmail.com>**20101209170440 |
|---|
| 143 | Ignore-this: c3d942d58594be7d4c2eb4dc3a22f19 |
|---|
| 144 | ] |
|---|
| 145 | [FIX #4826 partial: Add -rtsopts and -with-rtsopts to User Guide section 4.11.6 |
|---|
| 146 | Orphi <MathematicalOrchid@hotmail.com>**20101209165152 |
|---|
| 147 | Ignore-this: 2fc1c0abbb783695773ab0f9c013bbaa |
|---|
| 148 | ] |
|---|
| 149 | [FIX #4826 partially: Change -f to -? in User Guide section F4.16 |
|---|
| 150 | Orphi <MathematicalOrchid@hotmail.com>**20101209144148 |
|---|
| 151 | Ignore-this: 73410b350e80c8943ae722dec8dea44b |
|---|
| 152 | ] |
|---|
| 153 | [fix #3910 |
|---|
| 154 | Simon Marlow <marlowsd@gmail.com>**20101216114452 |
|---|
| 155 | Ignore-this: 410e95e188344a523520e192a3fb58ea |
|---|
| 156 | ] |
|---|
| 157 | [remove an optimisation that wasn't |
|---|
| 158 | Simon Marlow <marlowsd@gmail.com>**20101215152656 |
|---|
| 159 | Ignore-this: e8413f58e8292c6e7463087d885b3a7d |
|---|
| 160 | ] |
|---|
| 161 | [fix a warning |
|---|
| 162 | Simon Marlow <marlowsd@gmail.com>**20101216105723 |
|---|
| 163 | Ignore-this: ed6024378021a698ce638267ed3e21ab |
|---|
| 164 | ] |
|---|
| 165 | [use EXTERN_INLINE instead of STATIC_INLINE to avoid some gcc warnings |
|---|
| 166 | Simon Marlow <marlowsd@gmail.com>**20101216105709 |
|---|
| 167 | Ignore-this: d4e1586cf318883a8e611b55df7fbf10 |
|---|
| 168 | ] |
|---|
| 169 | [remove dead code |
|---|
| 170 | Simon Marlow <marlowsd@gmail.com>**20101216104944 |
|---|
| 171 | Ignore-this: 97a04a3e37c1b28abc222a28bab3d17d |
|---|
| 172 | ] |
|---|
| 173 | [fix retainer profiling: add missing case for TSO |
|---|
| 174 | Simon Marlow <marlowsd@gmail.com>**20101216103900 |
|---|
| 175 | Ignore-this: 11bda81ac159f638d719c1f6177702fb |
|---|
| 176 | ] |
|---|
| 177 | [add a missing STACK case |
|---|
| 178 | Simon Marlow <marlowsd@gmail.com>**20101216102100 |
|---|
| 179 | Ignore-this: ac1c036b5cbf4209b1d10b6ab1c83f27 |
|---|
| 180 | ] |
|---|
| 181 | [Remove code that is dead now that we need >= 6.12 to build |
|---|
| 182 | Ian Lynagh <igloo@earth.li>**20101215201006] |
|---|
| 183 | [fix for large stack allocations |
|---|
| 184 | Simon Marlow <marlowsd@gmail.com>**20101215152419 |
|---|
| 185 | Ignore-this: d9aca17d68bd99214c126989a2318e79 |
|---|
| 186 | ] |
|---|
| 187 | [Implement stack chunks and separate TSO/STACK objects |
|---|
| 188 | Simon Marlow <marlowsd@gmail.com>**20101215120843 |
|---|
| 189 | Ignore-this: 73fa9460314d4a4e54456af12bef7960 |
|---|
| 190 | |
|---|
| 191 | This patch makes two changes to the way stacks are managed: |
|---|
| 192 | |
|---|
| 193 | 1. The stack is now stored in a separate object from the TSO. |
|---|
| 194 | |
|---|
| 195 | This means that it is easier to replace the stack object for a thread |
|---|
| 196 | when the stack overflows or underflows; we don't have to leave behind |
|---|
| 197 | the old TSO as an indirection any more. Consequently, we can remove |
|---|
| 198 | ThreadRelocated and deRefTSO(), which were a pain. |
|---|
| 199 | |
|---|
| 200 | This is obviously the right thing, but the last time I tried to do it |
|---|
| 201 | it made performance worse. This time I seem to have cracked it. |
|---|
| 202 | |
|---|
| 203 | 2. Stacks are now represented as a chain of chunks, rather than |
|---|
| 204 | a single monolithic object. |
|---|
| 205 | |
|---|
| 206 | The big advantage here is that individual chunks are marked clean or |
|---|
| 207 | dirty according to whether they contain pointers to the young |
|---|
| 208 | generation, and the GC can avoid traversing clean stack chunks during |
|---|
| 209 | a young-generation collection. This means that programs with deep |
|---|
| 210 | stacks will see a big saving in GC overhead when using the default GC |
|---|
| 211 | settings. |
|---|
| 212 | |
|---|
| 213 | A secondary advantage is that there is much less copying involved as |
|---|
| 214 | the stack grows. Programs that quickly grow a deep stack will see big |
|---|
| 215 | improvements. |
|---|
| 216 | |
|---|
| 217 | In some ways the implementation is simpler, as nothing special needs |
|---|
| 218 | to be done to reclaim stack as the stack shrinks (the GC just recovers |
|---|
| 219 | the dead stack chunks). On the other hand, we have to manage stack |
|---|
| 220 | underflow between chunks, so there's a new stack frame |
|---|
| 221 | (UNDERFLOW_FRAME), and we now have separate TSO and STACK objects. |
|---|
| 222 | The total amount of code is probably about the same as before. |
|---|
| 223 | |
|---|
| 224 | There are new RTS flags: |
|---|
| 225 | |
|---|
| 226 | -ki<size> Sets the initial thread stack size (default 1k) Egs: -ki4k -ki2m |
|---|
| 227 | -kc<size> Sets the stack chunk size (default 32k) |
|---|
| 228 | -kb<size> Sets the stack chunk buffer size (default 1k) |
|---|
| 229 | |
|---|
| 230 | -ki was previously called just -k, and the old name is still accepted |
|---|
| 231 | for backwards compatibility. These new options are documented. |
|---|
| 232 | ] |
|---|
| 233 | [comments on SRC_HC_OPTS (#4829) |
|---|
| 234 | Simon Marlow <marlowsd@gmail.com>**20101214101340 |
|---|
| 235 | Ignore-this: e2bdec00f07b68e82837e77a4faf6514 |
|---|
| 236 | ] |
|---|
| 237 | [fix another sanity error, and refactor/tidy up |
|---|
| 238 | Simon Marlow <marlowsd@gmail.com>**20101209163919 |
|---|
| 239 | Ignore-this: d5ce953ac78e90fc0e22cd9848d26e2e |
|---|
| 240 | ] |
|---|
| 241 | [Fix a bug in functorLikeTraverse, which was giving wrong answer for tuples |
|---|
| 242 | simonpj@microsoft.com**20101215123725 |
|---|
| 243 | Ignore-this: 560220e92429b5b1a6197a62f94a4ff2 |
|---|
| 244 | |
|---|
| 245 | This bug led to Trac #4816, which is hereby fixed |
|---|
| 246 | ] |
|---|
| 247 | [Improve printing for -ddump-deriv |
|---|
| 248 | simonpj@microsoft.com**20101215121955 |
|---|
| 249 | Ignore-this: 3181c948c4c2471bd99b32c5ee487a1e |
|---|
| 250 | ] |
|---|
| 251 | [Tighten up what it means to be an "enumeration data constructor" |
|---|
| 252 | simonpj@microsoft.com**20101215121927 |
|---|
| 253 | Ignore-this: 459b3f9f7994a13094ed87b0768b33a8 |
|---|
| 254 | |
|---|
| 255 | See Note [Enumeration types] in TyCon, and comments in Trac #4528 |
|---|
| 256 | ] |
|---|
| 257 | [Allow enumerations to have phantom arguments. |
|---|
| 258 | simonpj@microsoft.com**20101215121817 |
|---|
| 259 | Ignore-this: 32ef8cb869e6e38c2e43b3ae87b1b9a8 |
|---|
| 260 | |
|---|
| 261 | The bytecode generator was being too eager. |
|---|
| 262 | Fixes Trac #4528, or rather, a near variant. |
|---|
| 263 | ] |
|---|
| 264 | [Instance declaration overlap allowed if *either* has -XOverlappingInstances |
|---|
| 265 | simonpj@microsoft.com**20101214180500 |
|---|
| 266 | Ignore-this: f1b1492541a7e0464ebc6adb45510a2e |
|---|
| 267 | |
|---|
| 268 | This satisfies Trac #3877. Documentation is changed too. |
|---|
| 269 | I'm not sure if this should go in 7.0.2. |
|---|
| 270 | ] |
|---|
| 271 | [Fix Trac #4841: behave right with TypeSynonymInstances and NoFlexibleInstances |
|---|
| 272 | simonpj@microsoft.com**20101214174755 |
|---|
| 273 | Ignore-this: dccd707fdca84904b7885170a296ecb6 |
|---|
| 274 | |
|---|
| 275 | When we have TypeSynonymInstances without FlexibleInstances we should still |
|---|
| 276 | insist on a H98-style instance head, after looking through the synonym. |
|---|
| 277 | |
|---|
| 278 | This patch also make FlexibleInstances imply TypeSynonymInstances. Anything |
|---|
| 279 | else is a bit awkward, and not very useful. |
|---|
| 280 | |
|---|
| 281 | ] |
|---|
| 282 | [Fix Trac #3731: more superclass subtlety (sigh) |
|---|
| 283 | simonpj@microsoft.com**20101214180344 |
|---|
| 284 | Ignore-this: f4168e59f3164303ba7be022ba19c37b |
|---|
| 285 | |
|---|
| 286 | I will add more comments, but I want to commit this tonight, |
|---|
| 287 | so the overnight builds get it. |
|---|
| 288 | ] |
|---|
| 289 | [Less verbose debug print |
|---|
| 290 | simonpj@microsoft.com**20101214180248 |
|---|
| 291 | Ignore-this: e405e8545763e913155abe43daf7e36c |
|---|
| 292 | ] |
|---|
| 293 | [Wibble to InstEnv.instanceHead |
|---|
| 294 | simonpj@microsoft.com**20101214082939 |
|---|
| 295 | Ignore-this: 851db517f8638a0aeb7ad461298f7e9f |
|---|
| 296 | |
|---|
| 297 | Fixes an accidental glitch in T1835 |
|---|
| 298 | ] |
|---|
| 299 | [Remove dead code now that we require the bootstrapping compiler be >= 6.12 |
|---|
| 300 | Ian Lynagh <igloo@earth.li>**20101214011011] |
|---|
| 301 | [GHC 6.12 is now needed to build the HEAD |
|---|
| 302 | Ian Lynagh <igloo@earth.li>**20101214010923] |
|---|
| 303 | [Add libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma to mingw tarballs |
|---|
| 304 | Ian Lynagh <igloo@earth.li>**20101213223153] |
|---|
| 305 | [Fix recursive superclasses (again). Fixes Trac #4809. |
|---|
| 306 | simonpj@microsoft.com**20101213171511 |
|---|
| 307 | Ignore-this: b91651397918fd8f0183812f9a070073 |
|---|
| 308 | |
|---|
| 309 | This patch finally deals with the super-delicate question of |
|---|
| 310 | superclases in possibly-recursive dictionaries. The key idea |
|---|
| 311 | is the DFun Superclass Invariant (see TcInstDcls): |
|---|
| 312 | |
|---|
| 313 | In the body of a DFun, every superclass argument to the |
|---|
| 314 | returned dictionary is |
|---|
| 315 | either * one of the arguments of the DFun, |
|---|
| 316 | or * constant, bound at top level |
|---|
| 317 | |
|---|
| 318 | To establish the invariant, we add new "silent" superclass |
|---|
| 319 | argument(s) to each dfun, so that the dfun does not do superclass |
|---|
| 320 | selection internally. There's a bit of hoo-ha to make sure that |
|---|
| 321 | we don't print those silent arguments in error messages; a knock |
|---|
| 322 | on effect was a change in interface-file format. |
|---|
| 323 | |
|---|
| 324 | A second change is that instead of the complex and fragile |
|---|
| 325 | "self dictionary binding" in TcInstDcls and TcClassDcl, |
|---|
| 326 | using the same mechanism for existential pattern bindings. |
|---|
| 327 | See Note [Subtle interaction of recursion and overlap] in TcInstDcls |
|---|
| 328 | and Note [Binding when looking up instances] in InstEnv. |
|---|
| 329 | |
|---|
| 330 | Main notes are here: |
|---|
| 331 | |
|---|
| 332 | * Note [Silent Superclass Arguments] in TcInstDcls, |
|---|
| 333 | including the DFun Superclass Invariant |
|---|
| 334 | |
|---|
| 335 | Main code changes are: |
|---|
| 336 | |
|---|
| 337 | * The code for MkId.mkDictFunId and mkDictFunTy |
|---|
| 338 | |
|---|
| 339 | * DFunUnfoldings get a little more complicated; |
|---|
| 340 | their arguments are a new type DFunArg (in CoreSyn) |
|---|
| 341 | |
|---|
| 342 | * No "self" argument in tcInstanceMethod |
|---|
| 343 | * No special tcSimplifySuperClasss |
|---|
| 344 | * No "dependents" argument to EvDFunApp |
|---|
| 345 | |
|---|
| 346 | IMPORTANT |
|---|
| 347 | It turns out that it's quite tricky to generate the right |
|---|
| 348 | DFunUnfolding for a specialised dfun, when you use SPECIALISE |
|---|
| 349 | INSTANCE. For now I've just commented it out (in DsBinds) but |
|---|
| 350 | that'll lose some optimisation, and I need to get back to |
|---|
| 351 | this. |
|---|
| 352 | ] |
|---|
| 353 | [Doing the smart canonicalization only if we are not simplifying a Rule LHS. |
|---|
| 354 | dimitris@microsoft.com**20101210132221 |
|---|
| 355 | Also, same thing now applies for adding superclasses. |
|---|
| 356 | |
|---|
| 357 | ] |
|---|
| 358 | [Moved canonicalisation inside solveInteract |
|---|
| 359 | dimitris@microsoft.com**20101209141215 |
|---|
| 360 | |
|---|
| 361 | Moreover canonicalisation now is "clever", i.e. it never canonicalizes a class |
|---|
| 362 | constraint if it can already discharge it from some other inert or previously |
|---|
| 363 | encountered constraints. See Note [Avoiding the superclass explosion] |
|---|
| 364 | |
|---|
| 365 | ] |
|---|
| 366 | [GHCi linker: Assume non-Haskell libraries are dynamic libs |
|---|
| 367 | Ian Lynagh <igloo@earth.li>**20101213124930 |
|---|
| 368 | Ignore-this: aa153a8f6e309c7b3dae7e46bb7a9583 |
|---|
| 369 | This works around a segfault we get when trying to load libiconv.a on |
|---|
| 370 | some platforms. |
|---|
| 371 | ] |
|---|
| 372 | [Add --version support to ghc-cabal |
|---|
| 373 | Ian Lynagh <igloo@earth.li>**20101212213600 |
|---|
| 374 | Ignore-this: ef696dcb1b96a23765f9f18e75a56f5 |
|---|
| 375 | ] |
|---|
| 376 | [Don't link the GHC RTS into our C-only programs |
|---|
| 377 | Ian Lynagh <igloo@earth.li>**20101210185402 |
|---|
| 378 | Ignore-this: 56f620f7eb16a03e7497a161bc48458e |
|---|
| 379 | ] |
|---|
| 380 | [Build a copy of ghc-cabal with the in-tree compiler, for the bindist |
|---|
| 381 | Ian Lynagh <igloo@earth.li>**20101210181123] |
|---|
| 382 | [Add a test that all programs in the bindist were built with the right GHC |
|---|
| 383 | Ian Lynagh <igloo@earth.li>**20101210161218 |
|---|
| 384 | They should use the GHC from the build tree, not the bootstrapping compiler. |
|---|
| 385 | ] |
|---|
| 386 | [Fix Trac #4534: renamer bug |
|---|
| 387 | simonpj@microsoft.com**20101210084530 |
|---|
| 388 | Ignore-this: 8163bfa3a56344cfe89ad17c62e9655d |
|---|
| 389 | |
|---|
| 390 | The renamer wasn't attaching the right used-variables to a |
|---|
| 391 | TransformStmt constructor. |
|---|
| 392 | |
|---|
| 393 | The real modification is in RnExpr; the rest is just |
|---|
| 394 | pretty-printing and white space. |
|---|
| 395 | ] |
|---|
| 396 | [White space only |
|---|
| 397 | simonpj@microsoft.com**20101210084255 |
|---|
| 398 | Ignore-this: 3fcf8a4fc8c15052c379a135951d53ea |
|---|
| 399 | ] |
|---|
| 400 | [Comments only |
|---|
| 401 | simonpj@microsoft.com**20101210084116 |
|---|
| 402 | Ignore-this: 55bb1de129b1c9513751885eaa84b884 |
|---|
| 403 | ] |
|---|
| 404 | [Make the case-to-let transformation a little less eager |
|---|
| 405 | simonpj@microsoft.com**20101208172251 |
|---|
| 406 | Ignore-this: 55eaa1b5753af31aeb32ec792cb6b662 |
|---|
| 407 | |
|---|
| 408 | See Note [Case elimination: lifted case]. |
|---|
| 409 | Thanks to Roman for identifying this case. |
|---|
| 410 | ] |
|---|
| 411 | [warning fix: don't redefine BLOCKS_PER_MBLOCK |
|---|
| 412 | Simon Marlow <marlowsd@gmail.com>**20101210094002 |
|---|
| 413 | Ignore-this: cadba57f1c38f5e2af1de37d0a79c7ee |
|---|
| 414 | ] |
|---|
| 415 | [Only reset the event log if logging is turned on (addendum to #4512) |
|---|
| 416 | Simon Marlow <marlowsd@gmail.com>**20101210093951 |
|---|
| 417 | Ignore-this: c9f85f0de2b11a37337672fba59aecc6 |
|---|
| 418 | ] |
|---|
| 419 | [allocate enough room for the longer filename (addendum to #4512) |
|---|
| 420 | Simon Marlow <marlowsd@gmail.com>**20101210093906 |
|---|
| 421 | Ignore-this: 270dc0219d98f1e0f9e006102ade7087 |
|---|
| 422 | ] |
|---|
| 423 | [Fix Windows build: move rtsTimerSignal to the POSIX-only section |
|---|
| 424 | Simon Marlow <marlowsd@gmail.com>**20101210090045 |
|---|
| 425 | Ignore-this: aa1844b70b9f1a44447787c4bbe10d44 |
|---|
| 426 | ] |
|---|
| 427 | [Default the value of -dppr-cols when the static flags aren't initialised yet |
|---|
| 428 | Ben Lippmeier <benl@ouroborus.net>**20101210060154 |
|---|
| 429 | Ignore-this: 4cea29085ef904f379a8829714c9e180 |
|---|
| 430 | If GHC's command line options are bad then the options parser uses the |
|---|
| 431 | pretty printer before the -dppr-cols flag has been read. |
|---|
| 432 | ] |
|---|
| 433 | [Defensify naked read in LLVM mangler |
|---|
| 434 | Ben Lippmeier <benl@ouroborus.net>**20101210045922 |
|---|
| 435 | Ignore-this: 1373f597863851bd03e7a7254558ed04 |
|---|
| 436 | ] |
|---|
| 437 | [Formatting only |
|---|
| 438 | Ben Lippmeier <benl@ouroborus.net>**20101210042600 |
|---|
| 439 | Ignore-this: 20bbcd95c70b59094d0bb8a63e459103 |
|---|
| 440 | ] |
|---|
| 441 | [Always ppr case alts on separate lines |
|---|
| 442 | Ben Lippmeier <benl@ouroborus.net>**20101208070508 |
|---|
| 443 | Ignore-this: 7e2edd57a61427621aeb254aef84f0f7 |
|---|
| 444 | ] |
|---|
| 445 | [Add -dppr-colsN to set width of dumps |
|---|
| 446 | Ben Lippmeier <benl@ouroborus.net>**20101208070245 |
|---|
| 447 | Ignore-this: edc64fee6c373b895bb80b83b549ce1a |
|---|
| 448 | ] |
|---|
| 449 | [Add -dppr-case-as-let to print "strict lets" as actual lets |
|---|
| 450 | Ben Lippmeier <benl@ouroborus.net>**20101208065548 |
|---|
| 451 | Ignore-this: eb1d122dbd73b5263cae3a9f8259a838 |
|---|
| 452 | ] |
|---|
| 453 | [Suppress more info with -dsuppress-idinfo |
|---|
| 454 | Ben Lippmeier <benl@ouroborus.net>**20101208063037 |
|---|
| 455 | Ignore-this: 5e8213d7b8d2905e245917aa3e83efc5 |
|---|
| 456 | ] |
|---|
| 457 | [Implement -dsuppress-type-signatures |
|---|
| 458 | Ben Lippmeier <benl@ouroborus.net>**20101208062814 |
|---|
| 459 | Ignore-this: 34dbefe5f8d7fe58ecb26d6a748d1c71 |
|---|
| 460 | ] |
|---|
| 461 | [Add more suppression flags |
|---|
| 462 | Ben Lippmeier <benl@ouroborus.net>**20101208020723 |
|---|
| 463 | Ignore-this: b010ba9789a2fde6b815f33494fcc23c |
|---|
| 464 | -dsuppress-all |
|---|
| 465 | -dsuppress-type-applications |
|---|
| 466 | -dsuppress-idinfo |
|---|
| 467 | ] |
|---|
| 468 | [fix ticket number (#4505) |
|---|
| 469 | Simon Marlow <marlowsd@gmail.com>**20101209120404 |
|---|
| 470 | Ignore-this: 5769c5ce2a8d69d62d977a9ae138ec23 |
|---|
| 471 | ] |
|---|
| 472 | [fix warnings |
|---|
| 473 | Simon Marlow <marlowsd@gmail.com>**20101209115844 |
|---|
| 474 | Ignore-this: ffff37feb2abbfc5bd12940c7007c208 |
|---|
| 475 | ] |
|---|
| 476 | [Catch too-large allocations and emit an error message (#4505) |
|---|
| 477 | Simon Marlow <marlowsd@gmail.com>**20101209114005 |
|---|
| 478 | Ignore-this: c9013ab63dd0bd62ea045060528550c6 |
|---|
| 479 | |
|---|
| 480 | This is a temporary measure until we fix the bug properly (which is |
|---|
| 481 | somewhat tricky, and we think might be easier in the new code |
|---|
| 482 | generator). |
|---|
| 483 | |
|---|
| 484 | For now we get: |
|---|
| 485 | |
|---|
| 486 | ghc-stage2: sorry! (unimplemented feature or known bug) |
|---|
| 487 | (GHC version 7.1 for i386-unknown-linux): |
|---|
| 488 | Trying to allocate more than 1040384 bytes. |
|---|
| 489 | |
|---|
| 490 | See: http://hackage.haskell.org/trac/ghc/ticket/4550 |
|---|
| 491 | Suggestion: read data from a file instead of having large static data |
|---|
| 492 | structures in the code. |
|---|
| 493 | ] |
|---|
| 494 | [Export the value of the signal used by scheduler (#4504) |
|---|
| 495 | Dmitry Astapov <dastapov@gmail.com>**20101208183755 |
|---|
| 496 | Ignore-this: 427bf8c2469283fc7a6f759440d07d87 |
|---|
| 497 | ] |
|---|
| 498 | [Tweak the "sorry" message a bit |
|---|
| 499 | Simon Marlow <marlowsd@gmail.com>**20101208163212 |
|---|
| 500 | Ignore-this: aa1ce5bc3c27111548204b740572efbe |
|---|
| 501 | |
|---|
| 502 | - "sorry! (this is work in progress)\n" |
|---|
| 503 | + "sorry! (unimplemented feature or known bug)\n" |
|---|
| 504 | ] |
|---|
| 505 | [:unset settings support |
|---|
| 506 | Boris Lykah <lykahb@gmail.com>**20101123190132 |
|---|
| 507 | Ignore-this: 5e97c99238f5d2394592858c34c004d |
|---|
| 508 | Added support for settings [args, prog, prompt, editor and stop]. |
|---|
| 509 | Now :unset supports the same set of options as :set. |
|---|
| 510 | ] |
|---|
| 511 | [Fix Windows memory freeing: add a check for fb == NULL; fixes trac #4506 |
|---|
| 512 | Ian Lynagh <igloo@earth.li>**20101208152349 |
|---|
| 513 | Also added a few comments, and a load of code got indented 1 level deeper. |
|---|
| 514 | ] |
|---|
| 515 | [Fixes for #4512: EventLog.c - provides ability to terminate event logging, Schedule.c - uses them in forkProcess. |
|---|
| 516 | Dmitry Astapov <dastapov@gmail.com>**20101203133950 |
|---|
| 517 | Ignore-this: 2da7f215d6c22708a18291a416ba8881 |
|---|
| 518 | ] |
|---|
| 519 | [Make CPPFLAGS variables, as well as CFLAGS and LDFLAGS |
|---|
| 520 | Ian Lynagh <igloo@earth.li>**20101207010033 |
|---|
| 521 | Ignore-this: 2fc1ca1422aae1988d0fe1d29a8485d9 |
|---|
| 522 | This fixes the "does unsetenv return void" test in the unix package on |
|---|
| 523 | OS X, if I tell it to make 10.4-compatible binaries. The test uses |
|---|
| 524 | CPPFLAGS but not CFLAGS, so it thought it returned int (as it was |
|---|
| 525 | in 10.5-mode), but the C compiler (using CFLAGS, so in 10.4 mode) |
|---|
| 526 | thought it returned void. |
|---|
| 527 | |
|---|
| 528 | I also added CONF_LD_OPTS_STAGE$3 to the list of things in LDFLAGS, |
|---|
| 529 | which looks like an accidental ommission. |
|---|
| 530 | ] |
|---|
| 531 | [Add a configure message |
|---|
| 532 | Ian Lynagh <igloo@earth.li>**20101206215201] |
|---|
| 533 | [Link even programs containing no Haskell modules with GHC |
|---|
| 534 | Ian Lynagh <igloo@earth.li>**20101206203329 |
|---|
| 535 | I don't remember why we made it use gcc instead, but going back to |
|---|
| 536 | using ghc doesn't seem to break anything, and should fix the build |
|---|
| 537 | on OS X 10.6. |
|---|
| 538 | ] |
|---|
| 539 | [Correct the stage that the includes/ tools are built in |
|---|
| 540 | Ian Lynagh <igloo@earth.li>**20101206203125] |
|---|
| 541 | [Tweak the cleaning of inplace/; fixes trac #4320 |
|---|
| 542 | Ian Lynagh <igloo@earth.li>**20101205212048] |
|---|
| 543 | [Close .ghci files after reading them; fixes trac #4487 |
|---|
| 544 | Ian Lynagh <igloo@earth.li>**20101205205301] |
|---|
| 545 | [Fix the behaviour of :history for ticks surrounding top level functions |
|---|
| 546 | pepeiborra@gmail.com**20101203202346 |
|---|
| 547 | Ignore-this: 8059d4859c52c0c9a235b937cb8cde1d |
|---|
| 548 | ] |
|---|
| 549 | [Don't warn of duplicate exports in case of module exports. |
|---|
| 550 | Michal Terepeta <michal.terepeta@gmail.com>**20101127212116 |
|---|
| 551 | Ignore-this: ea225d517826f971c400bbb68d1405b8 |
|---|
| 552 | |
|---|
| 553 | But only when the module exports refer to different modules. |
|---|
| 554 | See ticket #4478. |
|---|
| 555 | ] |
|---|
| 556 | [Fix whitespace/layout in RnNames. |
|---|
| 557 | Michal Terepeta <michal.terepeta@gmail.com>**20101030171303 |
|---|
| 558 | Ignore-this: 707a7955fc4fc51683cc5a1dfe57f93 |
|---|
| 559 | ] |
|---|
| 560 | [Tell gcc to support back to OS X 10.5 |
|---|
| 561 | Ian Lynagh <igloo@earth.li>**20101203201558 |
|---|
| 562 | Ignore-this: f02d70e5b9cce50137981c6cb2b62a18 |
|---|
| 563 | ] |
|---|
| 564 | [Make RelaxedLayout off by default |
|---|
| 565 | Ian Lynagh <igloo@earth.li>**20101202140808 |
|---|
| 566 | I suspect this is a vary rarely used extension to the official layout |
|---|
| 567 | rule. |
|---|
| 568 | ] |
|---|
| 569 | [Fix up TcInstDcls |
|---|
| 570 | simonpj@microsoft.com**20101203180758 |
|---|
| 571 | Ignore-this: 9311aeb4ee67c799704afec90b5982d0 |
|---|
| 572 | |
|---|
| 573 | I really don't know how this module got left out of my last |
|---|
| 574 | patch, namely |
|---|
| 575 | Thu Dec 2 12:35:47 GMT 2010 simonpj@microsoft.com |
|---|
| 576 | * Re-jig simplifySuperClass (again) |
|---|
| 577 | |
|---|
| 578 | I suggest you don't pull either the patch above, or this |
|---|
| 579 | one, unless you really have to. I'm not fully confident |
|---|
| 580 | that it works properly yet. Ran out of time. Sigh. |
|---|
| 581 | ] |
|---|
| 582 | [throwTo: report the why_blocked value in the barf() |
|---|
| 583 | Simon Marlow <marlowsd@gmail.com>**20101203094840 |
|---|
| 584 | Ignore-this: 3b167c581be1c51dfe3586cc6359e1d0 |
|---|
| 585 | ] |
|---|
| 586 | [handle ThreadMigrating in throwTo() (#4811) |
|---|
| 587 | Simon Marlow <marlowsd@gmail.com>**20101203094818 |
|---|
| 588 | Ignore-this: 8ef8cb7fd3b50a27f83c29968131d461 |
|---|
| 589 | If a throwTo targets a thread that has just been created with |
|---|
| 590 | forkOnIO, then it is possible the exception strikes while the thread |
|---|
| 591 | is still in the process of migrating. throwTo() didn't handle this |
|---|
| 592 | case, but it's fairly straightforward. |
|---|
| 593 | ] |
|---|
| 594 | [removeThreadFromQueue: stub out the link field before returning (#4813) |
|---|
| 595 | Simon Marlow <marlowsd@gmail.com>**20101202160838 |
|---|
| 596 | Ignore-this: 653ae17bc1120d7f4130da94665002a1 |
|---|
| 597 | ] |
|---|
| 598 | [small tidyup |
|---|
| 599 | Simon Marlow <marlowsd@gmail.com>**20101126140620 |
|---|
| 600 | Ignore-this: 70b1d5ed4c81a7b29dd5980a2d84aae1 |
|---|
| 601 | ] |
|---|
| 602 | [Fix a recomp bug: make classes/datatypes depend directly on DFuns (#4469) |
|---|
| 603 | Simon Marlow <marlowsd@gmail.com>**20101202122349 |
|---|
| 604 | Ignore-this: 61c765583bb1d97caa88cf9b4f45b87c |
|---|
| 605 | And remove the old mechanism of recording dfun uses separately, |
|---|
| 606 | because it didn't work. |
|---|
| 607 | |
|---|
| 608 | This wiki page describes recompilation avoidance and fingerprinting. |
|---|
| 609 | I'll update it to describe the new method and what went wrong with the |
|---|
| 610 | old method: |
|---|
| 611 | |
|---|
| 612 | http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance |
|---|
| 613 | ] |
|---|
| 614 | [make a panic message more informative and suggest -dcore-lint (see #4534) |
|---|
| 615 | Simon Marlow <marlowsd@gmail.com>**20101201151706 |
|---|
| 616 | Ignore-this: 2a10761925d6f9f52675948baa30f7a |
|---|
| 617 | ] |
|---|
| 618 | [Re-jig simplifySuperClass (again) |
|---|
| 619 | simonpj@microsoft.com**20101202123547 |
|---|
| 620 | Ignore-this: fe4062b8988258f6748ebd8fbd6515b5 |
|---|
| 621 | |
|---|
| 622 | This fixes the current loop in T3731, and will fix other |
|---|
| 623 | reported loops. The loops show up when we are generating |
|---|
| 624 | evidence for superclasses in an instance declaration. |
|---|
| 625 | |
|---|
| 626 | The trick is to make the "self" dictionary simplifySuperClass |
|---|
| 627 | depend *explicitly* on the superclass we are currently trying |
|---|
| 628 | to build. See Note [Dependencies in self dictionaries] in TcSimplify. |
|---|
| 629 | |
|---|
| 630 | That in turn means that EvDFunApp needs a dependency-list, used |
|---|
| 631 | when chasing dependencies in isGoodRecEv. |
|---|
| 632 | ] |
|---|
| 633 | [A little refactoring (remove redundant argument passed to isGoodRecEv) |
|---|
| 634 | simonpj@microsoft.com**20101202123110 |
|---|
| 635 | Ignore-this: e517c5c12109a230f08dafb4d1e386df |
|---|
| 636 | ] |
|---|
| 637 | [Make rebindable if-then-else a little more permissive |
|---|
| 638 | simonpj@microsoft.com**20101202122540 |
|---|
| 639 | Ignore-this: ddb552cfe307607b42d1e4baf4e3bf21 |
|---|
| 640 | |
|---|
| 641 | See Note [Rebindable syntax for if]. Fixes Trac #4798. |
|---|
| 642 | Thanks to Nils Schweinsberg <mail@n-sch.de> |
|---|
| 643 | ] |
|---|
| 644 | [Improve error message (Trac #4799) |
|---|
| 645 | simonpj@microsoft.com**20101202102706 |
|---|
| 646 | Ignore-this: d9896e4d182936de1f256c820b96a8cf |
|---|
| 647 | ] |
|---|
| 648 | [Fix a nasty bug in RULE matching: Trac #4814 |
|---|
| 649 | simonpj@microsoft.com**20101202102618 |
|---|
| 650 | Ignore-this: ba058ad46a02bd2faf3a14de93fd19c6 |
|---|
| 651 | |
|---|
| 652 | See Note [Matching lets], which explains it all in detail. |
|---|
| 653 | It took me a day to think of a nice way to fix the bug, |
|---|
| 654 | but I think the result is quite respectable. Subtle, though. |
|---|
| 655 | ] |
|---|
| 656 | [Rename -XPArr to -XParallelArrays |
|---|
| 657 | Ben Lippmeier <benl@ouroborus.net>**20101130075415 |
|---|
| 658 | Ignore-this: 21b37680a7f25800d1200b59ad0b6b39 |
|---|
| 659 | ] |
|---|
| 660 | [FIX #1845 (unconditional relative branch out of range) |
|---|
| 661 | pho@cielonegro.org**20101130143014 |
|---|
| 662 | Ignore-this: df234bd8ad937104c455656fe3c33732 |
|---|
| 663 | |
|---|
| 664 | Don't use mmap on powerpc-apple-darwin as mmap doesn't support |
|---|
| 665 | reallocating but we need to allocate jump islands just after each |
|---|
| 666 | object images. Otherwise relative branches to jump islands can fail |
|---|
| 667 | due to 24-bits displacement overflow. |
|---|
| 668 | ] |
|---|
| 669 | [rts/Linker.c (loadArchive): |
|---|
| 670 | pho@cielonegro.org**20101130142700 |
|---|
| 671 | Ignore-this: bc84f9369ce5c2d289440701b7a3a2ab |
|---|
| 672 | |
|---|
| 673 | This routine should be aware of Mach-O misalignment of malloc'ed memory regions. |
|---|
| 674 | ] |
|---|
| 675 | [rts/Linker.c (machoGetMisalignment): |
|---|
| 676 | pho@cielonegro.org**20101130123355 |
|---|
| 677 | Ignore-this: 75425600049efd587e9873578e26392f |
|---|
| 678 | |
|---|
| 679 | Use fseek(3) instead of rewind(3) to move the file position indicator back to the initial position. Otherwise we can't use this function in loadArchive(). |
|---|
| 680 | ] |
|---|
| 681 | [rts/Linker.c (ocFlushInstructionCache): |
|---|
| 682 | pho@cielonegro.org**20101130121425 |
|---|
| 683 | Ignore-this: 1e2c207e4b1d17387617ec5d645204b7 |
|---|
| 684 | |
|---|
| 685 | I found this function causes a segfault when ocAllocateSymbolExtras() has allocated a separate memory region for jump islands. |
|---|
| 686 | ] |
|---|
| 687 | [Remove NewQualifiedOperators |
|---|
| 688 | Ian Lynagh <igloo@earth.li>**20101201181117 |
|---|
| 689 | The extension was rejected by Haskell', and deprecated in 7.0. |
|---|
| 690 | ] |
|---|
| 691 | [fix ref to utils/ext-core, which moved to Hackage (extcore package) |
|---|
| 692 | Simon Marlow <marlowsd@gmail.com>**20101201092147 |
|---|
| 693 | Ignore-this: 272a7daaa335ef60bcc645db70b4d68b |
|---|
| 694 | ] |
|---|
| 695 | [fix floating-point/FFI section: fenv is C99, not POSIX |
|---|
| 696 | Simon Marlow <marlowsd@gmail.com>**20101201092119 |
|---|
| 697 | Ignore-this: ce8b3edd428e4f77691dd739b5b4ae73 |
|---|
| 698 | ] |
|---|
| 699 | [Fixed some 'unused vars' warnings |
|---|
| 700 | keller@cse.unsw.edu.au**20101130013425 |
|---|
| 701 | Ignore-this: 35790d443faa23b87e4ba442e62376a3 |
|---|
| 702 | ] |
|---|
| 703 | [vectScalarLam handles int, float, and double now |
|---|
| 704 | keller@cse.unsw.edu.au**20101129231043 |
|---|
| 705 | Ignore-this: 6d67bdc8dd8577184040e791e6f3d0 |
|---|
| 706 | ] |
|---|
| 707 | [Handling of lets, letrec and case when checking if a lambda expr needs to be vectorised |
|---|
| 708 | keller@cse.unsw.edu.au**20101115051225 |
|---|
| 709 | Ignore-this: 1db6ed63d7b3f6d093e019322b407ff7 |
|---|
| 710 | ] |
|---|
| 711 | [Document the behaviour of fenv.h functions with GHC (#4391) |
|---|
| 712 | Simon Marlow <marlowsd@gmail.com>**20101126125336 |
|---|
| 713 | Ignore-this: bc4eab49428d567505a28add6fed90f1 |
|---|
| 714 | ] |
|---|
| 715 | [Remove the no-ghci-lib warning in ghc-pkg |
|---|
| 716 | Ian Lynagh <igloo@earth.li>**20101127235805 |
|---|
| 717 | GHCi libs are no longer necessary, as we can use the .a or .so versions |
|---|
| 718 | instead. |
|---|
| 719 | ] |
|---|
| 720 | [Add GNU-variant support to the .a parser, and other improvements/tidyups |
|---|
| 721 | Ian Lynagh <igloo@earth.li>**20101127223945] |
|---|
| 722 | [Re-indent only |
|---|
| 723 | Ian Lynagh <igloo@earth.li>**20101127191646] |
|---|
| 724 | [Improve linker debugging for archive files |
|---|
| 725 | Ian Lynagh <igloo@earth.li>**20101127190907] |
|---|
| 726 | [Always enable the archive-loading code |
|---|
| 727 | Ian Lynagh <igloo@earth.li>**20101127173000 |
|---|
| 728 | If the GHCi .o lib doesn't exist, load the .a instead |
|---|
| 729 | ] |
|---|
| 730 | [Inherit the ForceSpecConstr flag in non-recursive nested bindings |
|---|
| 731 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127125025 |
|---|
| 732 | Ignore-this: 401391eae25cefcb4afaba2e357decc1 |
|---|
| 733 | |
|---|
| 734 | This makes sure that join points are fully specialised in loops which are |
|---|
| 735 | marked as ForceSpecConstr. |
|---|
| 736 | ] |
|---|
| 737 | [Document -ddump-rule-firings and -ddump-rule-rewrites |
|---|
| 738 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127123528 |
|---|
| 739 | Ignore-this: beade2efe0cd767c0ce9d4f45a3380ba |
|---|
| 740 | ] |
|---|
| 741 | [New flag -dddump-rule-rewrites |
|---|
| 742 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127122022 |
|---|
| 743 | Ignore-this: c0ef5b8a199fbd1ef020258d2cde85a3 |
|---|
| 744 | |
|---|
| 745 | Now, -ddump-rule-firings only shows the names of the rules that fired (it would |
|---|
| 746 | show "before" and "after" with -dverbose-core2core previously) and |
|---|
| 747 | -ddump-rule-rewrites always shows the "before" and "after" bits, even without |
|---|
| 748 | -dverbose-core2core. |
|---|
| 749 | ] |
|---|
| 750 | [Acutally, wild-card variables *can* have occurrences |
|---|
| 751 | simonpj@microsoft.com**20101126162409 |
|---|
| 752 | Ignore-this: 544bffed75eeccef03a1097f98524eea |
|---|
| 753 | |
|---|
| 754 | This patch removes the Lint test, and comments why |
|---|
| 755 | ] |
|---|
| 756 | [Tidy up the handling of wild-card binders, and make Lint check it |
|---|
| 757 | simonpj@microsoft.com**20101126133210 |
|---|
| 758 | Ignore-this: 9e0be9f7867d53046ee5b0e478a0f433 |
|---|
| 759 | |
|---|
| 760 | See Note [WildCard binders] in SimplEnv. Spotted by Roman. |
|---|
| 761 | ] |
|---|
| 762 | [Substitution should just substitute, not optimise |
|---|
| 763 | simonpj@microsoft.com**20101125172356 |
|---|
| 764 | Ignore-this: 657628d9b6796ceb5f915c43d56e4a06 |
|---|
| 765 | |
|---|
| 766 | This was causing Trac #4524, by optimising |
|---|
| 767 | (e |> co) to e |
|---|
| 768 | on the LHS of a rule. Result, the template variable |
|---|
| 769 | 'co' wasn't bound any more. |
|---|
| 770 | |
|---|
| 771 | Now that substition doesn't optimise, it seems sensible to call |
|---|
| 772 | simpleOptExpr rather than substExpr when substituting in the |
|---|
| 773 | RHS of rules. Not a big deal either way. |
|---|
| 774 | ] |
|---|
| 775 | [Make SpecConstr "look through" identity coercions |
|---|
| 776 | simonpj@microsoft.com**20101125172138 |
|---|
| 777 | Ignore-this: c1cc585ed890a7702c33987e971e0af6 |
|---|
| 778 | ] |
|---|
| 779 | [Comment only |
|---|
| 780 | simonpj@microsoft.com**20101125172011 |
|---|
| 781 | Ignore-this: 3c7be8791badd00dcca9610ebb8981d1 |
|---|
| 782 | ] |
|---|
| 783 | [White space only |
|---|
| 784 | simonpj@microsoft.com**20101101080748 |
|---|
| 785 | Ignore-this: f7133fc6b22ae263c6672543a8534a6f |
|---|
| 786 | ] |
|---|
| 787 | [Keep a maximum of 6 spare worker threads per Capability (#4262) |
|---|
| 788 | Simon Marlow <marlowsd@gmail.com>**20101125135729 |
|---|
| 789 | Ignore-this: a020786569656bf2f3a1717b65d463bd |
|---|
| 790 | ] |
|---|
| 791 | [Unicide OtherNumber category should be allowed in identifiers (#4373) |
|---|
| 792 | Simon Marlow <marlowsd@gmail.com>**20101115095444 |
|---|
| 793 | Ignore-this: e331b6ddb17550163ee91bd283348800 |
|---|
| 794 | ] |
|---|
| 795 | [vectoriser: fix warning |
|---|
| 796 | Ben Lippmeier <benl@ouroborus.net>**20101126044036 |
|---|
| 797 | Ignore-this: e1a66bb405bf2f3f56b42c3b13fd4bf3 |
|---|
| 798 | ] |
|---|
| 799 | [vectoriser: fix warning |
|---|
| 800 | Ben Lippmeier <benl@ouroborus.net>**20101126042950 |
|---|
| 801 | Ignore-this: df8dd25bcfb3946c2974b13953a2f2c7 |
|---|
| 802 | ] |
|---|
| 803 | [vectoriser: take class directly from the instance tycon |
|---|
| 804 | Ben Lippmeier <benl@ouroborus.net>**20101126042900 |
|---|
| 805 | Ignore-this: 626a416717a5a059f39e53f4ec95fc66 |
|---|
| 806 | ] |
|---|
| 807 | [vectoriser: comments only |
|---|
| 808 | Ben Lippmeier <benl@ouroborus.net>**20101125073201 |
|---|
| 809 | Ignore-this: 8846ea8895307083bd1ebbc5d7fb1c5 |
|---|
| 810 | ] |
|---|
| 811 | [vectoriser: follow changes in mkClass |
|---|
| 812 | Ben Lippmeier <benl@ouroborus.net>**20101125062349 |
|---|
| 813 | Ignore-this: d5018cc022686d4272e126ca9a12283a |
|---|
| 814 | ] |
|---|
| 815 | [vectoriser: tracing wibbles |
|---|
| 816 | Ben Lippmeier <benl@ouroborus.net>**20101125062332 |
|---|
| 817 | Ignore-this: c2024d8f03bc03bee2851f4f1c139fd5 |
|---|
| 818 | ] |
|---|
| 819 | [mkDFunUnfolding wants the type of the dfun to be a PredTy |
|---|
| 820 | benl@ouroborus.net**20100914062939 |
|---|
| 821 | Ignore-this: 7aa6e6b140746184cf00355b50c83b66 |
|---|
| 822 | ] |
|---|
| 823 | [vectoriser: fix conflicts |
|---|
| 824 | Ben Lippmeier <benl@ouroborus.net>**20101125060904 |
|---|
| 825 | Ignore-this: cc3decab1affada8629ca3818b76b3bf |
|---|
| 826 | ] |
|---|
| 827 | [Comments and formatting only |
|---|
| 828 | benl@ouroborus.net**20100914062903 |
|---|
| 829 | Ignore-this: b0fc25f0952cafd56cc25353936327d4 |
|---|
| 830 | ] |
|---|
| 831 | [Comments and formatting to type environment vectoriser |
|---|
| 832 | benl@ouroborus.net**20100909080405 |
|---|
| 833 | Ignore-this: ab8549d53f845c9d82ed9a525fda3906 |
|---|
| 834 | ] |
|---|
| 835 | [Don't mix implicit and explicit layout |
|---|
| 836 | Ian Lynagh <igloo@earth.li>**20101124231514] |
|---|
| 837 | [Whitespace only |
|---|
| 838 | Ian Lynagh <igloo@earth.li>**20101124230655] |
|---|
| 839 | [Separate NondecreasingIndentation out into its own extension |
|---|
| 840 | Ian Lynagh <igloo@earth.li>**20101124220507] |
|---|
| 841 | [Add another GHC layout rule relaxation to RelaxedLayout |
|---|
| 842 | Ian Lynagh <igloo@earth.li>**20101124205957] |
|---|
| 843 | [Remove an unused build system variable: GhcDir |
|---|
| 844 | Ian Lynagh <igloo@earth.li>**20101124140455] |
|---|
| 845 | [Remove unused build system variable: GhcHasEditline |
|---|
| 846 | Ian Lynagh <igloo@earth.li>**20101124140415] |
|---|
| 847 | [Remove unused variables from the build system: HBC, NHC, MKDEPENDHS |
|---|
| 848 | Ian Lynagh <igloo@earth.li>**20101124140052] |
|---|
| 849 | [Remove references to Haskell 98 |
|---|
| 850 | Ian Lynagh <igloo@earth.li>**20101123233536 |
|---|
| 851 | They are no longer right, as we have Haskell' generating new Haskell |
|---|
| 852 | standards. |
|---|
| 853 | ] |
|---|
| 854 | [Tweak a configure test |
|---|
| 855 | Ian Lynagh <igloo@earth.li>**20101123170621] |
|---|
| 856 | [Add a configure test for the visibility hidden attribute |
|---|
| 857 | Ian Lynagh <igloo@earth.li>**20101123170541] |
|---|
| 858 | [sanity: fix places where we weren't filling fresh memory with 0xaa |
|---|
| 859 | Simon Marlow <marlowsd@gmail.com>**20101029092843 |
|---|
| 860 | Ignore-this: 2cb18f7f5afcaf33371aeffce67e218f |
|---|
| 861 | ] |
|---|
| 862 | [Just some alpha renaming |
|---|
| 863 | Ian Lynagh <igloo@earth.li>**20101121144455 |
|---|
| 864 | Ignore-this: d5e807c5470840efc199e29f7d50804c |
|---|
| 865 | ] |
|---|
| 866 | [Fix bug #3165 (:history throws irrefutable pattern failed) |
|---|
| 867 | pepeiborra@gmail.com**20101115223623 |
|---|
| 868 | Ignore-this: 73edf56e502b4d0385bc044133b27946 |
|---|
| 869 | |
|---|
| 870 | I ran across this bug and took the time to fix it, closing |
|---|
| 871 | a long time due TODO in InteractiveEval.hs |
|---|
| 872 | |
|---|
| 873 | Instead of looking around to find the enclosing declaration |
|---|
| 874 | of a tick, this patch makes use of the information already collected during the |
|---|
| 875 | coverage desugaring phase |
|---|
| 876 | ] |
|---|
| 877 | [For bindists, build ghc-pwd with stage 1 |
|---|
| 878 | Ian Lynagh <igloo@earth.li>**20101121183520 |
|---|
| 879 | Ignore-this: a3b5c8b78c81ec1b6d5fbf23da346ff5 |
|---|
| 880 | rather then the bootstrapping compiler. This fixes problems where the |
|---|
| 881 | bootstrapping compiler dynamically links against libraries not on the |
|---|
| 882 | target machine. |
|---|
| 883 | ] |
|---|
| 884 | [Makefile tweak |
|---|
| 885 | Ian Lynagh <igloo@earth.li>**20101121183342 |
|---|
| 886 | Ignore-this: cd55a2819c1a5fd36da1bc7a75d2ded1 |
|---|
| 887 | ] |
|---|
| 888 | [Fix a makefile include ordering sanity check |
|---|
| 889 | Ian Lynagh <igloo@earth.li>**20101121174916 |
|---|
| 890 | Ignore-this: d0bdd41c4b618944d04ecb4f54fdd0f1 |
|---|
| 891 | ] |
|---|
| 892 | [Add an extension for GHC's layout-rule relaxations |
|---|
| 893 | Ian Lynagh <igloo@earth.li>**20101120215340 |
|---|
| 894 | Still TODO: Add the other relaxation (#1060) and update the alternative |
|---|
| 895 | layout rule to use the extension. |
|---|
| 896 | ] |
|---|
| 897 | [Tweak the bindist configure.ac.in |
|---|
| 898 | Ian Lynagh <igloo@earth.li>**20101120173735] |
|---|
| 899 | [configure.ac tweaks |
|---|
| 900 | Ian Lynagh <igloo@earth.li>**20101120170245] |
|---|
| 901 | [When testing the bindist, tell it where gcc is |
|---|
| 902 | Ian Lynagh <igloo@earth.li>**20101120155920 |
|---|
| 903 | The location isn't baked into the bindist, as it may differ from |
|---|
| 904 | machine to machine. |
|---|
| 905 | ] |
|---|
| 906 | [Comments only |
|---|
| 907 | simonpj@microsoft.com**20101119100153 |
|---|
| 908 | Ignore-this: 7abd5d965ea805770449d6f8dadbb921 |
|---|
| 909 | ] |
|---|
| 910 | [ForceSpecConstr now forces specialisation even for arguments which aren't scrutinised |
|---|
| 911 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101118212839 |
|---|
| 912 | Ignore-this: db45721d29a694e53746f8b76513efa4 |
|---|
| 913 | ] |
|---|
| 914 | [Move the superclass generation to the canonicaliser |
|---|
| 915 | simonpj@microsoft.com**20101118120533 |
|---|
| 916 | Ignore-this: 5e0e525402a240b709f2b8104c1682b2 |
|---|
| 917 | |
|---|
| 918 | Doing superclass generation in the canonicaliser (rather than |
|---|
| 919 | TcInteract) uses less code, and is generally more efficient. |
|---|
| 920 | |
|---|
| 921 | See Note [Adding superclasses] in TcCanonical. |
|---|
| 922 | |
|---|
| 923 | Fixes Trac #4497. |
|---|
| 924 | ] |
|---|
| 925 | [Fix the generation of in-scope variables for IfaceLint check |
|---|
| 926 | simonpj@microsoft.com**20101118090057 |
|---|
| 927 | Ignore-this: bbcdba61ddf89d07fe69ca99c2017e3f |
|---|
| 928 | ] |
|---|
| 929 | [Comments only |
|---|
| 930 | simonpj@microsoft.com**20101118090034 |
|---|
| 931 | Ignore-this: fa2936d35a0f7be4e4535ea9e2b7bf7b |
|---|
| 932 | ] |
|---|
| 933 | [Omit bogus test for -XDeriveFunctor |
|---|
| 934 | simonpj@microsoft.com**20101118090028 |
|---|
| 935 | Ignore-this: a534243011809ebbb788b910961601c5 |
|---|
| 936 | |
|---|
| 937 | It was duplicated in the case of 'deriving( Functor )' |
|---|
| 938 | and wrong for 'deriving( Foldable )' |
|---|
| 939 | ] |
|---|
| 940 | [Improve error message on advice from a user |
|---|
| 941 | simonpj@microsoft.com**20101118085306 |
|---|
| 942 | Ignore-this: bd4f3858ff24e602e985288f27d536f3 |
|---|
| 943 | |
|---|
| 944 | See Trac #4499 |
|---|
| 945 | ] |
|---|
| 946 | [TAG 2010-11-18 |
|---|
| 947 | Ian Lynagh <igloo@earth.li>**20101118011554 |
|---|
| 948 | Ignore-this: ccadbe7fadd1148d2ee3caa8c8821ec5 |
|---|
| 949 | ] |
|---|
| 950 | Patch bundle hash: |
|---|
| 951 | 49f9e9a49dea515dca76dc9a7bbbe5ac1d6f6ee7 |
|---|