| 1 | |
|---|
| 2 | New patches: |
|---|
| 3 | |
|---|
| 4 | [Fix compile error on powerpc-linux (#4999) |
|---|
| 5 | Erik de Castro Lopo <erikd@mega-nerd.com>**20110310071743 |
|---|
| 6 | Ignore-this: a9dca9703dd82e27a463064cb369ceda |
|---|
| 7 | |
|---|
| 8 | Compile was breaking in rts/Linkder.c. Fix was to make the powerpc-linux |
|---|
| 9 | code path similar to the powerpc-darwin code path. Once this was fixed, |
|---|
| 10 | the compile breaks in the second stage compling the vector library. |
|---|
| 11 | ] { |
|---|
| 12 | hunk ./rts/Linker.c 73 |
|---|
| 13 | #include <sys/wait.h> |
|---|
| 14 | #endif |
|---|
| 15 | |
|---|
| 16 | -#if defined(linux_HOST_OS ) || defined(freebsd_HOST_OS) || \ |
|---|
| 17 | - defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \ |
|---|
| 18 | - defined(openbsd_HOST_OS ) || \ |
|---|
| 19 | - ( defined(darwin_HOST_OS ) && !defined(powerpc_HOST_ARCH) ) || \ |
|---|
| 20 | - defined(kfreebsdgnu_HOST_OS) |
|---|
| 21 | -/* Don't use mmap on powerpc-apple-darwin as mmap doesn't support |
|---|
| 22 | +#if !defined(powerpc_HOST_ARCH) && \ |
|---|
| 23 | + ( defined(linux_HOST_OS ) || defined(freebsd_HOST_OS) || \ |
|---|
| 24 | + defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \ |
|---|
| 25 | + defined(openbsd_HOST_OS ) || defined(darwin_HOST_OS ) || \ |
|---|
| 26 | + defined(kfreebsdgnu_HOST_OS) ) |
|---|
| 27 | +/* Don't use mmap on powerpc_HOST_ARCH as mmap doesn't support |
|---|
| 28 | * reallocating but we need to allocate jump islands just after each |
|---|
| 29 | * object images. Otherwise relative branches to jump islands can fail |
|---|
| 30 | * due to 24-bits displacement overflow. |
|---|
| 31 | hunk ./rts/Linker.c 135 |
|---|
| 32 | static ObjectCode* mkOc( char *path, char *image, int imageSize, |
|---|
| 33 | char *archiveMemberName |
|---|
| 34 | #ifndef USE_MMAP |
|---|
| 35 | -#ifdef darwin_HOST_OS |
|---|
| 36 | +#ifdef powerpc_HOST_ARCH |
|---|
| 37 | , int misalignment |
|---|
| 38 | #endif |
|---|
| 39 | #endif |
|---|
| 40 | hunk ./rts/Linker.c 159 |
|---|
| 41 | static int ocGetNames_MachO ( ObjectCode* oc ); |
|---|
| 42 | static int ocResolve_MachO ( ObjectCode* oc ); |
|---|
| 43 | |
|---|
| 44 | -#ifndef USE_MMAP |
|---|
| 45 | +#if !defined USE_MMAP && defined(darwin_HOST_OS) |
|---|
| 46 | static int machoGetMisalignment( FILE * ); |
|---|
| 47 | #endif |
|---|
| 48 | #if defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH) |
|---|
| 49 | hunk ./rts/Linker.c 1594 |
|---|
| 50 | } else { |
|---|
| 51 | if ((W_)result > 0x80000000) { |
|---|
| 52 | // oops, we were given memory over 2Gb |
|---|
| 53 | -#if defined(freebsd_HOST_OS) || defined(kfreebsdgnu_HOST_OS) || defined(dragonfly_HOST_OS) |
|---|
| 54 | +#if defined(freebsd_HOST_OS) || defined(kfreebsdgnu_HOST_OS) || defined(dragonfly_HOST_OS) |
|---|
| 55 | // Some platforms require MAP_FIXED. This is normally |
|---|
| 56 | // a bad idea, because MAP_FIXED will overwrite |
|---|
| 57 | // existing mappings. |
|---|
| 58 | hunk ./rts/Linker.c 1633 |
|---|
| 59 | mkOc( char *path, char *image, int imageSize, |
|---|
| 60 | char *archiveMemberName |
|---|
| 61 | #ifndef USE_MMAP |
|---|
| 62 | -#ifdef darwin_HOST_OS |
|---|
| 63 | +#ifdef powerpc_HOST_ARCH |
|---|
| 64 | , int misalignment |
|---|
| 65 | #endif |
|---|
| 66 | #endif |
|---|
| 67 | hunk ./rts/Linker.c 1672 |
|---|
| 68 | oc->proddables = NULL; |
|---|
| 69 | |
|---|
| 70 | #ifndef USE_MMAP |
|---|
| 71 | -#ifdef darwin_HOST_OS |
|---|
| 72 | +#ifdef powerpc_HOST_ARCH |
|---|
| 73 | oc->misalignment = misalignment; |
|---|
| 74 | #endif |
|---|
| 75 | #endif |
|---|
| 76 | hunk ./rts/Linker.c 1699 |
|---|
| 77 | char tmp[12]; |
|---|
| 78 | char *gnuFileIndex; |
|---|
| 79 | int gnuFileIndexSize; |
|---|
| 80 | -#if !defined(USE_MMAP) && defined(darwin_HOST_OS) |
|---|
| 81 | +#if !defined(USE_MMAP) && defined(powerpc_HOST_ARCH) |
|---|
| 82 | int misalignment; |
|---|
| 83 | #endif |
|---|
| 84 | |
|---|
| 85 | hunk ./rts/Linker.c 1879 |
|---|
| 86 | image = stgMallocBytes(memberSize + misalignment, "loadArchive(image)"); |
|---|
| 87 | image += misalignment; |
|---|
| 88 | #else |
|---|
| 89 | - image = stgMallocBytes(memberSize, "loadArchive(image)"); |
|---|
| 90 | + misalignment = 0; /* This can't be right. */ |
|---|
| 91 | + image = stgMallocBytes(memberSize + misalignment, "loadArchive(image)"); |
|---|
| 92 | #endif |
|---|
| 93 | n = fread ( image, 1, memberSize, f ); |
|---|
| 94 | if (n != memberSize) { |
|---|
| 95 | hunk ./rts/Linker.c 1894 |
|---|
| 96 | |
|---|
| 97 | oc = mkOc(path, image, memberSize, archiveMemberName |
|---|
| 98 | #ifndef USE_MMAP |
|---|
| 99 | -#ifdef darwin_HOST_OS |
|---|
| 100 | +#ifdef powerpc_HOST_ARCH |
|---|
| 101 | , misalignment |
|---|
| 102 | #endif |
|---|
| 103 | #endif |
|---|
| 104 | hunk ./rts/Linker.c 1975 |
|---|
| 105 | int fd; |
|---|
| 106 | #else |
|---|
| 107 | FILE *f; |
|---|
| 108 | -# if defined(darwin_HOST_OS) |
|---|
| 109 | +# if defined(powerpc_HOST_ARCH) |
|---|
| 110 | int misalignment; |
|---|
| 111 | # endif |
|---|
| 112 | #endif |
|---|
| 113 | hunk ./rts/Linker.c 2055 |
|---|
| 114 | image = stgMallocBytes(fileSize + misalignment, "loadObj(image)"); |
|---|
| 115 | image += misalignment; |
|---|
| 116 | # else |
|---|
| 117 | - image = stgMallocBytes(fileSize, "loadObj(image)"); |
|---|
| 118 | + misalignment = 0; /* This can't be right. */ |
|---|
| 119 | + image = stgMallocBytes(fileSize + misalignment, "loadObj(image)"); |
|---|
| 120 | # endif |
|---|
| 121 | |
|---|
| 122 | { |
|---|
| 123 | hunk ./rts/Linker.c 2070 |
|---|
| 124 | |
|---|
| 125 | oc = mkOc(path, image, fileSize, NULL |
|---|
| 126 | #ifndef USE_MMAP |
|---|
| 127 | -#ifdef darwin_HOST_OS |
|---|
| 128 | +#ifdef powerpc_HOST_ARCH |
|---|
| 129 | , misalignment |
|---|
| 130 | #endif |
|---|
| 131 | #endif |
|---|
| 132 | hunk ./rts/Linker.c 2320 |
|---|
| 133 | int aligned; |
|---|
| 134 | #ifndef USE_MMAP |
|---|
| 135 | int misalignment = 0; |
|---|
| 136 | -#ifdef darwin_HOST_OS |
|---|
| 137 | +#ifdef powerpc_HOST_ARCH |
|---|
| 138 | misalignment = oc->misalignment; |
|---|
| 139 | #endif |
|---|
| 140 | #endif |
|---|
| 141 | hunk ./rts/Linker.c 5349 |
|---|
| 142 | } |
|---|
| 143 | #endif |
|---|
| 144 | |
|---|
| 145 | -#ifndef USE_MMAP |
|---|
| 146 | +#if !defined USE_MMAP && defined(darwin_HOST_OS) |
|---|
| 147 | /* |
|---|
| 148 | * Figure out by how much to shift the entire Mach-O file in memory |
|---|
| 149 | * when loading so that its single segment ends up 16-byte-aligned |
|---|
| 150 | hunk ./rts/LinkerInternals.h 83 |
|---|
| 151 | /* ptr to malloc'd lump of memory holding the obj file */ |
|---|
| 152 | char* image; |
|---|
| 153 | |
|---|
| 154 | -#ifdef darwin_HOST_OS |
|---|
| 155 | +#ifdef powerpc_HOST_ARCH |
|---|
| 156 | /* record by how much image has been deliberately misaligned |
|---|
| 157 | after allocation, so that we can use realloc */ |
|---|
| 158 | int misalignment; |
|---|
| 159 | } |
|---|
| 160 | |
|---|
| 161 | Context: |
|---|
| 162 | |
|---|
| 163 | [LLVM: Fix #4995, llvm mangler broken for large compiles |
|---|
| 164 | David Terei <davidterei@gmail.com>**20110309215346 |
|---|
| 165 | Ignore-this: 4fcef11ad0be0cff26c108bd05db0485 |
|---|
| 166 | ] |
|---|
| 167 | [Improve the XCode version detection |
|---|
| 168 | Ian Lynagh <igloo@earth.li>**20110307225823 |
|---|
| 169 | Amongst other improvements, we now handle 3-component versions |
|---|
| 170 | (like "3.1.4") correctly. |
|---|
| 171 | ] |
|---|
| 172 | [Impredicative polymorphism no longer deprecated. |
|---|
| 173 | Edward Z. Yang <ezyang@mit.edu>**20110306215916 |
|---|
| 174 | Ignore-this: 49157eaae716879effb99c2638518265 |
|---|
| 175 | ] |
|---|
| 176 | [Fix doc formatting |
|---|
| 177 | Ian Lynagh <igloo@earth.li>**20110306151532 |
|---|
| 178 | Ignore-this: 4948eccebbf7637ff84db661a5138dd1 |
|---|
| 179 | ] |
|---|
| 180 | [configure: amend sanity check |
|---|
| 181 | Sergei Trofimovich <slyfox@community.haskell.org>**20110301194018 |
|---|
| 182 | Ignore-this: 4f40f8dd28bd436f02b487714b797ee7 |
|---|
| 183 | |
|---|
| 184 | As we perform some mangling of original --build/--host/--target |
|---|
| 185 | params we should check the result of mangling against desired triplet, |
|---|
| 186 | not originally passed by user. |
|---|
| 187 | |
|---|
| 188 | Patch also adds mangled triplets to the output. |
|---|
| 189 | ] |
|---|
| 190 | [configure: triplet: accept i486 CPU (and more), more vendors and OSes |
|---|
| 191 | Sergei Trofimovich <slyfox@community.haskell.org>**20110301064108 |
|---|
| 192 | Ignore-this: d508348bf04ad74afb069b8c743fd2f4 |
|---|
| 193 | |
|---|
| 194 | Gentoo has interesting ports: |
|---|
| 195 | |
|---|
| 196 | - freebsd with following triplet: |
|---|
| 197 | ./configure --build=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 |
|---|
| 198 | should be recognized as 'i386-unknown-freebsd' |
|---|
| 199 | - 'pc' vendor along with non-'i386' is very common: |
|---|
| 200 | ./configure --build=i486-pc-linux-gnu --i486-pc-linux-gnu --host=i486-pc-linux-gnu |
|---|
| 201 | ./configure --build=i686-pc-linux-gnu --i686-pc-linux-gnu --host=i686-pc-linux-gnu |
|---|
| 202 | should be recognized as 'i386-unknown-linux' |
|---|
| 203 | |
|---|
| 204 | Patch adds: |
|---|
| 205 | |
|---|
| 206 | - 'pc' vendor (maps to 'unknown') |
|---|
| 207 | - 'gentoo' vendor (maps to 'unknown') |
|---|
| 208 | - 'i486', 'i586', 'i686' CPUs (maps to 'i386') |
|---|
| 209 | - 'freebsd8' OS (maps to 'freebsd') |
|---|
| 210 | ] |
|---|
| 211 | [Document -fwarn-missing-import-lists |
|---|
| 212 | simonpj@microsoft.com**20110306000216 |
|---|
| 213 | Ignore-this: 5a857935a775f608d8e00af9ad2b1633 |
|---|
| 214 | |
|---|
| 215 | Also change the behaviour slightly, to warn only for |
|---|
| 216 | *unqualified* imports. See Trac #4977. |
|---|
| 217 | ] |
|---|
| 218 | [Completed the implementation of VECTORISE SCALAR |
|---|
| 219 | Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20110305123625 |
|---|
| 220 | Ignore-this: 96714958893800c6ae750fb343b32e31 |
|---|
| 221 | - The pragma {-# VECTORISE SCALAR foo #-} marks 'foo' as a |
|---|
| 222 | scalar function for for vectorisation and generates a |
|---|
| 223 | vectorised version by applying 'scalar_map' and friends. |
|---|
| 224 | - The set of scalar functions is not yet emitted into |
|---|
| 225 | interface files. This will be added in a subsequent |
|---|
| 226 | patch via 'VectInfo'. |
|---|
| 227 | ] |
|---|
| 228 | [Fix build, and improve ghc-cabal's errors |
|---|
| 229 | Ian Lynagh <igloo@earth.li>**20110305153931 |
|---|
| 230 | Ignore-this: eb0d1b7ee3dbc7be6a39c9ed3a787d |
|---|
| 231 | ] |
|---|
| 232 | [Whitespace only |
|---|
| 233 | Ian Lynagh <igloo@earth.li>**20110305150238] |
|---|
| 234 | [Sanity check values that we wrap in single quotes |
|---|
| 235 | Ian Lynagh <igloo@earth.li>**20110305150118 |
|---|
| 236 | Make sure they contain no single quotes, leading spaces, or trailing spaces. |
|---|
| 237 | ] |
|---|
| 238 | [Avoid some shell calls in the build system |
|---|
| 239 | Ian Lynagh <igloo@earth.li>**20110305144825 |
|---|
| 240 | The DEP_INCLUDE_DIRS and DEP_LIB_DIRS variables always contain |
|---|
| 241 | single-quote dirs, so we can use e.g. |
|---|
| 242 | $(subst $(space)',$(space)-L',$(space)$($1_$2_DEP_LIB_DIRS_SINGLE_QUOTED)) |
|---|
| 243 | to add -L to the front of each dir. I've appended "_SINGLE_QUOTED" to |
|---|
| 244 | the variable names so we don't accidentally add bare directories to |
|---|
| 245 | them. |
|---|
| 246 | ] |
|---|
| 247 | [Make -fno-enable-rewrite-rules work properly |
|---|
| 248 | simonpj@microsoft.com**20110302114317 |
|---|
| 249 | Ignore-this: cd133880e58d9af55cf4454e4c700d |
|---|
| 250 | |
|---|
| 251 | I'd failed to propagate the Opt_EnableRewriteRules flag properly, |
|---|
| 252 | which meant that -fno-enable-rewrite-rules didn't disable all |
|---|
| 253 | rewrites. This patch fixes it. |
|---|
| 254 | ] |
|---|
| 255 | [Comments only |
|---|
| 256 | simonpj@microsoft.com**20110302113041 |
|---|
| 257 | Ignore-this: e97a3ee359e0211b4fb5b5fbf3f5607d |
|---|
| 258 | ] |
|---|
| 259 | [Restore SPECIALISE INSTANCE pragmas |
|---|
| 260 | simonpj@microsoft.com**20110222173112 |
|---|
| 261 | Ignore-this: 4c0a8fab4f9e619d988beb8b5269474f |
|---|
| 262 | |
|---|
| 263 | For some reason I'd commented out this code, which |
|---|
| 264 | meant that we weren't getting the the goodness of |
|---|
| 265 | the SPECIALISE INSTANCE pragamas in GHC.Real. And |
|---|
| 266 | that in turn killed performance in nofib 'power' |
|---|
| 267 | ] |
|---|
| 268 | [GHC.Prim.threadStatus# now returns the cap number, and the value of TSO_LOCKED |
|---|
| 269 | Simon Marlow <marlowsd@gmail.com>**20110301101025 |
|---|
| 270 | Ignore-this: 49548cffd04bf6fdd3071158d9865034 |
|---|
| 271 | ] |
|---|
| 272 | [Improve GHCi line numbers in errors |
|---|
| 273 | Ian Lynagh <igloo@earth.li>**20110227172012 |
|---|
| 274 | Ignore-this: 52c2c2f7c83207e8c7b36fab6ebe52d8 |
|---|
| 275 | When running commands from the user (as opposed to from a file), reset |
|---|
| 276 | the line number to 1 at the start of each command. |
|---|
| 277 | ] |
|---|
| 278 | [:script file scripts in GHCi #1363 |
|---|
| 279 | Vivian McPhail <haskell.vivian.mcphail@gmail.com>**20110226073133 |
|---|
| 280 | This patch adds the script command in GHCi |
|---|
| 281 | |
|---|
| 282 | A file is read and executed as a series of GHCi commands. |
|---|
| 283 | |
|---|
| 284 | Execution terminates on the first error. The filename and |
|---|
| 285 | line number are included in the error. |
|---|
| 286 | ] |
|---|
| 287 | [Turn off split objects on Darwin if XCode < 3.2 (#4013) |
|---|
| 288 | Ian Lynagh <igloo@earth.li>**20110225184358 |
|---|
| 289 | Ignore-this: 3e894673649fee957df2413ca82b1c99 |
|---|
| 290 | ] |
|---|
| 291 | [libffi: backport incorrect detection of selinux |
|---|
| 292 | Sergei Trofimovich <slyfox@community.haskell.org>**20110208212140 |
|---|
| 293 | Ignore-this: 31bdddb5683acae2bffa3e97effaefea |
|---|
| 294 | |
|---|
| 295 | This patch unbreaks ghci on GRSEC kernels hardened with |
|---|
| 296 | TPE (Trusted Path Execution) protection. |
|---|
| 297 | |
|---|
| 298 | TPE forbids mmap('rwx') files opened for writes: |
|---|
| 299 | fd = open (a_file_in_tmp, O_RDWR); |
|---|
| 300 | mmap (..., PROT_READ | PROT_WRITE | PROT_EXEC, fd); |
|---|
| 301 | |
|---|
| 302 | while allows anonymous RWX mappings: |
|---|
| 303 | mmap (...MAP_ANONYMOUS , PROT_READ | PROT_WRITE | PROT_EXEC, -1); |
|---|
| 304 | |
|---|
| 305 | Thanks to klondike for finding it out. |
|---|
| 306 | |
|---|
| 307 | The result of a horrible typo. |
|---|
| 308 | |
|---|
| 309 | (unreleased yet) upstream also has the patch: |
|---|
| 310 | |
|---|
| 311 | http://github.com/atgreen/libffi/commit/eaf444eabc4c78703c0f98ac0197b1619c1b1bef |
|---|
| 312 | ] |
|---|
| 313 | [Generate the OS X installer from a bindist, rather than from a source tree |
|---|
| 314 | Ian Lynagh <igloo@earth.li>**20110223170016] |
|---|
| 315 | [Use -h rather than -soname; fixes dynlibs on Solaris 10; trac #4973 |
|---|
| 316 | Ian Lynagh <igloo@earth.li>**20110222152656] |
|---|
| 317 | [Fix another fundep error (fixes Trac #4969) |
|---|
| 318 | simonpj@microsoft.com**20110221153239 |
|---|
| 319 | Ignore-this: 9308a7c55346c9eaeaa0818903c8d67b |
|---|
| 320 | |
|---|
| 321 | If I had a pound for every hour Dimitrios and I have spent |
|---|
| 322 | making functional dependencies work right, we'd be rich! |
|---|
| 323 | |
|---|
| 324 | We had stupidly caused a 'wanted' to be rewritten by a 'derived', with |
|---|
| 325 | resulting abject failure. As well as fixing the bug, this patch |
|---|
| 326 | refactors some more, adds useful assert and comments. |
|---|
| 327 | ] |
|---|
| 328 | [New codegen: GC calling convention must use registers. |
|---|
| 329 | Edward Z. Yang <ezyang@mit.edu>**20110218011745 |
|---|
| 330 | Ignore-this: 13cdd38bb5cea0d244861f01f0004dee |
|---|
| 331 | |
|---|
| 332 | Previously, on register-deficient architectures like x86-32, |
|---|
| 333 | the new code generator would emit code for calls to stg_gc_l1, |
|---|
| 334 | stg_gc_d1 and stg_gc_f1 that pushed their single argument on |
|---|
| 335 | to the stack, while the functions themselves expected the |
|---|
| 336 | argument to live in L1, D1 and F1 (respectively). This was |
|---|
| 337 | because cmmCall with the GC calling convention allocated real |
|---|
| 338 | registers, not virtual registers. |
|---|
| 339 | |
|---|
| 340 | This patch modifies the code for assigning registers/stack slots |
|---|
| 341 | to use the right calling convention for GC and adds an assertion |
|---|
| 342 | to ensure it did it properly. |
|---|
| 343 | ] |
|---|
| 344 | [Added a VECTORISE pragma |
|---|
| 345 | Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20110220105032 |
|---|
| 346 | Ignore-this: e3ed0e7caa45418452858a5a5937264 |
|---|
| 347 | - Added a pragma {-# VECTORISE var = exp #-} that prevents |
|---|
| 348 | the vectoriser from vectorising the definition of 'var'. |
|---|
| 349 | Instead it uses the binding '$v_var = exp' to vectorise |
|---|
| 350 | 'var'. The vectoriser checks that the Core type of 'exp' |
|---|
| 351 | matches the vectorised Core type of 'var'. (It would be |
|---|
| 352 | quite complicated to perform that check in the type checker |
|---|
| 353 | as the vectorisation of a type needs the state of the VM |
|---|
| 354 | monad.) |
|---|
| 355 | - Added parts of a related VECTORISE SCALAR pragma |
|---|
| 356 | - Documented -ddump-vect |
|---|
| 357 | - Added -ddump-vt-trace |
|---|
| 358 | - Some clean up |
|---|
| 359 | ] |
|---|
| 360 | [Reenable object splitting on Darwin, now #4013 appears to be fixed |
|---|
| 361 | Ian Lynagh <igloo@earth.li>**20110219191409 |
|---|
| 362 | Ignore-this: e39e46beab8c8f2dc3369d5ec98610f2 |
|---|
| 363 | ] |
|---|
| 364 | [Clarify the "object splitting" variable names |
|---|
| 365 | Ian Lynagh <igloo@earth.li>**20110219161508] |
|---|
| 366 | [Fix #4867 (updated; corrects address calculation) |
|---|
| 367 | gwright@antiope.com**20110214150924 |
|---|
| 368 | Ignore-this: b68bcf1262f3507e1b9a7459139054bc |
|---|
| 369 | |
|---|
| 370 | This is a corrected fix for ticket #4867, "ghci displays negative floats |
|---|
| 371 | incorrectly". The previous patch sometimes gave incorrect offset to values |
|---|
| 372 | in the __const section of the __TEXT segment. The new patch arranges a zero |
|---|
| 373 | fixup for non-external, not-global offset table signed relocations. This |
|---|
| 374 | is apparently what is required, though documentation on this point is scarce. |
|---|
| 375 | |
|---|
| 376 | With this change Doubles are negated properly, because the sign bit mask |
|---|
| 377 | is loaded from the correct offset. This was tested both on HEAD and the 7.0 |
|---|
| 378 | branch. |
|---|
| 379 | |
|---|
| 380 | ] |
|---|
| 381 | [Scale columns in cost-centre-stack report to their contents |
|---|
| 382 | Max Bolingbroke <batterseapower@hotmail.com>**20110216161340 |
|---|
| 383 | Ignore-this: b7138527bb8c139ed554b9e6c9a9f37 |
|---|
| 384 | ] |
|---|
| 385 | [Change typechecker-trace output slightly |
|---|
| 386 | simonpj@microsoft.com**20110217175904 |
|---|
| 387 | Ignore-this: 4bf1c9dfa41c598765cd082a35bf193b |
|---|
| 388 | ] |
|---|
| 389 | [Comments only |
|---|
| 390 | simonpj@microsoft.com**20110217175840 |
|---|
| 391 | Ignore-this: b9ea9687b41bfc062137a3ad6fafa3a6 |
|---|
| 392 | ] |
|---|
| 393 | [Fix Trac #4966 |
|---|
| 394 | simonpj@microsoft.com**20110217141000 |
|---|
| 395 | Ignore-this: d4caaf910dfb86b1e469c5da3fe9cde2 |
|---|
| 396 | |
|---|
| 397 | This is just a program that exploits overlapping |
|---|
| 398 | instances in a delicate way. The fix makes GHC |
|---|
| 399 | a bit more friendly towards such programs. |
|---|
| 400 | |
|---|
| 401 | See Note [Overlap and deriving] in TcSimplify |
|---|
| 402 | ] |
|---|
| 403 | [Use "on the spot" solving for fundeps |
|---|
| 404 | simonpj@microsoft.com**20110217140921 |
|---|
| 405 | Ignore-this: 99290ef5538819053af708f5f9464488 |
|---|
| 406 | |
|---|
| 407 | When we spot an equality arising from a functional dependency, |
|---|
| 408 | we now use that equality (a "wanted") to rewrite the work-item |
|---|
| 409 | constraint right away. This avoids two dangers |
|---|
| 410 | |
|---|
| 411 | Danger 1: If we send the original constraint on down the pipeline |
|---|
| 412 | it may react with an instance declaration, and in delicate |
|---|
| 413 | situations (when a Given overlaps with an instance) that |
|---|
| 414 | may produce new insoluble goals: see Trac #4952 |
|---|
| 415 | |
|---|
| 416 | Danger 2: If we don't rewrite the constraint, it may re-react |
|---|
| 417 | with the same thing later, and produce the same equality |
|---|
| 418 | again --> termination worries. |
|---|
| 419 | |
|---|
| 420 | To achieve this required some refactoring of FunDeps.lhs (nicer |
|---|
| 421 | now!). |
|---|
| 422 | |
|---|
| 423 | This patch also contains a couple of unrelated improvements |
|---|
| 424 | |
|---|
| 425 | * A bad bug in TcSMonad.nestImplicTcS whereby the Tcs tyvars |
|---|
| 426 | of an outer implication were not untouchable inside |
|---|
| 427 | |
|---|
| 428 | * Improved logging machinery for the type constraint solver; |
|---|
| 429 | use -ddump-cs-trace (probably with a wider default line width |
|---|
| 430 | -dppr-cols=200 or something) |
|---|
| 431 | ] |
|---|
| 432 | [Increase exprIsDupable threshold a bit |
|---|
| 433 | simonpj@microsoft.com**20110215143921 |
|---|
| 434 | Ignore-this: cf5a73026aabaa9f2ca93d0d338a6f56 |
|---|
| 435 | |
|---|
| 436 | Now that exprIsDupable is less aggressive, test MethSharing wasn't |
|---|
| 437 | doing enough inlining. Increasing the threshold fixes the problem |
|---|
| 438 | but the real fix is in Trac #4960. |
|---|
| 439 | ] |
|---|
| 440 | [Ensure exprIsCheap/exprIsExpandable deal with Cast properly |
|---|
| 441 | simonpj@microsoft.com**20110215143655 |
|---|
| 442 | Ignore-this: 13bd5540b048de02737070bfa66f1a71 |
|---|
| 443 | |
|---|
| 444 | This bug was causing a Lint error on the stable branch. For some |
|---|
| 445 | reason it doesn't show up in HEAD, but it's still worth fixing. |
|---|
| 446 | |
|---|
| 447 | The point is that ((f `cast` co) a) is cheap if f has arity>1. |
|---|
| 448 | This was being gratuitously missed before. |
|---|
| 449 | ] |
|---|
| 450 | [Do not treat absentError specially |
|---|
| 451 | simonpj@microsoft.com**20110215143504 |
|---|
| 452 | Ignore-this: 3a8f6d6eae17b7360f58de86ec934cde |
|---|
| 453 | |
|---|
| 454 | (This was part of an experiment I abandoned.) |
|---|
| 455 | ] |
|---|
| 456 | [Fix exprIsDupable |
|---|
| 457 | simonpj@microsoft.com**20110214111512 |
|---|
| 458 | Ignore-this: 2b800410f8103590da167ae24e7b242d |
|---|
| 459 | |
|---|
| 460 | It turns out that exprIsDupable would return True for an expression of |
|---|
| 461 | *arbitrary* size, provide it was a nested bunch of applications in |
|---|
| 462 | which no function had more than three arguments. That was never the |
|---|
| 463 | intention, and could give rise to massive code duplication. |
|---|
| 464 | |
|---|
| 465 | This patch makes it much less aggressive. |
|---|
| 466 | ] |
|---|
| 467 | [Better case-of-case transformation |
|---|
| 468 | simonpj@microsoft.com**20110214111151 |
|---|
| 469 | Ignore-this: 32360d2c7703d772c7a5ad84b019bf87 |
|---|
| 470 | |
|---|
| 471 | The ThunkSplitting idea in WorkWrap wasn't working at all, |
|---|
| 472 | leading to Trac #4957. The culprit is really the simplifier |
|---|
| 473 | which was combining the wrong case continuations. See |
|---|
| 474 | Note [Fusing case continuations] in Simplify. |
|---|
| 475 | ] |
|---|
| 476 | [Cleaned up Expr and Vectorise |
|---|
| 477 | keller@.cse.unsw.edu.au**20110215014434 |
|---|
| 478 | Ignore-this: 11b78040a7d16dc6e5ce7950c73bf8a9 |
|---|
| 479 | ] |
|---|
| 480 | [Fixed two syntax errors |
|---|
| 481 | keller@.cse.unsw.edu.au**20110214020531 |
|---|
| 482 | Ignore-this: 1abeebe0171a4262ceacee89adc9246e |
|---|
| 483 | ] |
|---|
| 484 | [Handling of recursive scalar functions in isScalarLam |
|---|
| 485 | keller@cse.unsw.edu.au**20110214002945 |
|---|
| 486 | Ignore-this: db522152971fdcc9c74124d06ef785bd |
|---|
| 487 | ] |
|---|
| 488 | [Added handling of non-recursive module global functions to isScalar check |
|---|
| 489 | keller@cse.unsw.edu.au**20110209042855 |
|---|
| 490 | Ignore-this: feae370a9bcc30371ab62f3700471739 |
|---|
| 491 | ] |
|---|
| 492 | [ |
|---|
| 493 | keller@cse.unsw.edu.au**20110202051408 |
|---|
| 494 | Ignore-this: 7e0e1fcd40315da9abe80e2c2eda877f |
|---|
| 495 | ] |
|---|
| 496 | [Removed minor bug |
|---|
| 497 | keller@cse.unsw.edu.au**20110202040826 |
|---|
| 498 | Ignore-this: 1abdae6a0f39b2ebd002f2587b5d1f53 |
|---|
| 499 | ] |
|---|
| 500 | [added handling of data constructors to vectLam |
|---|
| 501 | keller@cse.unsw.edu.au**20110201042807 |
|---|
| 502 | Ignore-this: 511fba94f926bb3a1088b21e36cc1f8c |
|---|
| 503 | ] |
|---|
| 504 | [pruneSparkQueue: check for tagged pointers |
|---|
| 505 | Simon Marlow <marlowsd@gmail.com>**20110214123858 |
|---|
| 506 | Ignore-this: 719f77302b0dff3ba97b66a0d75b2482 |
|---|
| 507 | This was a bug in 6.12.3. I think the problem no longer occurs due to |
|---|
| 508 | the way sparks are treated as weak pointers, but it doesn't hurt to |
|---|
| 509 | test for tagged pointers anyway: better to do the test than have a |
|---|
| 510 | subtle invariant. |
|---|
| 511 | ] |
|---|
| 512 | [Fix Trac #4953: local let binders can have IdInfo with free names |
|---|
| 513 | simonpj@microsoft.com**20110214140334 |
|---|
| 514 | Ignore-this: c8e5dbc6f0270e45d9cf2edee34d0354 |
|---|
| 515 | |
|---|
| 516 | Local let binders in IfaceExpr never used to have unfoldings, |
|---|
| 517 | but lately they can (becuase they can have an INLINE pragma). |
|---|
| 518 | We must take account of the variables mentioned in the pragma |
|---|
| 519 | when computing the fingerprint. |
|---|
| 520 | ] |
|---|
| 521 | [Comments only |
|---|
| 522 | simonpj@microsoft.com**20110214090703 |
|---|
| 523 | Ignore-this: bf950e91e0c984186fea1100aa15d00c |
|---|
| 524 | ] |
|---|
| 525 | [LLVM: Huge improvement to mangler speed. |
|---|
| 526 | David Terei <davidterei@gmail.com>**20110213014406 |
|---|
| 527 | Ignore-this: 4eeaa572dfe956c990895154bd942bb2 |
|---|
| 528 | |
|---|
| 529 | The old llvm mangler was horrible! Very slow |
|---|
| 530 | due to bad design and code. New version is |
|---|
| 531 | linear complexity as it should be and far |
|---|
| 532 | lower coefficients. This fixes trac 4838. |
|---|
| 533 | ] |
|---|
| 534 | [Fix platform detection in bindists |
|---|
| 535 | Ian Lynagh <igloo@earth.li>**20110211184244 |
|---|
| 536 | In a bindist, we generate files like the hsc2hs wrapper. |
|---|
| 537 | This means we need to have the right values for the variables like |
|---|
| 538 | CONF_GCC_LINKER_OPTS_STAGE1 which in turn means we need to know what |
|---|
| 539 | platform we're on. |
|---|
| 540 | ] |
|---|
| 541 | [New plan: push unsolved wanteds inwards |
|---|
| 542 | simonpj@microsoft.com**20110211174058 |
|---|
| 543 | Ignore-this: ed40762e260dab75b5e51c696f9965fa |
|---|
| 544 | |
|---|
| 545 | This fixes Trac #4935. See Note [Preparing inert set for implications]. |
|---|
| 546 | Lots of comments, but not a lot of code is changed! |
|---|
| 547 | ] |
|---|
| 548 | [Remove unnecessary import, plus white space |
|---|
| 549 | simonpj@microsoft.com**20110211173925 |
|---|
| 550 | Ignore-this: 963f455c3c8aee49009b5d5a02f835ac |
|---|
| 551 | ] |
|---|
| 552 | [Fix small but egregious error: using un-zonked constraints in simplifyRule |
|---|
| 553 | simonpj@microsoft.com**20110211173835 |
|---|
| 554 | Ignore-this: 238586e420dbbb1be7f6368117cf6280 |
|---|
| 555 | |
|---|
| 556 | This resulted in double unifications. Fix is trivial. |
|---|
| 557 | ] |
|---|
| 558 | [makeSolvedByInst is only called on wanteds |
|---|
| 559 | simonpj@microsoft.com**20110211173415 |
|---|
| 560 | Ignore-this: 36e6201ab59a082e6dc38e56bea99e29 |
|---|
| 561 | |
|---|
| 562 | This patch just adds an assert error. |
|---|
| 563 | ] |
|---|
| 564 | [Enable DTrace on Solaris; based on a patch from Karel Gardas |
|---|
| 565 | Ian Lynagh <igloo@earth.li>**20110210155217 |
|---|
| 566 | Ignore-this: 93eaf0e06c721c80c175aaee9a113e6 |
|---|
| 567 | ] |
|---|
| 568 | [Use DTrace whenever it's available |
|---|
| 569 | Ian Lynagh <igloo@earth.li>**20110210153300 |
|---|
| 570 | Ignore-this: 111c72bf20d6eaafd3e488196a89b2c |
|---|
| 571 | Now that we've stopped trying to support 64bit OS X 10.5, the DTrace |
|---|
| 572 | problems there don't matter. |
|---|
| 573 | ] |
|---|
| 574 | [replace C++ comments with C comments (Solaris' DTrace fails on C++ comments) |
|---|
| 575 | Karel Gardas <karel.gardas@centrum.cz>**20110112051829 |
|---|
| 576 | Ignore-this: c229292227c7e2b512daf9129cb66aeb |
|---|
| 577 | ] |
|---|
| 578 | [Fix #4867, ghci displays negative floats incorrectly |
|---|
| 579 | gwright@antiope.com**20110209222423 |
|---|
| 580 | Ignore-this: 1b3279fa5f6c4849ed6311275b1a466a |
|---|
| 581 | |
|---|
| 582 | This patch fixes the erroneous relocations that caused |
|---|
| 583 | the bug in ticket #4867. External addresses and global |
|---|
| 584 | offset table entries were relocated correctly, but all other |
|---|
| 585 | relocations were incorrectly calculated. This caused, for |
|---|
| 586 | example, bad references to constants stored in the __const |
|---|
| 587 | section of the __TEXT segment. |
|---|
| 588 | |
|---|
| 589 | This bug only affected OS X on 64-bit platforms. |
|---|
| 590 | |
|---|
| 591 | ] |
|---|
| 592 | [Fix Array sizeof primops to use the correct offset (which happens to be 0, so it worked before anyway). Makes us more future-proof, at least |
|---|
| 593 | Daniel Peebles <pumpkingod@gmail.com>**20110201063017 |
|---|
| 594 | Ignore-this: 8e79c3f6f80c81b4160a31e80e4ed29d |
|---|
| 595 | ] |
|---|
| 596 | [Add sizeof(Mutable)Array# primitives |
|---|
| 597 | Daniel Peebles <pumpkingod@gmail.com>**20110126051554 |
|---|
| 598 | Ignore-this: ae17d94dbb86d6e1ffa0a489da842f78 |
|---|
| 599 | ] |
|---|
| 600 | [fix TRY_ACQUIRE_LOCK on Windows. |
|---|
| 601 | Simon Marlow <marlowsd@gmail.com>**20110210150035 |
|---|
| 602 | Ignore-this: b48713585b6d65020bb42f952c2c54ac |
|---|
| 603 | ] |
|---|
| 604 | [constant fold (a + N) - M and (a - N) + M |
|---|
| 605 | Simon Marlow <marlowsd@gmail.com>**20110210115608 |
|---|
| 606 | Ignore-this: 312c33d5ff7d4288be8ab0a5c6939c0c |
|---|
| 607 | ] |
|---|
| 608 | [Recursively call cmmMachOpFold on divides that we turned into shifts |
|---|
| 609 | Simon Marlow <marlowsd@gmail.com>**20110208104345 |
|---|
| 610 | Ignore-this: bca0db454127c5f2b64b81d6200fc000 |
|---|
| 611 | There might be more simplification to do. |
|---|
| 612 | ] |
|---|
| 613 | [Add unboxed tuple support to Template Haskell |
|---|
| 614 | Ian Lynagh <igloo@earth.li>**20110210134528 |
|---|
| 615 | Ignore-this: cf946570a9d16016debf8bccd21b2c79 |
|---|
| 616 | ] |
|---|
| 617 | [Allow TH brackets to contain things of any kind |
|---|
| 618 | Ian Lynagh <igloo@earth.li>**20110209184459 |
|---|
| 619 | Ignore-this: b23f53d201abc874cf1f15a4eddb3abb |
|---|
| 620 | You can now quasi-quote things with unboxed types, and unboxed tuples. |
|---|
| 621 | ] |
|---|
| 622 | [Simpify constraints from a TH bracket eagerly |
|---|
| 623 | simonpj@microsoft.com**20110209175003 |
|---|
| 624 | Ignore-this: b341ea3d235af1b2e617107f238ae1d6 |
|---|
| 625 | |
|---|
| 626 | See Trac #4949, where having a TH bracket implication |
|---|
| 627 | was messing things up. Better to get rid of it right away. |
|---|
| 628 | ] |
|---|
| 629 | [Typo in comment |
|---|
| 630 | simonpj@microsoft.com**20110209174914 |
|---|
| 631 | Ignore-this: 3590bf097a566c6f590a37cda2be9b4e |
|---|
| 632 | ] |
|---|
| 633 | [Call the final build system phase "final" rather than "" |
|---|
| 634 | Ian Lynagh <igloo@earth.li>**20110207142046 |
|---|
| 635 | Ignore-this: cc87cf202cff1f1d8b105268dacdd63f |
|---|
| 636 | ] |
|---|
| 637 | [Fix bug introduced in "Implement fuzzy matching for the Finder" |
|---|
| 638 | Simon Marlow <marlowsd@gmail.com>**20110208090121 |
|---|
| 639 | Ignore-this: 53e61080e7d7fb28f9187629fa20746a |
|---|
| 640 | The finder was reporting a hidden package when it meant a hidden |
|---|
| 641 | module, and vice versa (looks like a typo). |
|---|
| 642 | ] |
|---|
| 643 | [Fix Trac #4945: another SpecConstr infelicity |
|---|
| 644 | simonpj@microsoft.com**20110207102537 |
|---|
| 645 | Ignore-this: c3ffbb640cdbbab32758e6130ae803bc |
|---|
| 646 | |
|---|
| 647 | Well, more a plain bug really, which led to SpecConstr |
|---|
| 648 | missing some obvious opportunities for specialisation. |
|---|
| 649 | |
|---|
| 650 | Thanks to Max Bolingbroke for spotting this. |
|---|
| 651 | ] |
|---|
| 652 | [add missing initialisation of ws->todo_large_objects |
|---|
| 653 | Simon Marlow <marlowsd@gmail.com>**20110204093148 |
|---|
| 654 | Ignore-this: dc9a28f85aff97e0896d212d7b21ae30 |
|---|
| 655 | Found-by: Valgrind. Thanks Julian! |
|---|
| 656 | ] |
|---|
| 657 | [Add -XNondecreasingIndentation to -XHaskell98 for backwards compatibility. |
|---|
| 658 | Simon Marlow <marlowsd@gmail.com>**20110204084226 |
|---|
| 659 | Ignore-this: 42f7ef8bfbfb8d58f61afa217af3ffea |
|---|
| 660 | The final straw was when I learned today that Happy broke. |
|---|
| 661 | ] |
|---|
| 662 | [only the GHC repo is in git for now; add hoopl |
|---|
| 663 | Simon Marlow <marlowsd@gmail.com>**20110203205705 |
|---|
| 664 | Ignore-this: 1cf90e7e5b83aabef74ec5e24496464c |
|---|
| 665 | ] |
|---|
| 666 | [Fix typo in SpecConstr that made it not work at all |
|---|
| 667 | simonpj@microsoft.com**20110203172756 |
|---|
| 668 | Ignore-this: b550d5c5b73ed13709ee2938c80a750f |
|---|
| 669 | |
|---|
| 670 | There was a terrible typo in this patch; I wrote "env" |
|---|
| 671 | instead of "env1". |
|---|
| 672 | |
|---|
| 673 | Mon Jan 31 11:35:29 GMT 2011 simonpj@microsoft.com |
|---|
| 674 | * Improve Simplifier and SpecConstr behaviour |
|---|
| 675 | |
|---|
| 676 | Anyway, this fix is essential to make it work properly. |
|---|
| 677 | Thanks to Max for spotting the problem (again). |
|---|
| 678 | ] |
|---|
| 679 | [fix compacting GC |
|---|
| 680 | Simon Marlow <marlowsd@gmail.com>**20110202170036 |
|---|
| 681 | Ignore-this: e78c99b318586a7fccc2a8e36d9fbf88 |
|---|
| 682 | ] |
|---|
| 683 | [fix warning |
|---|
| 684 | Simon Marlow <marlowsd@gmail.com>**20110202160415 |
|---|
| 685 | Ignore-this: 99f65d20b38cce971b0eda6c53eab8d3 |
|---|
| 686 | ] |
|---|
| 687 | [GC refactoring and cleanup |
|---|
| 688 | Simon Marlow <marlowsd@gmail.com>**20110202154955 |
|---|
| 689 | Ignore-this: 96b5b5ec97d49e69617d0007ee7fe804 |
|---|
| 690 | Now we keep any partially-full blocks in the gc_thread[] structs after |
|---|
| 691 | each GC, rather than moving them to the generation. This should give |
|---|
| 692 | us slightly better locality (though I wasn't able to measure any |
|---|
| 693 | difference). |
|---|
| 694 | |
|---|
| 695 | Also in this patch: better sanity checking with THREADED. |
|---|
| 696 | ] |
|---|
| 697 | [avoid adding HPC ticks to arrow constructs (fixes #1333) |
|---|
| 698 | Ross Paterson <ross@soi.city.ac.uk>**20110202211425 |
|---|
| 699 | Ignore-this: 2938850ebbb53d1bc6bf0399f68dd8e5 |
|---|
| 700 | ] |
|---|
| 701 | [Fix the profiling build |
|---|
| 702 | Simon Marlow <marlowsd@gmail.com>**20110202132257 |
|---|
| 703 | Ignore-this: cdf6de609c7eee47bd6c9e957276f12b |
|---|
| 704 | ] |
|---|
| 705 | [A small GC optimisation |
|---|
| 706 | Simon Marlow <marlowsd@gmail.com>**20110202123049 |
|---|
| 707 | Ignore-this: 4119e33b0f40787fd9339ad1104b3b9e |
|---|
| 708 | Store the *number* of the destination generation in the Bdescr struct, |
|---|
| 709 | so that in evacuate() we don't have to deref gen to get it. |
|---|
| 710 | This is another improvement ported over from my GC branch. |
|---|
| 711 | ] |
|---|
| 712 | [scheduleProcessInbox: use non-blocking acquire, and take the whole queue |
|---|
| 713 | Simon Marlow <marlowsd@gmail.com>**20110202114907 |
|---|
| 714 | Ignore-this: 12020d2751d355d1c006697351223d99 |
|---|
| 715 | This is an improvement from my GC branch, that helps performance for |
|---|
| 716 | intensive message-passing communication between Capabilities. |
|---|
| 717 | ] |
|---|
| 718 | [do a bit of by-hand CSE |
|---|
| 719 | Simon Marlow <marlowsd@gmail.com>**20110202114417 |
|---|
| 720 | Ignore-this: c0c90cd767c74f3eee8b7f8cbc08dfa0 |
|---|
| 721 | ] |
|---|
| 722 | [add a const |
|---|
| 723 | Simon Marlow <marlowsd@gmail.com>**20110202114345 |
|---|
| 724 | Ignore-this: d12300d69c91d7187aa1dd83a4a13ff9 |
|---|
| 725 | ] |
|---|
| 726 | [add TRY_ACQUIRE_LOCK() |
|---|
| 727 | Simon Marlow <marlowsd@gmail.com>**20110202113242 |
|---|
| 728 | Ignore-this: face9da80ce407b9013d5f73bb65c34d |
|---|
| 729 | ] |
|---|
| 730 | [Remove the per-generation mutable lists |
|---|
| 731 | Simon Marlow <marlowsd@gmail.com>**20110202112646 |
|---|
| 732 | Ignore-this: 3e0cacbc8c8b6ddf7005d25b593d3357 |
|---|
| 733 | Now that we use the per-capability mutable lists exclusively. |
|---|
| 734 | ] |
|---|
| 735 | [+RTS -qw hasn't done anything since 7.0.1; remove the implementation & docs |
|---|
| 736 | Simon Marlow <marlowsd@gmail.com>**20110201163727 |
|---|
| 737 | Ignore-this: e6c6ba6b8a119d87efcd79310b4fb5d2 |
|---|
| 738 | It is still (silently) accepted for backwards compatibility. |
|---|
| 739 | ] |
|---|
| 740 | [comments |
|---|
| 741 | Simon Marlow <marlowsd@gmail.com>**20110201085830 |
|---|
| 742 | Ignore-this: 5a70e58a48aa60e5ed7afc6e908d150a |
|---|
| 743 | ] |
|---|
| 744 | [Annotate thread stop events with the owner of the black hole |
|---|
| 745 | Simon Marlow <marlowsd@gmail.com>**20110127164226 |
|---|
| 746 | Ignore-this: a60cbe5cc50da911d58020775c513ed0 |
|---|
| 747 | |
|---|
| 748 | So we can now get these in ThreadScope: |
|---|
| 749 | |
|---|
| 750 | 19487000: cap 1: stopping thread 6 (blocked on black hole owned by thread 4) |
|---|
| 751 | |
|---|
| 752 | Note: needs an update to ghc-events. Older ThreadScopes will just |
|---|
| 753 | ignore the new information. |
|---|
| 754 | ] |
|---|
| 755 | [update debugging code for fragmentation |
|---|
| 756 | Simon Marlow <marlowsd@gmail.com>**20110125111011 |
|---|
| 757 | Ignore-this: a98cd31d2e48ae9bdc52f9d96424ce39 |
|---|
| 758 | ] |
|---|
| 759 | [Fix type checker error message |
|---|
| 760 | simonpj@microsoft.com**20110201122920 |
|---|
| 761 | Ignore-this: 7369cc5f8dae3d81621f580a8ddaf41e |
|---|
| 762 | |
|---|
| 763 | See Trac #4940. We had a message |
|---|
| 764 | The lambda expression `\ x -> x' has one argument one argument, |
|---|
| 765 | repeating the "one argument" part. Easy fix. |
|---|
| 766 | ] |
|---|
| 767 | [Some refactoring of SpecConstr |
|---|
| 768 | simonpj@microsoft.com**20110201122841 |
|---|
| 769 | Ignore-this: c2966091564a9ca4ceb27a9596d36b7d |
|---|
| 770 | |
|---|
| 771 | This was originally to improve the case when SpecConstr generated a |
|---|
| 772 | function with an unused argument (see Trac #4941), but I ended up |
|---|
| 773 | giving up on that. But the refactoring is still an improvement. |
|---|
| 774 | |
|---|
| 775 | In particular I got rid of BothOcc, which was unused. |
|---|
| 776 | ] |
|---|
| 777 | [Don't make join points when the case has only one non-bottom alternative |
|---|
| 778 | simonpj@microsoft.com**20110201122637 |
|---|
| 779 | Ignore-this: 333b9b62debbfc1338530ef4e710ccbb |
|---|
| 780 | |
|---|
| 781 | This fixes Trac #4930. See Note [Bottom alternatives] in Simplify.lhs |
|---|
| 782 | ] |
|---|
| 783 | [Improve Simplifier and SpecConstr behaviour |
|---|
| 784 | simonpj@microsoft.com**20110131113529 |
|---|
| 785 | Ignore-this: e5b96c97cee0950e558ddf15178bb6c9 |
|---|
| 786 | |
|---|
| 787 | Trac #4908 identified a case where SpecConstr wasn't "seeing" a |
|---|
| 788 | specialisation it should easily get. The solution was simple: see |
|---|
| 789 | Note [Add scrutinee to ValueEnv too] in SpecConstr. |
|---|
| 790 | |
|---|
| 791 | Then it turned out that there was an exactly analogous infelicity in |
|---|
| 792 | the mighty Simplifer too; see Note [Add unfolding for scrutinee] in |
|---|
| 793 | Simplify. This fix is good for Simplify even in the absence of the |
|---|
| 794 | SpecConstr change. (It arose when I moved the binder- swap stuff to |
|---|
| 795 | OccAnall, not realising that it *remains* valuable to record info |
|---|
| 796 | about the scrutinee of a case expression. The Note says why. |
|---|
| 797 | |
|---|
| 798 | Together these two changes are unconditionally good. Better |
|---|
| 799 | simplification, better specialisation. Thank you Max. |
|---|
| 800 | ] |
|---|
| 801 | [fix warning |
|---|
| 802 | Simon Marlow <marlowsd@gmail.com>**20110131135951 |
|---|
| 803 | Ignore-this: e893d9bfbabf1601133a1e09c50b908 |
|---|
| 804 | ] |
|---|
| 805 | [32-bit fix |
|---|
| 806 | Simon Marlow <marlowsd@gmail.com>**20101013154200 |
|---|
| 807 | Ignore-this: 7508977c263ed2cec321b40a8b5772a |
|---|
| 808 | ] |
|---|
| 809 | [update to mingw gcc 4.5.2 |
|---|
| 810 | Simon Marlow <marlowsd@gmail.com>**20110119135053 |
|---|
| 811 | Ignore-this: b9d5cb736a48a0adc5e35eb8a0c191cd |
|---|
| 812 | ] |
|---|
| 813 | [count fizzled and GC'd sparks separately |
|---|
| 814 | Simon Marlow <marlowsd@gmail.com>**20101111132727 |
|---|
| 815 | Ignore-this: 4cb4b759aed06659b46cdf76e791e5c9 |
|---|
| 816 | ] |
|---|
| 817 | [count "dud" sparks (expressions that were already evaluated when sparked) |
|---|
| 818 | Simon Marlow <marlowsd@gmail.com>**20101101124143 |
|---|
| 819 | Ignore-this: ca94824c0e75da0b3688300e7285c7e6 |
|---|
| 820 | ] |
|---|
| 821 | [fix some shutdown memory leaks |
|---|
| 822 | Simon Marlow <marlowsd@gmail.com>**20100820093133 |
|---|
| 823 | Ignore-this: 3e7b80b5f4846d6c56319c150895953d |
|---|
| 824 | ] |
|---|
| 825 | [fix DEBUG build |
|---|
| 826 | Simon Marlow <marlowsd@gmail.com>**20110131123433 |
|---|
| 827 | Ignore-this: f2e009eaa66a14a7c8ec6acc7a4bbdb1 |
|---|
| 828 | ] |
|---|
| 829 | [Fix formatting glitch in documentation |
|---|
| 830 | simonpj@microsoft.com**20110128115400 |
|---|
| 831 | Ignore-this: 6c410ed19956feac7e0cf68bb40b40b1 |
|---|
| 832 | ] |
|---|
| 833 | [Fix warnings |
|---|
| 834 | Simon Marlow <marlowsd@gmail.com>**20110128103639 |
|---|
| 835 | Ignore-this: aa7f2c9f9b91f9dabc7b5d5ea26121fd |
|---|
| 836 | ] |
|---|
| 837 | [Merge in new code generator branch. |
|---|
| 838 | Simon Marlow <marlowsd@gmail.com>**20110124121650 |
|---|
| 839 | Ignore-this: 7762f21082cb84ec94daaeefd70f5ef2 |
|---|
| 840 | This changes the new code generator to make use of the Hoopl package |
|---|
| 841 | for dataflow analysis. Hoopl is a new boot package, and is maintained |
|---|
| 842 | in a separate upstream git repository (as usual, GHC has its own |
|---|
| 843 | lagging darcs mirror in http://darcs.haskell.org/packages/hoopl). |
|---|
| 844 | |
|---|
| 845 | During this merge I squashed recent history into one patch. I tried |
|---|
| 846 | to rebase, but the history had some internal conflicts of its own |
|---|
| 847 | which made rebase extremely confusing, so I gave up. The history I |
|---|
| 848 | squashed was: |
|---|
| 849 | |
|---|
| 850 | - Update new codegen to work with latest Hoopl |
|---|
| 851 | - Add some notes on new code gen to cmm-notes |
|---|
| 852 | - Enable Hoopl lag package. |
|---|
| 853 | - Add SPJ note to cmm-notes |
|---|
| 854 | - Improve GC calls on new code generator. |
|---|
| 855 | |
|---|
| 856 | Work in this branch was done by: |
|---|
| 857 | - Milan Straka <fox@ucw.cz> |
|---|
| 858 | - John Dias <dias@cs.tufts.edu> |
|---|
| 859 | - David Terei <davidterei@gmail.com> |
|---|
| 860 | |
|---|
| 861 | Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD |
|---|
| 862 | and fixed a few bugs. |
|---|
| 863 | ] |
|---|
| 864 | [Fix an egregious strictness analyser bug (Trac #4924) |
|---|
| 865 | simonpj@microsoft.com**20110128080748 |
|---|
| 866 | Ignore-this: 3bf533c3d30b45a8e78b1fec3d9634f |
|---|
| 867 | |
|---|
| 868 | The "virgin" flag was being threaded rather than treated |
|---|
| 869 | like an environment. As a result, the second and subsequent |
|---|
| 870 | recursive definitions in a module were not getting a |
|---|
| 871 | correctly-initialised fixpoint loop, causing much worse |
|---|
| 872 | strictness analysis results. Indeed the symptoms in |
|---|
| 873 | Trac #4924 were quite bizarre. |
|---|
| 874 | |
|---|
| 875 | Anyway, it's easily fixed. Merge to stable branch. |
|---|
| 876 | ] |
|---|
| 877 | [Refine incomplete-pattern checks (Trac #4905) |
|---|
| 878 | simonpj@microsoft.com**20110127131304 |
|---|
| 879 | Ignore-this: cf2e0852f20d1cadc6a2cba4272838f6 |
|---|
| 880 | |
|---|
| 881 | The changes are: |
|---|
| 882 | |
|---|
| 883 | * New flag -fwarn-incomplete-uni-patterns, which checks for |
|---|
| 884 | incomplete patterns in (a) lambdas, (b) pattern bindings |
|---|
| 885 | |
|---|
| 886 | * New flag is not implied by -W or -Wall (too noisy; and many |
|---|
| 887 | libraries use incomplete pattern bindings) |
|---|
| 888 | |
|---|
| 889 | * Actually do the incomplete-pattern check for pattern bindings |
|---|
| 890 | (previously simply omitted) |
|---|
| 891 | |
|---|
| 892 | * Documentation for new flag |
|---|
| 893 | ] |
|---|
| 894 | [Fix "make 1" etc following the build system changes |
|---|
| 895 | Ian Lynagh <igloo@earth.li>**20110127001739 |
|---|
| 896 | Ignore-this: 7ae0a41f2753d7740569f362a97ea5fb |
|---|
| 897 | The logic is now in mk/compiler-ghc.mk rather than being duplicated in |
|---|
| 898 | ghc/Makefile and compiler/Makefile. |
|---|
| 899 | ] |
|---|
| 900 | [Fix vectorisation of recursive types |
|---|
| 901 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20110126231843 |
|---|
| 902 | Ignore-this: 983fc42a659be2e085da9b16f994aa2e |
|---|
| 903 | ] |
|---|
| 904 | [Fix dependencies among specialisations for imported Ids |
|---|
| 905 | simonpj@microsoft.com**20110126172112 |
|---|
| 906 | Ignore-this: 364e09c11affe7bfe8f1b934ea28bbb6 |
|---|
| 907 | |
|---|
| 908 | This was a subtle one (Trac #4903). See |
|---|
| 909 | Note [Glom the bindings if imported functions are specialised] |
|---|
| 910 | in Speclialise. |
|---|
| 911 | |
|---|
| 912 | Fundamentally, a specialised binding for an imported Id was being |
|---|
| 913 | declared non-recursive, whereas in fact it can become recursive |
|---|
| 914 | via a RULE. Once it's specified non-recurive the OccAnal pass |
|---|
| 915 | treats that as gospel -- and that in turn led to infinite inlining. |
|---|
| 916 | |
|---|
| 917 | Easily fixed by glomming all the specialised bindings in a Rec; |
|---|
| 918 | now the OccAnal will sort them out correctly. |
|---|
| 919 | ] |
|---|
| 920 | [Fix bug in roughTopNames |
|---|
| 921 | simonpj@microsoft.com**20110126171803 |
|---|
| 922 | Ignore-this: eca8b144162f1bd94e2ccb433bca1e02 |
|---|
| 923 | |
|---|
| 924 | roughTopNames was returning a name that in fact might be |
|---|
| 925 | "looked though" by the rule matcher. Result: a rule |
|---|
| 926 | that should match was being pre-emptively discarded. |
|---|
| 927 | |
|---|
| 928 | See Note [Care with roughTopName]. |
|---|
| 929 | |
|---|
| 930 | Fixes a bug noticed by Pedro (Trac #4918). |
|---|
| 931 | ] |
|---|
| 932 | [Comments only, plus a tiny bit of debug printing |
|---|
| 933 | simonpj@microsoft.com**20110126171255 |
|---|
| 934 | Ignore-this: f84364b2b90fc860e9289dd40d0395ac |
|---|
| 935 | ] |
|---|
| 936 | [Comments only |
|---|
| 937 | simonpj@microsoft.com**20110126171235 |
|---|
| 938 | Ignore-this: 79059977f82aaac7f9714ad09e820ea9 |
|---|
| 939 | ] |
|---|
| 940 | [Look through type synonyms when computing orphans |
|---|
| 941 | simonpj@microsoft.com**20110126171229 |
|---|
| 942 | Ignore-this: 6dfc45dae3a94cdb0022b2d21d6e09f6 |
|---|
| 943 | |
|---|
| 944 | I renamed functions tyClsNamesOfTypes to oprhNamesOfType, |
|---|
| 945 | because it's only used in that capacity, and we therefore |
|---|
| 946 | want to look through type synonyms. Similarly exprOrphNames. |
|---|
| 947 | |
|---|
| 948 | This fixes Trac #4912. |
|---|
| 949 | ] |
|---|
| 950 | [Bleat a bit more informatively in unionLists |
|---|
| 951 | simonpj@microsoft.com**20110126171030 |
|---|
| 952 | Ignore-this: 80b276aa3d7971c6d7802b5f6b522d2e |
|---|
| 953 | ] |
|---|
| 954 | [Keep separate linker flags, for when we want to link with gcc or ld |
|---|
| 955 | Ian Lynagh <igloo@earth.li>**20110124233121] |
|---|
| 956 | [Fix validate on OS X 64 |
|---|
| 957 | Ian Lynagh <igloo@earth.li>**20110124183618] |
|---|
| 958 | [Split main/GHC into GHC and GhcMake |
|---|
| 959 | simonpj@microsoft.com**20110125161632 |
|---|
| 960 | Ignore-this: 502ea034de77ecd81173161836d78287 |
|---|
| 961 | |
|---|
| 962 | There are two things going on in main/GHC.hs. |
|---|
| 963 | * It's the root module of the GHC package |
|---|
| 964 | * It contains lots of stuff for --make |
|---|
| 965 | It is also gigantic (2.7k lines) |
|---|
| 966 | |
|---|
| 967 | This patch splits it into two |
|---|
| 968 | * GHC.hs is the root module for the GHC package |
|---|
| 969 | (1.3k lines) |
|---|
| 970 | * GhcMake.hs contains the stuff for --make |
|---|
| 971 | (1.4k lines) |
|---|
| 972 | |
|---|
| 973 | Happily the functional split divided it almost |
|---|
| 974 | exactly in half. |
|---|
| 975 | |
|---|
| 976 | This is a pure refactoring. There should be no |
|---|
| 977 | behavioural change. |
|---|
| 978 | ] |
|---|
| 979 | [Comments only |
|---|
| 980 | simonpj@microsoft.com**20110125131115 |
|---|
| 981 | Ignore-this: 7ec4e97a481d06894de940aba59c575d |
|---|
| 982 | ] |
|---|
| 983 | [Fix Trac #3717 by making exprOkForSpeculation a bit cleverer |
|---|
| 984 | simonpj@microsoft.com**20110125110525 |
|---|
| 985 | Ignore-this: 13b606b05da69c29bf53aaf408fd602 |
|---|
| 986 | |
|---|
| 987 | The main change here is to do with dropping redundant seqs. |
|---|
| 988 | See Note [exprOkForSpeculation: case expressions] in CoreUtils. |
|---|
| 989 | ] |
|---|
| 990 | [Improve dataToTag# magic |
|---|
| 991 | simonpj@microsoft.com**20110125110418 |
|---|
| 992 | Ignore-this: 11fdb265e030dec4d5b13ed6b16c9761 |
|---|
| 993 | |
|---|
| 994 | dataToTag# is a bit unsatisfactory because it requires |
|---|
| 995 | its argument to be evaluated, and we don't have a good |
|---|
| 996 | way to enforce that. This patch adds some comments, and |
|---|
| 997 | makes exprOkForSpeculation a bit less picky in the case |
|---|
| 998 | of dataToTag# (since the argument may, in fact, not be |
|---|
| 999 | eval'd). |
|---|
| 1000 | ] |
|---|
| 1001 | [Fix Trac #4917: try a bit harder to unify on-the-fly |
|---|
| 1002 | simonpj@microsoft.com**20110125110112 |
|---|
| 1003 | Ignore-this: e96e0a19ab8517d4ba648efe91f6b379 |
|---|
| 1004 | |
|---|
| 1005 | This is generally a modest improvement but, more important, |
|---|
| 1006 | it fixes a "unify-under-forall" problem. See Note [Avoid deferring]. |
|---|
| 1007 | |
|---|
| 1008 | There's still a lurking unsatisfactory-ness in that we can't |
|---|
| 1009 | defer arbitrary constraints that are trapped under a forall. |
|---|
| 1010 | ] |
|---|
| 1011 | [DPH options updated |
|---|
| 1012 | Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20110124043617 |
|---|
| 1013 | Ignore-this: 6b7d2949b75f9c923f279c1178d2d042 |
|---|
| 1014 | - '-Odph' is now '-O2 -fsimplifier-phases=3 -fsimplifier-iterations=20' |
|---|
| 1015 | - The new option '-fdph-none' is the default; it indicates that no DPH |
|---|
| 1016 | backend is selected and is the only valid option if the DPH libraries |
|---|
| 1017 | are not installed. If vectorisation is attempted with -fdph-none a |
|---|
| 1018 | suitable error message is generated. |
|---|
| 1019 | - Hence, '-fdph-par' (or '-fdph-seq') needs to be explicitly selected |
|---|
| 1020 | when using vectorisation and when linking vectorised code. (There |
|---|
| 1021 | seems to be no elegant way to avoid that.) |
|---|
| 1022 | ] |
|---|
| 1023 | [Add build system profiling to build system |
|---|
| 1024 | Ian Lynagh <igloo@earth.li>**20110123151408 |
|---|
| 1025 | Ignore-this: 75717810be32d60323980f9fd1baa853 |
|---|
| 1026 | ] |
|---|
| 1027 | [Fix ghci in stage3 |
|---|
| 1028 | Ian Lynagh <igloo@earth.li>**20110123120232] |
|---|
| 1029 | [Remove use of non-existent $$(dir) variable in the rts ghc.mk |
|---|
| 1030 | Ian Lynagh <igloo@earth.li>**20110123021815] |
|---|
| 1031 | [Add some missing dependencies |
|---|
| 1032 | Ian Lynagh <igloo@earth.li>**20110123004208] |
|---|
| 1033 | [Tweak some deps to avoid multiple $(wildcard ...)s |
|---|
| 1034 | Ian Lynagh <igloo@earth.li>**20110123001045 |
|---|
| 1035 | Ignore-this: 38e53cb6f6b4f27c771ae0ed341f8958 |
|---|
| 1036 | Note that some things depending on the rts/includes header files now |
|---|
| 1037 | depend on more files: They used to include depend on includes/*.h, but |
|---|
| 1038 | now they also depend on header files in subdirectories. As far as I can |
|---|
| 1039 | see this was a bug. |
|---|
| 1040 | ] |
|---|
| 1041 | [Use := when assigning the result of $(wildcard ...) |
|---|
| 1042 | Ian Lynagh <igloo@earth.li>**20110122224532 |
|---|
| 1043 | Ignore-this: 67e2ca2ffbcffb5b7f55bd60c17fc6cf |
|---|
| 1044 | Avoids repeated evaluations of things that need system calls etc |
|---|
| 1045 | ] |
|---|
| 1046 | [Simplify the build system, and remove 2 phases |
|---|
| 1047 | Ian Lynagh <igloo@earth.li>**20110122190928 |
|---|
| 1048 | Ignore-this: 7b6184088befcbc44ea47b2f4abf85a9 |
|---|
| 1049 | From |
|---|
| 1050 | http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering |
|---|
| 1051 | |
|---|
| 1052 | Phase 0: |
|---|
| 1053 | Includes: package-data.mk files for things built by the |
|---|
| 1054 | bootstrapping compiler. |
|---|
| 1055 | Builds: the dependency files for hsc2hs and genprimopcode. We need |
|---|
| 1056 | to do this now, as hsc2hs needs to be buildable in phase 1's |
|---|
| 1057 | includes (so that we can make the hpc library's .hs source |
|---|
| 1058 | files, which in turn is necessary for making its dependency |
|---|
| 1059 | files), and genprimopcode needs to be buildable in phase 1's |
|---|
| 1060 | includes (so that we can make the primop-*.hs-incl files, |
|---|
| 1061 | which are sources for the stage1 compiler library, and thus |
|---|
| 1062 | necessary for making its dependency files). |
|---|
| 1063 | Phase 1: |
|---|
| 1064 | Includes: dependency files for things built by the bootstrapping |
|---|
| 1065 | compiler. |
|---|
| 1066 | Builds: package-data.mk files for everything else. Note that this |
|---|
| 1067 | requires configuring the packages, which means telling cabal |
|---|
| 1068 | which ghc to use, and thus the stage1 compiler gets built |
|---|
| 1069 | during this phase. |
|---|
| 1070 | Phase "": |
|---|
| 1071 | Includes: dependency files for everything else. |
|---|
| 1072 | Builds: Everything else. |
|---|
| 1073 | ] |
|---|
| 1074 | [Manually control more of the Cabal flags for the compiler and ghc packages |
|---|
| 1075 | Ian Lynagh <igloo@earth.li>**20110121230552 |
|---|
| 1076 | Ignore-this: 652b5f6327d246d7e2e47acbca614df2 |
|---|
| 1077 | For some reason the Windows HEAD builder has started thinking the ghci |
|---|
| 1078 | flag should be on in stage 1. This should fix it, and generally make |
|---|
| 1079 | things a little more resilient. |
|---|
| 1080 | ] |
|---|
| 1081 | [Remove some hardcoded makefile settings |
|---|
| 1082 | Ian Lynagh <igloo@earth.li>**20110121230245 |
|---|
| 1083 | Ignore-this: 6b1b68aebdfbe02c15518985d2ea7559 |
|---|
| 1084 | Now that we used cabal to configure the ghc-bin package they are no |
|---|
| 1085 | longer needed. |
|---|
| 1086 | ] |
|---|
| 1087 | [tweak newArray# documentation again |
|---|
| 1088 | Simon Marlow <marlowsd@gmail.com>**20110119140633 |
|---|
| 1089 | Ignore-this: ceee33428dbad7e0f5eabfa0a2590466 |
|---|
| 1090 | ] |
|---|
| 1091 | [Fix OSTYPE test |
|---|
| 1092 | Ian Lynagh <igloo@earth.li>**20110120000308 |
|---|
| 1093 | Ignore-this: 8fa5d5c03297cb507a166bd85675145c |
|---|
| 1094 | ] |
|---|
| 1095 | [Comments only |
|---|
| 1096 | simonpj@microsoft.com**20110119222247 |
|---|
| 1097 | Ignore-this: ea531428e9093ecedb895735ed537791 |
|---|
| 1098 | ] |
|---|
| 1099 | [Add OSTYPE build-system variable, and use it |
|---|
| 1100 | simonpj@microsoft.com**20110113155023 |
|---|
| 1101 | Ignore-this: c4a75f0bb27a680924e57ca7075ec116 |
|---|
| 1102 | |
|---|
| 1103 | The use is in install.mk.in, where we need to know when |
|---|
| 1104 | we're on Cygwin. |
|---|
| 1105 | |
|---|
| 1106 | This fixes the build on my Windows box, where I have |
|---|
| 1107 | both Msys and Cygwin. |
|---|
| 1108 | ] |
|---|
| 1109 | [Remove an extraneous comma that stopped ghc-cabal from building |
|---|
| 1110 | Ian Lynagh <igloo@earth.li>**20110119222359] |
|---|
| 1111 | [Move some make variables around |
|---|
| 1112 | Ian Lynagh <igloo@earth.li>**20110119221545 |
|---|
| 1113 | Ignore-this: c57c93f39d72c3baef7c5f466861dd5b |
|---|
| 1114 | ] |
|---|
| 1115 | [Remove a debugging 'info' |
|---|
| 1116 | Ian Lynagh <igloo@earth.li>**20110119203305 |
|---|
| 1117 | Ignore-this: ea912ba205eaae1d2bcf0cce7c13628d |
|---|
| 1118 | ] |
|---|
| 1119 | [Move the PACKAGE_MAGIC evaluation inside package-data.mk |
|---|
| 1120 | Ian Lynagh <igloo@earth.li>**20110119203229 |
|---|
| 1121 | Ignore-this: 497c4e83ae75089c24d6c794c4e2891f |
|---|
| 1122 | ] |
|---|
| 1123 | [Fix libraries/index.html's haddock dependency on Windows |
|---|
| 1124 | Ian Lynagh <igloo@earth.li>**20110119172310] |
|---|
| 1125 | [Add configure phases for the stage 3 compiler |
|---|
| 1126 | Ian Lynagh <igloo@earth.li>**20110119130629] |
|---|
| 1127 | [Include kfreebsdgnu in the list of Target Platforms. |
|---|
| 1128 | Marco Silva <marcot@marcot.eti.br>**20110118222352 |
|---|
| 1129 | Ignore-this: 759482baf33903b98cd837636a3f5328 |
|---|
| 1130 | ] |
|---|
| 1131 | [Fix documentation bug: newArray# accepts word count, not byte count. |
|---|
| 1132 | Edward Z. Yang <ezyang@mit.edu>**20110118221834 |
|---|
| 1133 | Ignore-this: 8daab134bf72a740b89d273fb4e983d5 |
|---|
| 1134 | ] |
|---|
| 1135 | [Update the location of libffi.dll.a |
|---|
| 1136 | Ian Lynagh <igloo@earth.li>**20110118164225 |
|---|
| 1137 | As far as I can see this has been wrong for some time, but only bit |
|---|
| 1138 | recently. |
|---|
| 1139 | ] |
|---|
| 1140 | [Update the generics docs; pointed out by Christian Maeder |
|---|
| 1141 | Ian Lynagh <igloo@earth.li>**20110117214632] |
|---|
| 1142 | [ghc-cabal now adds the language flag being used |
|---|
| 1143 | Ian Lynagh <igloo@earth.li>**20110117184833 |
|---|
| 1144 | Ignore-this: 8198892ef7f8009561d3181425cde942 |
|---|
| 1145 | This means we get -XHaskell98 added to the list of flags, just like we |
|---|
| 1146 | would if we were building with Cabal. |
|---|
| 1147 | ] |
|---|
| 1148 | [Reinstate the OS X flags in the LDFLAGS etc variables |
|---|
| 1149 | Ian Lynagh <igloo@earth.li>**20110117200540 |
|---|
| 1150 | Ignore-this: 9261baa1843100f65b02fb91c1a0d225 |
|---|
| 1151 | I expect this will fix: |
|---|
| 1152 | http://www.haskell.org/pipermail/cvs-ghc/2011-January/059098.html |
|---|
| 1153 | ] |
|---|
| 1154 | [Add NondecreasingIndentation extension to ghc-bin |
|---|
| 1155 | Ian Lynagh <igloo@earth.li>**20110117200427 |
|---|
| 1156 | Ignore-this: b6b029ee6dfbda482c91d17e835f9000 |
|---|
| 1157 | ] |
|---|
| 1158 | [Change an "if ... else return ()" into a "when" |
|---|
| 1159 | Ian Lynagh <igloo@earth.li>**20110117191714 |
|---|
| 1160 | Ignore-this: 7de58b728e4fce7f86d7d24a3089e6c7 |
|---|
| 1161 | ] |
|---|
| 1162 | [Add NondecreasingIndentation to the list of extensions in ghc-pkg |
|---|
| 1163 | Ian Lynagh <igloo@earth.li>**20110117190610 |
|---|
| 1164 | Ignore-this: 20ce8144b7b64d1f67de2f6983717da3 |
|---|
| 1165 | ] |
|---|
| 1166 | [Add NondecreasingIndentation to the list of extensions in the ghc package |
|---|
| 1167 | Ian Lynagh <igloo@earth.li>**20110117190404 |
|---|
| 1168 | Ignore-this: 516b45e93c1b3bbb66da5414d9aabef1 |
|---|
| 1169 | ] |
|---|
| 1170 | [Fix deps on the ghc package |
|---|
| 1171 | Ian Lynagh <igloo@earth.li>**20110117173010 |
|---|
| 1172 | The standard libraries/$depname scheme doesn't apply, so we need to |
|---|
| 1173 | handle it specially. |
|---|
| 1174 | ] |
|---|
| 1175 | [Tidy up gmp cleaning |
|---|
| 1176 | Ian Lynagh <igloo@earth.li>**20110117121155 |
|---|
| 1177 | Ignore-this: 61d9a57d14b70732f62d6b2c8d6d197a |
|---|
| 1178 | ] |
|---|
| 1179 | [Remove redundant libraries/cabal-bin.hs |
|---|
| 1180 | Ian Lynagh <igloo@earth.li>**20110116194919 |
|---|
| 1181 | Ignore-this: 13b4a8d26fa06ec952351603c3bb40ee |
|---|
| 1182 | ] |
|---|
| 1183 | [Turn off dtrace unless you override USE_DTRACE |
|---|
| 1184 | Ian Lynagh <igloo@earth.li>**20110116180306 |
|---|
| 1185 | Ignore-this: beafc2002091fa7f0e66666004c870a5 |
|---|
| 1186 | There are problems with dtrace on 64bit 10.5. For now at least, we |
|---|
| 1187 | just turn dtrace off unless you override USE_DTRACE |
|---|
| 1188 | ] |
|---|
| 1189 | [Simplify a bit of makefile |
|---|
| 1190 | Ian Lynagh <igloo@earth.li>**20110116175218 |
|---|
| 1191 | Ignore-this: 18f02e40e36eca2e2cab79c152c72541 |
|---|
| 1192 | ] |
|---|
| 1193 | [Tweak Windows phase ordering |
|---|
| 1194 | Ian Lynagh <igloo@earth.li>**20110116173459 |
|---|
| 1195 | Ignore-this: bb8a70741be4574edc149349acd0f4be |
|---|
| 1196 | ] |
|---|
| 1197 | [Handle dependencies of programs on libraries correctly |
|---|
| 1198 | Ian Lynagh <igloo@earth.li>**20110116155627] |
|---|
| 1199 | [It's not clear if LDFLAGS flags will be given to gcc or ld, |
|---|
| 1200 | Ian Lynagh <igloo@earth.li>**20110116151230 |
|---|
| 1201 | Ignore-this: a6a2d0b1f550c922c32f6f252e4e3285 |
|---|
| 1202 | and they accept different flags, so for now do nothing |
|---|
| 1203 | ] |
|---|
| 1204 | [Fix cross-package dependency generation on Windows |
|---|
| 1205 | Ian Lynagh <igloo@earth.li>**20110116150901 |
|---|
| 1206 | Ignore-this: f78baaa7074ca36a6a4ff8a7e6f2e35 |
|---|
| 1207 | ] |
|---|
| 1208 | [Add some Windows-only CONFIGURE_PHASEs |
|---|
| 1209 | Ian Lynagh <igloo@earth.li>**20110116150826 |
|---|
| 1210 | Ignore-this: abf1bf498609107eb206b22d483613de |
|---|
| 1211 | ] |
|---|
| 1212 | [Simplify, and future-proof, a dependency in the build system |
|---|
| 1213 | Ian Lynagh <igloo@earth.li>**20110116020035 |
|---|
| 1214 | Ignore-this: d089133430828d041b3601b1e9c8b22a |
|---|
| 1215 | ] |
|---|
| 1216 | [Remove an unnecessary phase, and some unnecessary deps |
|---|
| 1217 | Ian Lynagh <igloo@earth.li>**20110116015943 |
|---|
| 1218 | Ignore-this: e649b072d006db5db97aee26d3753f65 |
|---|
| 1219 | now that cross-package deps are tracked correctly. |
|---|
| 1220 | ] |
|---|
| 1221 | [We can now pass -include-pkg-deps to the bootstrapping compiler |
|---|
| 1222 | Ian Lynagh <igloo@earth.li>**20110116015714 |
|---|
| 1223 | Ignore-this: bdfed941124bb93111f117800be5f2d8 |
|---|
| 1224 | ] |
|---|
| 1225 | [Remove some flags that are redundant now GHC gets configured by Cabal |
|---|
| 1226 | Ian Lynagh <igloo@earth.li>**20110116003154 |
|---|
| 1227 | Ignore-this: 43a023c5103b72c91d53cf3bed7a4c50 |
|---|
| 1228 | ] |
|---|
| 1229 | [Change some HC_OPTS var handling |
|---|
| 1230 | Ian Lynagh <igloo@earth.li>**20110116003104 |
|---|
| 1231 | Ignore-this: 629f4a3d37028f71a477c22ed4e8591e |
|---|
| 1232 | In particular, this means ghc gets built with -rtsopt, -threaded, etc again. |
|---|
| 1233 | ] |
|---|
| 1234 | [Remove some unnecessary workarounds |
|---|
| 1235 | Ian Lynagh <igloo@earth.li>**20110116002803 |
|---|
| 1236 | Ignore-this: 5ecc62f765522c08c44aa0814c5b840e |
|---|
| 1237 | We can now rely on cross-package deps working properly, as we require |
|---|
| 1238 | GHC 6.12. |
|---|
| 1239 | ] |
|---|
| 1240 | [Tidy up a bit |
|---|
| 1241 | Ian Lynagh <igloo@earth.li>**20110116001121 |
|---|
| 1242 | Ignore-this: a2baabc6da0cf2877507b7833d5b0fc7 |
|---|
| 1243 | ] |
|---|
| 1244 | [Build system improvements |
|---|
| 1245 | Ian Lynagh <igloo@earth.li>**20110115231927 |
|---|
| 1246 | Ignore-this: 92ea6514addc8aa8734d7e0eb61b50cb |
|---|
| 1247 | We no longer use dummy-ghc; instead we don't configure most packages |
|---|
| 1248 | until the stage1 compiler is available. |
|---|
| 1249 | |
|---|
| 1250 | We also now use Cabal for building the ghc-bin package. |
|---|
| 1251 | |
|---|
| 1252 | There are a couple more sanity checks too. |
|---|
| 1253 | ] |
|---|
| 1254 | [Whitespace tweak |
|---|
| 1255 | Ian Lynagh <igloo@earth.li>**20110115214149 |
|---|
| 1256 | Ignore-this: 3e564566f311be473e94f6af609bdeaa |
|---|
| 1257 | ] |
|---|
| 1258 | [Fix libffi build rules |
|---|
| 1259 | Ian Lynagh <igloo@earth.li>**20110115202104 |
|---|
| 1260 | Ignore-this: 57e1763d2079301b0165be7deba29c85 |
|---|
| 1261 | Fixes a rare race when both libHSffi.a and libHSffi_p.a were being built |
|---|
| 1262 | at the same time: |
|---|
| 1263 | |
|---|
| 1264 | "cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a |
|---|
| 1265 | "cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a |
|---|
| 1266 | "cp" libffi/dist-install/build/libffi.so libffi/dist-install/build/libHSffi-ghc7.1.20110115.so |
|---|
| 1267 | cp: cannot create regular file `libffi/dist-install/build/libHSffi.a': File exists |
|---|
| 1268 | ] |
|---|
| 1269 | [Fix Trac #4874: specialisation of INLINABLE things |
|---|
| 1270 | simonpj@microsoft.com**20110114163227 |
|---|
| 1271 | Ignore-this: b90543117ebddaf3bbeeaf0af0c18699 |
|---|
| 1272 | |
|---|
| 1273 | Johan discovered that when INLINABLE things are specialised |
|---|
| 1274 | bad things can happen. This patch implements a hack -- but |
|---|
| 1275 | it's a simple hack and it solves the problem. |
|---|
| 1276 | |
|---|
| 1277 | See Note [Inline specialisations]. |
|---|
| 1278 | |
|---|
| 1279 | The hack part is that really INLINABLE should not cause *any* loss |
|---|
| 1280 | optimisation, and it does; see Note [Don't w/w INLINABLE things] in |
|---|
| 1281 | WorkWrap. |
|---|
| 1282 | ] |
|---|
| 1283 | [Comments only |
|---|
| 1284 | simonpj@microsoft.com**20110114162959 |
|---|
| 1285 | Ignore-this: f76d4d8f527c3fcd2598ec8cc5fd3049 |
|---|
| 1286 | ] |
|---|
| 1287 | [Fix a buglet in postInlineUnconditionally |
|---|
| 1288 | simonpj@microsoft.com**20110114162927 |
|---|
| 1289 | Ignore-this: 7a7b8610ef863907843d4ae36a8a1a3c |
|---|
| 1290 | |
|---|
| 1291 | Under obscure circumstances (actually only shown up when fixing something |
|---|
| 1292 | else) it was possible for a variable binding to be discarded although |
|---|
| 1293 | it was still used. See Note [Top level and postInlineUnconditionally] |
|---|
| 1294 | ] |
|---|
| 1295 | [cope with empty libraries/stamp directory (in git repo) |
|---|
| 1296 | Simon Marlow <marlowsd@gmail.com>**20110114142406 |
|---|
| 1297 | Ignore-this: 6e95c44368d784f86a0c1c1d1e24d810 |
|---|
| 1298 | ] |
|---|
| 1299 | [add .gitignore |
|---|
| 1300 | Simon Marlow <marlowsd@gmail.com>**20110114142353 |
|---|
| 1301 | Ignore-this: 23d7cabd2b04eedfe4c33ad94a120474 |
|---|
| 1302 | ] |
|---|
| 1303 | [Fix longstanding bug in C-- inlining for functions calls. |
|---|
| 1304 | Edward Z. Yang <ezyang@mit.edu>**20110113130654 |
|---|
| 1305 | Ignore-this: 79001003b1f3cc5005207ccfed980c21 |
|---|
| 1306 | ] |
|---|
| 1307 | [fix for remote repos without -r |
|---|
| 1308 | Simon Marlow <marlowsd@gmail.com>**20110113131147 |
|---|
| 1309 | Ignore-this: 3ddd8a4c616cad01a2dbdb500fb54279 |
|---|
| 1310 | ] |
|---|
| 1311 | [add a version of packages that stores all the repos in git |
|---|
| 1312 | Simon Marlow <marlowsd@gmail.com>**20110113111733 |
|---|
| 1313 | Ignore-this: fcca2eb2e753ee20bb5abce7f30f5205 |
|---|
| 1314 | ] |
|---|
| 1315 | [add the -r flag from darcs-all |
|---|
| 1316 | Simon Marlow <marlowsd@gmail.com>**20110113111654 |
|---|
| 1317 | Ignore-this: ada88377bd95ebb9c668dd48954f321e |
|---|
| 1318 | ] |
|---|
| 1319 | [Make Template Haskell classInstances function return [ClassInstance] |
|---|
| 1320 | simonpj@microsoft.com**20110113111421 |
|---|
| 1321 | Ignore-this: d14381f0a94170965414dd8724188356 |
|---|
| 1322 | |
|---|
| 1323 | This is a recently-introduce function, which was returning |
|---|
| 1324 | a [Name], being the names of the dfuns. But what you really |
|---|
| 1325 | want (obviously!) is the ClassInstances, and we have a TH type |
|---|
| 1326 | for that. |
|---|
| 1327 | |
|---|
| 1328 | This is an API change, so don't merge into GHC 7.0. But it's |
|---|
| 1329 | a new part of TH which is still settling down. |
|---|
| 1330 | |
|---|
| 1331 | Fixes Trac #4863. |
|---|
| 1332 | ] |
|---|
| 1333 | [Improve the finder's error messages |
|---|
| 1334 | simonpj@microsoft.com**20110113111233 |
|---|
| 1335 | Ignore-this: ec4819b0a44af9fd03dc0a8b8e13699d |
|---|
| 1336 | |
|---|
| 1337 | I'd done all the work to add fuzzy-match suggestions, but they |
|---|
| 1338 | weren't really being used! Here's what you get now |
|---|
| 1339 | |
|---|
| 1340 | module Foo where |
|---|
| 1341 | import Data.Lst |
|---|
| 1342 | |
|---|
| 1343 | Foo.hs:3:1: |
|---|
| 1344 | Failed to load interface for `Data.Lst' |
|---|
| 1345 | Perhaps you meant |
|---|
| 1346 | Data.List (from base) |
|---|
| 1347 | Data.List (needs flag -package haskell2010-1.0.0.0) |
|---|
| 1348 | Data.Int (needs flag -package haskell2010-1.0.0.0) |
|---|
| 1349 | Use -v to see a list of the files searched for. |
|---|
| 1350 | ] |
|---|
| 1351 | [White space only |
|---|
| 1352 | simonpj@microsoft.com**20110113093931 |
|---|
| 1353 | Ignore-this: 4e46acca5241615a3283996052a634a |
|---|
| 1354 | ] |
|---|
| 1355 | [Produce an error message, not a crash, for HsOpApp with non-var operator |
|---|
| 1356 | simonpj@microsoft.com**20110112170719 |
|---|
| 1357 | Ignore-this: df0f6f2e3318f9c33a714609019b0262 |
|---|
| 1358 | |
|---|
| 1359 | Fixes Trac #4877. |
|---|
| 1360 | ] |
|---|
| 1361 | [update to work with current packages file format |
|---|
| 1362 | Simon Marlow <marlowsd@gmail.com>**20110112160224 |
|---|
| 1363 | Ignore-this: da73498734aadbfbf0a31389a9dc44d |
|---|
| 1364 | ] |
|---|
| 1365 | [In configure, test that GHC generates code for the correct platform (#4819) |
|---|
| 1366 | Simon Marlow <marlowsd@gmail.com>**20110107163541 |
|---|
| 1367 | Ignore-this: 29541d3896f9c9bcf791510edae70254 |
|---|
| 1368 | Patch supplied by the bug reporter, tidied up by me. |
|---|
| 1369 | |
|---|
| 1370 | $ ./configure --with-ghc=$HOME/fp/bin/i386-unknown-linux/ghc --build=x86_64-unknown-linux |
|---|
| 1371 | checking for gfind... no |
|---|
| 1372 | checking for find... /usr/bin/find |
|---|
| 1373 | checking for sort... /usr/bin/sort |
|---|
| 1374 | checking for GHC version date... inferred 7.1.20110107 |
|---|
| 1375 | checking version of ghc... 7.0.1 |
|---|
| 1376 | checking build system type... x86_64-unknown-linux-gnu |
|---|
| 1377 | checking host system type... x86_64-unknown-linux-gnu |
|---|
| 1378 | checking target system type... x86_64-unknown-linux-gnu |
|---|
| 1379 | Host platform inferred as: i386-unknown-linux |
|---|
| 1380 | Target platform inferred as: i386-unknown-linux |
|---|
| 1381 | This GHC (/home/simonmar/fp/bin/i386-unknown-linux/ghc) does not generate code for the build platform |
|---|
| 1382 | GHC target platform : i386-unknown-linux |
|---|
| 1383 | Desired build platform : x86_64-unknown-linux |
|---|
| 1384 | ] |
|---|
| 1385 | [Major refactoring of the type inference engine |
|---|
| 1386 | simonpj@microsoft.com**20110112145604 |
|---|
| 1387 | Ignore-this: 6a7fc90c9b798e89505606726cc8090e |
|---|
| 1388 | |
|---|
| 1389 | This patch embodies many, many changes to the contraint solver, which |
|---|
| 1390 | make it simpler, more robust, and more beautiful. But it has taken |
|---|
| 1391 | me ages to get right. The forcing issue was some obscure programs |
|---|
| 1392 | involving recursive dictionaries, but these eventually led to a |
|---|
| 1393 | massive refactoring sweep. |
|---|
| 1394 | |
|---|
| 1395 | Main changes are: |
|---|
| 1396 | * No more "frozen errors" in the monad. Instead "insoluble |
|---|
| 1397 | constraints" are now part of the WantedConstraints type. |
|---|
| 1398 | |
|---|
| 1399 | * The WantedConstraint type is a product of bags, instead of (as |
|---|
| 1400 | before) a bag of sums. This eliminates a good deal of tagging and |
|---|
| 1401 | untagging. |
|---|
| 1402 | |
|---|
| 1403 | * This same WantedConstraints data type is used |
|---|
| 1404 | - As the way that constraints are gathered |
|---|
| 1405 | - As a field of an implication constraint |
|---|
| 1406 | - As both argument and result of solveWanted |
|---|
| 1407 | - As the argument to reportUnsolved |
|---|
| 1408 | |
|---|
| 1409 | * We do not generate any evidence for Derived constraints. They are |
|---|
| 1410 | purely there to allow "impovement" by unifying unification |
|---|
| 1411 | variables. |
|---|
| 1412 | |
|---|
| 1413 | * In consequence, nothing is ever *rewritten* by a Derived |
|---|
| 1414 | constraint. This removes, by construction, all the horrible |
|---|
| 1415 | potential recursive-dictionary loops that were making us tear our |
|---|
| 1416 | hair out. No more isGoodRecEv search either. Hurrah! |
|---|
| 1417 | |
|---|
| 1418 | * We add the superclass Derived constraints during canonicalisation, |
|---|
| 1419 | after checking for duplicates. So fewer superclass constraints |
|---|
| 1420 | are generated than before. |
|---|
| 1421 | |
|---|
| 1422 | * Skolem tc-tyvars no longer carry SkolemInfo. Instead, the |
|---|
| 1423 | SkolemInfo lives in the GivenLoc of the Implication, where it |
|---|
| 1424 | can be tidied, zonked, and substituted nicely. This alone is |
|---|
| 1425 | a major improvement. |
|---|
| 1426 | |
|---|
| 1427 | * Tidying is improved, so that we tend to get t1, t2, t3, rather |
|---|
| 1428 | than t1, t11, t111, etc |
|---|
| 1429 | |
|---|
| 1430 | Moreover, unification variables are always printed with a digit |
|---|
| 1431 | (thus a0, a1, etc), so that plain 'a' is available for a skolem |
|---|
| 1432 | arising from a type signature etc. In this way, |
|---|
| 1433 | (a) We quietly say which variables are unification variables, |
|---|
| 1434 | for those who know and care |
|---|
| 1435 | (b) Types tend to get printed as the user expects. If he writes |
|---|
| 1436 | f :: a -> a |
|---|
| 1437 | f = ...blah... |
|---|
| 1438 | then types involving 'a' get printed with 'a', rather than |
|---|
| 1439 | some tidied variant. |
|---|
| 1440 | |
|---|
| 1441 | * There are significant improvements in error messages, notably |
|---|
| 1442 | in the "Cannot deduce X from Y" messages. |
|---|
| 1443 | ] |
|---|
| 1444 | [Fix installation on cygwin |
|---|
| 1445 | Ian Lynagh <igloo@earth.li>**20110111194838 |
|---|
| 1446 | Ignore-this: fe923d0619da3bd3a34968106c92fdab |
|---|
| 1447 | ] |
|---|
| 1448 | [Do dependency analysis when kind-checking type declarations |
|---|
| 1449 | simonpj@microsoft.com**20110110110351 |
|---|
| 1450 | Ignore-this: 17a8dee32694d3e1835cf7bb02d3abb5 |
|---|
| 1451 | |
|---|
| 1452 | This patch fixes Trac #4875. The main point is to do dependency |
|---|
| 1453 | analysis on type and class declarations, and kind-check them in |
|---|
| 1454 | dependency order, so as to improve error messages. |
|---|
| 1455 | |
|---|
| 1456 | This patch means that a few programs that would typecheck before won't |
|---|
| 1457 | typecheck any more; but before we were (naughtily) going beyond |
|---|
| 1458 | Haskell 98 without any language-extension flags, and Trac #4875 |
|---|
| 1459 | convinces me that doing so is a Bad Idea. |
|---|
| 1460 | |
|---|
| 1461 | Here's an example that won't typecheck any more |
|---|
| 1462 | data T a b = MkT (a b) |
|---|
| 1463 | type F k = T k Maybe |
|---|
| 1464 | |
|---|
| 1465 | If you look at T on its own you'd default 'a' to kind *->*; |
|---|
| 1466 | and then kind-checking would fail on F. |
|---|
| 1467 | |
|---|
| 1468 | But GHC currently accepts this program beause it looks at |
|---|
| 1469 | the *occurrences* of T. |
|---|
| 1470 | ] |
|---|
| 1471 | [Move imports around (no change in behaviour) |
|---|
| 1472 | simonpj@microsoft.com**20110110105647 |
|---|
| 1473 | Ignore-this: d618cabbc52be7d7968de1e0bdd44082 |
|---|
| 1474 | ] |
|---|
| 1475 | [Make fuzzy matching a little less eager for short identifiers |
|---|
| 1476 | simonpj@microsoft.com**20110107102855 |
|---|
| 1477 | Ignore-this: a753643e88433d74b44a480cc0f4170c |
|---|
| 1478 | |
|---|
| 1479 | For single-character identifiers we now don't make any suggestions |
|---|
| 1480 | See comments in Util.fuzzyLookup |
|---|
| 1481 | ] |
|---|
| 1482 | [Fix Trac #4870: get the inlining for an imported INLINABLE Id |
|---|
| 1483 | simonpj@microsoft.com**20110105002712 |
|---|
| 1484 | Ignore-this: 60c0192eb48590c2e6868d15ba8f84ce |
|---|
| 1485 | |
|---|
| 1486 | We need the unfolding even for a *recursive* function (indeed |
|---|
| 1487 | that's the point) and I was using the wrong function to get it |
|---|
| 1488 | (idUnfolding rather than realIdUnfolding). |
|---|
| 1489 | ] |
|---|
| 1490 | [Rejig the includes/ installation rules |
|---|
| 1491 | Ian Lynagh <igloo@earth.li>**20110109181158 |
|---|
| 1492 | They're a little nicer now, and a regression in the cygwin build is |
|---|
| 1493 | fixed (the $i in the destination wasn't surviving being passed through |
|---|
| 1494 | cygpath). |
|---|
| 1495 | ] |
|---|
| 1496 | [Make DESTDIR an absolute path when installing; fixes #4883 |
|---|
| 1497 | Ian Lynagh <igloo@earth.li>**20110108171635] |
|---|
| 1498 | [Add utils/ghc-cabal/Makefile |
|---|
| 1499 | Ian Lynagh <igloo@earth.li>**20110108144049] |
|---|
| 1500 | [Remove redundant import |
|---|
| 1501 | Ian Lynagh <igloo@earth.li>**20110108130047 |
|---|
| 1502 | Ignore-this: 1c7fdec77b48319c845c9593b5fb94af |
|---|
| 1503 | ] |
|---|
| 1504 | [Improve error message of :set in ghci (ticket #4190). |
|---|
| 1505 | Michal Terepeta <michal.terepeta@gmail.com>**20101130211505 |
|---|
| 1506 | Ignore-this: ccc8a0816a900ba8c4a966285a465b23 |
|---|
| 1507 | ] |
|---|
| 1508 | [Improve error message when importing data constructors (ticket #4058). |
|---|
| 1509 | Michal Terepeta <michal.terepeta@gmail.com>**20101127211338 |
|---|
| 1510 | Ignore-this: 3289a08f0391dd90dfef2e0403a04ccd |
|---|
| 1511 | ] |
|---|
| 1512 | [catch SIGTSTP and save/restore terminal settings (#4460) |
|---|
| 1513 | Simon Marlow <marlowsd@gmail.com>**20110107124042 |
|---|
| 1514 | Ignore-this: 38f7f27bf75178899f466404c048241d |
|---|
| 1515 | As far as I can tell, it is the responsibility of the program to save |
|---|
| 1516 | and restore its own terminal settings across a suspend/foreground, the |
|---|
| 1517 | shell doesn't do it (which seems odd). So I've added a signal handler |
|---|
| 1518 | for SIGTSTP to the RTS which will save and restore the terminal |
|---|
| 1519 | settings iff we modified them with hSetBuffering or hSetEcho (we |
|---|
| 1520 | already restore them at exit time in these cases). |
|---|
| 1521 | ] |
|---|
| 1522 | [comment updates |
|---|
| 1523 | Simon Marlow <marlowsd@gmail.com>**20110107094236 |
|---|
| 1524 | Ignore-this: c2b30b0c98645e2847a2749c7fdc167f |
|---|
| 1525 | ] |
|---|
| 1526 | [On Cygwin, use a Cygwin-style path for /bin/install's destination |
|---|
| 1527 | Ian Lynagh <igloo@earth.li>**20110106223030 |
|---|
| 1528 | |
|---|
| 1529 | cygwin's /bin/install doesn't set file modes correctly if the |
|---|
| 1530 | destination path is a C: style path: |
|---|
| 1531 | |
|---|
| 1532 | $ /bin/install -c -m 644 foo /cygdrive/c/cygwin/home/ian/foo2 |
|---|
| 1533 | $ /bin/install -c -m 644 foo c:/cygwin/home/ian/foo3 |
|---|
| 1534 | $ ls -l foo* |
|---|
| 1535 | -rw-r--r-- 1 ian None 0 2011-01-06 18:28 foo |
|---|
| 1536 | -rw-r--r-- 1 ian None 0 2011-01-06 18:29 foo2 |
|---|
| 1537 | -rwxrwxrwx 1 ian None 0 2011-01-06 18:29 foo3 |
|---|
| 1538 | |
|---|
| 1539 | This causes problems for bindisttest/checkBinaries.sh which then |
|---|
| 1540 | thinks that e.g. the userguide HTML files are binaries. |
|---|
| 1541 | |
|---|
| 1542 | We therefore use a /cygdrive path if we are on cygwin |
|---|
| 1543 | ] |
|---|
| 1544 | [Fix mkUserGuidePart program name on Windows |
|---|
| 1545 | Ian Lynagh <igloo@earth.li>**20110106143707] |
|---|
| 1546 | [add comment to remind people to update driver/gcc/gcc.c |
|---|
| 1547 | Simon Marlow <marlowsd@gmail.com>**20110106152402 |
|---|
| 1548 | Ignore-this: c07d7ac11eb9221ef821f78aab1807cb |
|---|
| 1549 | ] |
|---|
| 1550 | [use Win32 CreateProcess() rather than mingw spawnv() (#4531) |
|---|
| 1551 | Simon Marlow <marlowsd@gmail.com>**20110106133834 |
|---|
| 1552 | Ignore-this: 4c0947853549dad034622c044391af6c |
|---|
| 1553 | ] |
|---|
| 1554 | [update paths now that we upgraded gcc to 4.5.0 |
|---|
| 1555 | Simon Marlow <marlowsd@gmail.com>**20110106133729 |
|---|
| 1556 | Ignore-this: f8f9bcad984fdd472e0ae958b66bea9d |
|---|
| 1557 | ] |
|---|
| 1558 | [fix markup |
|---|
| 1559 | Simon Marlow <marlowsd@gmail.com>**20110106093152 |
|---|
| 1560 | Ignore-this: 555b6e39ae6b5a177b03c5edffc169ab |
|---|
| 1561 | ] |
|---|
| 1562 | [fix up multi-line GHCi patch (#4316) |
|---|
| 1563 | Simon Marlow <marlowsd@gmail.com>**20110105154548 |
|---|
| 1564 | Ignore-this: 53d5d489bd2a792c01f2cc56a11f3ce6 |
|---|
| 1565 | ] |
|---|
| 1566 | [multiline commands in GHCi #4316 |
|---|
| 1567 | Vivian McPhail <haskell.vivian.mcphail@gmail.com>**20101105051308 |
|---|
| 1568 | This patch adds support for multiline commands in GHCi. |
|---|
| 1569 | |
|---|
| 1570 | The first line of input is lexed. If there is an active |
|---|
| 1571 | layout context once the lexer reaches the end of file, the |
|---|
| 1572 | user is prompted for more input. |
|---|
| 1573 | |
|---|
| 1574 | Multiline input is exited by an empty line and can be escaped |
|---|
| 1575 | with a user interrupt. |
|---|
| 1576 | |
|---|
| 1577 | Multiline mode is toggled with `:set +m` |
|---|
| 1578 | ] |
|---|
| 1579 | [Replace a #if with a Haskell conditional |
|---|
| 1580 | Ian Lynagh <igloo@earth.li>**20110105183011 |
|---|
| 1581 | Ignore-this: f08f3a4356586efab2725ad8704b2eba |
|---|
| 1582 | ] |
|---|
| 1583 | [Whitespace only in X86.Ppr |
|---|
| 1584 | Ian Lynagh <igloo@earth.li>**20110105171124] |
|---|
| 1585 | [Fix error compiling AsmCodeGen.lhs for PPC Mac (unused makeFar addr) |
|---|
| 1586 | naur@post11.tele.dk**20101219213555 |
|---|
| 1587 | Ignore-this: ab25d5f2e2ebe163547d5babaf4b1dbf |
|---|
| 1588 | ] |
|---|
| 1589 | [Define cTargetArch and start to use it rather than ifdefs |
|---|
| 1590 | Ian Lynagh <igloo@earth.li>**20110104220013 |
|---|
| 1591 | Using Haskell conditionals means the compiler sees all the code, so |
|---|
| 1592 | there should be less rot of code specific to uncommon arches. Code |
|---|
| 1593 | for other platforms should still be optimised away, although if we want |
|---|
| 1594 | to support targetting other arches then we'll need to compile it |
|---|
| 1595 | for-real anyway. |
|---|
| 1596 | ] |
|---|
| 1597 | [Fix error compiling AsmCodeGen.lhs for PPC Mac (rtsPackageId) |
|---|
| 1598 | naur@post11.tele.dk**20101219212530 |
|---|
| 1599 | Ignore-this: 946f6d3e0d3c3ddf2dc07b85e1f82d85 |
|---|
| 1600 | ] |
|---|
| 1601 | [Rename the c*Platform variables to c*PlatformString |
|---|
| 1602 | Ian Lynagh <igloo@earth.li>**20110104210250] |
|---|
| 1603 | [Fix #4829 (build does not respect --with-gcc option) |
|---|
| 1604 | gwright@antiope.com**20101221133233 |
|---|
| 1605 | Ignore-this: 37918feb82f911c2beb75915b6e8b97b |
|---|
| 1606 | |
|---|
| 1607 | This patch fixes what seems to be the last problem with the --with-gcc |
|---|
| 1608 | option. On OS X, we need to pass the path to gcc to dtrace as the |
|---|
| 1609 | preprocessor. (Internally, dtrace on OS X sets the default preprocessor |
|---|
| 1610 | to /usr/bin/gcc.) ATM, dtrace is only supported on OS X, so we don't |
|---|
| 1611 | need any conditionalization. If dtrace is ported to other platforms, |
|---|
| 1612 | we might need to change this. However, usage on other platforms will |
|---|
| 1613 | probably be similar to OS X, since many of Apple's changes are to |
|---|
| 1614 | use the gnu toolchain instead of the Sun toolchain. |
|---|
| 1615 | |
|---|
| 1616 | ] |
|---|
| 1617 | [Drop a seven years old workaround for happy |
|---|
| 1618 | Matthias Kilian <kili@outback.escape.de>**20101231192343 |
|---|
| 1619 | Ignore-this: a9348c91292c113bd967464fbe859f1f |
|---|
| 1620 | ] |
|---|
| 1621 | [Add gcc and ld flags to --info output |
|---|
| 1622 | Ian Lynagh <igloo@earth.li>**20101220173520] |
|---|
| 1623 | [Fix Trac #4525: report type errors in terms of the immediate type synonym |
|---|
| 1624 | simonpj@microsoft.com**20101224082520 |
|---|
| 1625 | Ignore-this: a3bd076bfe0e1c6f575b106f77f326c6 |
|---|
| 1626 | |
|---|
| 1627 | This small change means that if you have |
|---|
| 1628 | type Age = Int |
|---|
| 1629 | and you try to unify Age and Bool, you'll get a complaint about |
|---|
| 1630 | not matching Age and Bool, rather than Int and Bool. See the notes |
|---|
| 1631 | with Trac #4525 |
|---|
| 1632 | ] |
|---|
| 1633 | [Comments only |
|---|
| 1634 | simonpj@microsoft.com**20101224082310 |
|---|
| 1635 | Ignore-this: 1f69fa3244663b653607093efcdf7b0 |
|---|
| 1636 | ] |
|---|
| 1637 | [Implement fuzzy matching for the Finder |
|---|
| 1638 | simonpj@microsoft.com**20101222175400 |
|---|
| 1639 | Ignore-this: 4dfbbc07bcb59c5f4cee9a902c89d63e |
|---|
| 1640 | |
|---|
| 1641 | ..so that you get a more helpful message when |
|---|
| 1642 | you mis-spell a module name in an 'import'. |
|---|
| 1643 | |
|---|
| 1644 | Validates, but not fully tested. |
|---|
| 1645 | |
|---|
| 1646 | Based on Max's patch in Trac #2442, but heavily refactored. |
|---|
| 1647 | ] |
|---|
| 1648 | [Implement fuzzy matching for the renamer |
|---|
| 1649 | simonpj@microsoft.com**20101222175306 |
|---|
| 1650 | Ignore-this: 66478736249de793a61612f184d484b0 |
|---|
| 1651 | |
|---|
| 1652 | ...so that you get helpful suggestions when you mis-spell a name |
|---|
| 1653 | Based on Max's patch in Trac #2442, but heavily refactored. |
|---|
| 1654 | ] |
|---|
| 1655 | [Add fuzzyLookup, a variant of fuzzyMatch |
|---|
| 1656 | simonpj@microsoft.com**20101222175124 |
|---|
| 1657 | Ignore-this: f0eafaf275b9edffee176f2fb4effe2f |
|---|
| 1658 | |
|---|
| 1659 | Plus, I changed quite a bit of layout to make the lines shorter. |
|---|
| 1660 | ] |
|---|
| 1661 | [White space only |
|---|
| 1662 | simonpj@microsoft.com**20101222175001 |
|---|
| 1663 | Ignore-this: ddabada2042f4529e83d1c1ecb052306 |
|---|
| 1664 | ] |
|---|
| 1665 | [Layout and white space only |
|---|
| 1666 | simonpj@microsoft.com**20101222174950 |
|---|
| 1667 | Ignore-this: bf4e4fd9d39714d0461ab799d6b8ed91 |
|---|
| 1668 | ] |
|---|
| 1669 | [Tidy up rebindable syntax for MDo |
|---|
| 1670 | simonpj@microsoft.com**20101222132210 |
|---|
| 1671 | Ignore-this: b40ae8709e5a39d75f2b2813169af215 |
|---|
| 1672 | |
|---|
| 1673 | For a long time an 'mdo' expression has had a SyntaxTable |
|---|
| 1674 | attached to it. However, we're busy deprecating SyntaxTables |
|---|
| 1675 | in favour of rebindable syntax attached to individual Stmts, |
|---|
| 1676 | and MDoExpr was totally inconsistent with DoExpr in this |
|---|
| 1677 | regard. |
|---|
| 1678 | |
|---|
| 1679 | This patch tidies it all up. Now there's no SyntaxTable on |
|---|
| 1680 | MDoExpr, and 'modo' is generally handled much more like 'do'. |
|---|
| 1681 | |
|---|
| 1682 | There is resulting small change in behaviour: now MonadFix is |
|---|
| 1683 | required only if you actually *use* recursion in mdo. This |
|---|
| 1684 | seems consistent with the implicit dependency analysis that |
|---|
| 1685 | is done for mdo. |
|---|
| 1686 | |
|---|
| 1687 | Still to do: |
|---|
| 1688 | * Deal with #4148 (this patch is on the way) |
|---|
| 1689 | * Get rid of the last remaining SyntaxTable on HsCmdTop |
|---|
| 1690 | ] |
|---|
| 1691 | [Make the occurrence analyser track preInlineUnconditionally |
|---|
| 1692 | simonpj@microsoft.com**20101222131156 |
|---|
| 1693 | Ignore-this: 82edb06bcca6106327c2cce9d78c4e61 |
|---|
| 1694 | |
|---|
| 1695 | This fixes a somewhat obscure situation in which an |
|---|
| 1696 | over-optimistic use of "occurs once" led to an infinite |
|---|
| 1697 | sequence of simplifier iterations. Se Note [Cascading inlines] |
|---|
| 1698 | for the details. |
|---|
| 1699 | |
|---|
| 1700 | This showed up when compiling rather large DPH programs, which |
|---|
| 1701 | run lots of iterations of the simplifier, which in turn made |
|---|
| 1702 | compilation take much longer than necessary. |
|---|
| 1703 | ] |
|---|
| 1704 | [Make mkDFunUnfolding more robust |
|---|
| 1705 | simonpj@microsoft.com**20101222130854 |
|---|
| 1706 | Ignore-this: 10bb4168a7080c843f6613043354151b |
|---|
| 1707 | |
|---|
| 1708 | It now uses tcSplitDFunTy, which is designed for the purpose and |
|---|
| 1709 | allows arbitrary argument types to the dfun, rather than |
|---|
| 1710 | tcSplitSigmaTy. This generality is used in DPH, which has |
|---|
| 1711 | internally-generated dfuns with impliciation-typed arguments. |
|---|
| 1712 | |
|---|
| 1713 | To do this I had to make tcSplitDFunTy return the number of |
|---|
| 1714 | arguments, so there are some minor knock-on effects in other |
|---|
| 1715 | modules. |
|---|
| 1716 | ] |
|---|
| 1717 | [Count allocations more accurately |
|---|
| 1718 | Simon Marlow <marlowsd@gmail.com>**20101221152956 |
|---|
| 1719 | Ignore-this: 33a4ed3a77bf35f232aa5c9078e8e380 |
|---|
| 1720 | The allocation stats (+RTS -s etc.) used to count the slop at the end |
|---|
| 1721 | of each nursery block (except the last) as allocated space, now we |
|---|
| 1722 | count the allocated words accurately. This should make allocation |
|---|
| 1723 | figures more predictable, too. |
|---|
| 1724 | |
|---|
| 1725 | This has the side effect of reducing the apparent allocations by a |
|---|
| 1726 | small amount (~1%), so remember to take this into account when looking |
|---|
| 1727 | at nofib results. |
|---|
| 1728 | ] |
|---|
| 1729 | [Add a simple arity analyser |
|---|
| 1730 | simonpj@microsoft.com**20101221165800 |
|---|
| 1731 | Ignore-this: d5f3a9f56404d61bb7f374c875b42c49 |
|---|
| 1732 | |
|---|
| 1733 | I've wanted to do this for ages, but never gotten around to |
|---|
| 1734 | it. The main notes are in Note [Arity analysis] in SimplUtils. |
|---|
| 1735 | |
|---|
| 1736 | The motivating example for arity analysis is this: |
|---|
| 1737 | |
|---|
| 1738 | f = \x. let g = f (x+1) |
|---|
| 1739 | in \y. ...g... |
|---|
| 1740 | |
|---|
| 1741 | What arity does f have? Really it should have arity 2, but a naive |
|---|
| 1742 | look at the RHS won't see that. You need a fixpoint analysis which |
|---|
| 1743 | says it has arity "infinity" the first time round. |
|---|
| 1744 | |
|---|
| 1745 | This makes things more robust to the way in which you write code. For |
|---|
| 1746 | example, see Trac #4474 which is fixed by this change. |
|---|
| 1747 | |
|---|
| 1748 | Not a huge difference, but worth while: |
|---|
| 1749 | |
|---|
| 1750 | Program Size Allocs Runtime Elapsed |
|---|
| 1751 | -------------------------------------------------------------------------------- |
|---|
| 1752 | Min -0.4% -2.2% -10.0% -10.0% |
|---|
| 1753 | Max +2.7% +0.3% +7.1% +6.9% |
|---|
| 1754 | Geometric Mean -0.3% -0.2% -2.1% -2.2% |
|---|
| 1755 | |
|---|
| 1756 | I don't really believe the runtime numbers, because the machine was |
|---|
| 1757 | busy, but the bottom line is that not much changes, and what does |
|---|
| 1758 | change reliably (allocation and size) is in the right direction. |
|---|
| 1759 | ] |
|---|
| 1760 | [Miscellaneous tidying up and refactoring |
|---|
| 1761 | simonpj@microsoft.com**20101221161931 |
|---|
| 1762 | Ignore-this: 7706d3065e6fc1defafe1cb8975b9969 |
|---|
| 1763 | ] |
|---|
| 1764 | [Comments only |
|---|
| 1765 | simonpj@microsoft.com**20101221161918 |
|---|
| 1766 | Ignore-this: 3e269a62da5cbec72d3e4b8328689628 |
|---|
| 1767 | ] |
|---|
| 1768 | [Single-method classes are implemented with a newtype |
|---|
| 1769 | simonpj@microsoft.com**20101221161911 |
|---|
| 1770 | Ignore-this: 4ca00f0b367fbeb8146146bc53116eb7 |
|---|
| 1771 | |
|---|
| 1772 | This patch changes things so that such classes rely on the coercion |
|---|
| 1773 | mechanism for inlining (since the constructor is really just a cast) |
|---|
| 1774 | rather than on the dfun mechanism, therby removing some needless |
|---|
| 1775 | runtime indirections. |
|---|
| 1776 | ] |
|---|
| 1777 | [For single-method classes use newtypes |
|---|
| 1778 | simonpj@microsoft.com**20101101080736 |
|---|
| 1779 | Ignore-this: d3851f92eb2385501411da57066b775e |
|---|
| 1780 | |
|---|
| 1781 | This clears up an awkward hack for exprIsConApp_maybe, and |
|---|
| 1782 | works better too. See Note [Single-method classes] in |
|---|
| 1783 | TcInstDcls. |
|---|
| 1784 | ] |
|---|
| 1785 | [boundTaskExiting: don't set task->stopped unless this is the last call (#4850) |
|---|
| 1786 | Simon Marlow <marlowsd@gmail.com>**20101221115807 |
|---|
| 1787 | Ignore-this: 7e1b990aa08b3ea9cdaa9385d8e41e48 |
|---|
| 1788 | The bug in this case was that we had a worker thread making a foreign |
|---|
| 1789 | call which invoked a callback (in this case it was performGC, I |
|---|
| 1790 | think). When the callback ended, boundTaskExiting() was setting |
|---|
| 1791 | task->stopped, but the Task is now per-OS-thread, so it is shared by |
|---|
| 1792 | the worker that made the original foreign call. When the foreign call |
|---|
| 1793 | returned, because task->stopped was set, the worker was not placed on |
|---|
| 1794 | the queue of spare workers. Somehow the worker woke up again, and |
|---|
| 1795 | found the spare_workers queue empty, which lead to a crash. |
|---|
| 1796 | |
|---|
| 1797 | Two bugs here: task->stopped should not have been set by |
|---|
| 1798 | boundTaskExiting (this broke when I split the Task and InCall structs, |
|---|
| 1799 | in 6.12.2), and releaseCapabilityAndQueueWorker() should not be |
|---|
| 1800 | testing task->stopped anyway, because it should only ever be called |
|---|
| 1801 | when task->stopped is false (this is now an assertion). |
|---|
| 1802 | ] |
|---|
| 1803 | [releaseCapabilityAndQueueWorker: task->stopped should be false (#4850) |
|---|
| 1804 | Simon Marlow <marlowsd@gmail.com>**20101221114911 |
|---|
| 1805 | Ignore-this: b9c430a4bc9d2e0c7f4140d6d6971eae |
|---|
| 1806 | ] |
|---|
| 1807 | [Fix Windows build |
|---|
| 1808 | Simon Marlow <marlowsd@gmail.com>**20101221102101 |
|---|
| 1809 | Ignore-this: f4773e06d030a335c9ac721af193b8d2 |
|---|
| 1810 | ] |
|---|
| 1811 | [raiseExceptionHelper: update tso->stackobj->sp before calling threadStackOverflow (#4845) |
|---|
| 1812 | Simon Marlow <marlowsd@gmail.com>**20101221101411 |
|---|
| 1813 | Ignore-this: 48495131fcc8c548882a470c2509f9f5 |
|---|
| 1814 | ] |
|---|
| 1815 | [add 'make re2' for rebuilding stage2 (similarly re1 and re3) |
|---|
| 1816 | Simon Marlow <marlowsd@gmail.com>**20101221100254 |
|---|
| 1817 | Ignore-this: 5c0afe3810b66a5b6e53a3a0fe933945 |
|---|
| 1818 | ] |
|---|
| 1819 | [fix warning |
|---|
| 1820 | Simon Marlow <marlowsd@gmail.com>**20101216160415 |
|---|
| 1821 | Ignore-this: 54a0eedfa5b7fc15c31dffffb1b10aad |
|---|
| 1822 | ] |
|---|
| 1823 | [Small improvement to CorePrep |
|---|
| 1824 | simonpj@microsoft.com**20101220123715 |
|---|
| 1825 | Ignore-this: d0490225ed1895a1a5b97d786ed44260 |
|---|
| 1826 | |
|---|
| 1827 | This change avoids unnecessary bindings. Example |
|---|
| 1828 | |
|---|
| 1829 | foo (let fn = \x.blah in |
|---|
| 1830 | in fn) |
|---|
| 1831 | |
|---|
| 1832 | We were generating something stupid like |
|---|
| 1833 | |
|---|
| 1834 | let fn = \x.blah in |
|---|
| 1835 | let fn' = \eta. fn eta |
|---|
| 1836 | in foo fn |
|---|
| 1837 | |
|---|
| 1838 | Now we don't. The change is quite small. |
|---|
| 1839 | |
|---|
| 1840 | Thanks to Ben for showing me an example of this happening. |
|---|
| 1841 | ] |
|---|
| 1842 | [Fix warnings |
|---|
| 1843 | Ian Lynagh <igloo@earth.li>**20101219202711 |
|---|
| 1844 | Ignore-this: 898015b086f684de5371bf97a23b9e2e |
|---|
| 1845 | ] |
|---|
| 1846 | [Small refactoring |
|---|
| 1847 | Ian Lynagh <igloo@earth.li>**20101219194032] |
|---|
| 1848 | [Drop GhcWithLlvmCodeGen configuration bits |
|---|
| 1849 | Matthias Kilian <kili@outback.escape.de>**20101219180239 |
|---|
| 1850 | Ignore-this: 815ed46be7650792f85807c232edfcc |
|---|
| 1851 | The LLVM code generator is always built unconditionally, so both the |
|---|
| 1852 | configuration variable in mk/config.mk.in as well as the string in |
|---|
| 1853 | compilerInfo can be removed. |
|---|
| 1854 | ] |
|---|
| 1855 | [Pass --hoogle to haddock; fixes trac #4521 |
|---|
| 1856 | Ian Lynagh <igloo@earth.li>**20101219125243] |
|---|
| 1857 | [vectoriser: don't always pass superclass dictionaries to PA dfuns |
|---|
| 1858 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101218234838 |
|---|
| 1859 | Ignore-this: 77c71976db8fc63aeb83f4abdba994d8 |
|---|
| 1860 | |
|---|
| 1861 | This is just a guess at how this should work. |
|---|
| 1862 | ] |
|---|
| 1863 | [vectoriser: delete dead code |
|---|
| 1864 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101218125350 |
|---|
| 1865 | Ignore-this: 437eea71ad15ad5dc7902e596597c577 |
|---|
| 1866 | ] |
|---|
| 1867 | [vectoriser: adapt to new superclass story part I (dictionary construction) |
|---|
| 1868 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101218114953 |
|---|
| 1869 | Ignore-this: 29c9aa46a1622beaae1dcefc4c482a30 |
|---|
| 1870 | ] |
|---|
| 1871 | [Replace uses of the old try function with the new one |
|---|
| 1872 | Ian Lynagh <igloo@earth.li>**20101218230827 |
|---|
| 1873 | Ignore-this: 5dd6c1a4142405aa1aab3fc4ec07eea6 |
|---|
| 1874 | ] |
|---|
| 1875 | [Replace uses of the old catch function with the new one |
|---|
| 1876 | Ian Lynagh <igloo@earth.li>**20101218213350] |
|---|
| 1877 | [Create ~/.ghc/ if it doesn't already exist; fixes trac #4522 |
|---|
| 1878 | Ian Lynagh <igloo@earth.li>**20101218184925] |
|---|
| 1879 | [Document GADTSyntax extension |
|---|
| 1880 | Ian Lynagh <igloo@earth.li>**20101218150121] |
|---|
| 1881 | [Implement GADTSyntax extension |
|---|
| 1882 | Ian Lynagh <igloo@earth.li>**20101218144550] |
|---|
| 1883 | [Whitespace-only in rts/Linker.c |
|---|
| 1884 | Ian Lynagh <igloo@earth.li>**20101217234124] |
|---|
| 1885 | [Add some casts to fix warnings; patch from Greg Wright |
|---|
| 1886 | Ian Lynagh <igloo@earth.li>**20101217223811] |
|---|
| 1887 | [Put an up-to-date Makefile in docs/Makefile |
|---|
| 1888 | Ian Lynagh <igloo@earth.li>**20101217223707 |
|---|
| 1889 | It doesn't do anything useful yet, but it works with the new build system |
|---|
| 1890 | ] |
|---|
| 1891 | [do not compile part of shared lib RTS with -fno-PIC on Solaris |
|---|
| 1892 | Karel Gardas <karel.gardas@centrum.cz>**20101217085133 |
|---|
| 1893 | Ignore-this: 8c8dbb45cac0578a58a3557f1e03c66 |
|---|
| 1894 | ] |
|---|
| 1895 | [provide shared libraries support on i386-unknown-solaris2 platform |
|---|
| 1896 | Karel Gardas <karel.gardas@centrum.cz>**20101217084617 |
|---|
| 1897 | Ignore-this: b6079c6a39a71200a1ee863573e40828 |
|---|
| 1898 | ] |
|---|
| 1899 | [fix CPP detection of Solaris in NCG |
|---|
| 1900 | Karel Gardas <karel.gardas@centrum.cz>**20101217084510 |
|---|
| 1901 | Ignore-this: 9d1ce59d469294eab1f0cbc697e48d69 |
|---|
| 1902 | ] |
|---|
| 1903 | [Fix checkBinaries on OS X |
|---|
| 1904 | Ian Lynagh <igloo@earth.li>**20101216201121] |
|---|
| 1905 | [Remove redundant HpcMap and HpcSet wrappers around Data.{Map,Set} |
|---|
| 1906 | Ian Lynagh <igloo@earth.li>**20101216190605] |
|---|
| 1907 | [Use "-perm -u+x" rather than "-executable" to find executables |
|---|
| 1908 | Ian Lynagh <igloo@earth.li>**20101216145235 |
|---|
| 1909 | On Windows, -executable is matching the html docs. |
|---|
| 1910 | ] |
|---|
| 1911 | [Remove a debugging print |
|---|
| 1912 | Ian Lynagh <igloo@earth.li>**20101216011459] |
|---|
| 1913 | [__GLASGOW_HASKELL__ >= 604 is now always true |
|---|
| 1914 | Ian Lynagh <igloo@earth.li>**20101215214656] |
|---|
| 1915 | [Remove more dead code now we require GHC >= 6.12 |
|---|
| 1916 | Ian Lynagh <igloo@earth.li>**20101215213715] |
|---|
| 1917 | [refactor and tidy up the section on RTS options |
|---|
| 1918 | Simon Marlow <marlowsd@gmail.com>**20101216123151 |
|---|
| 1919 | Ignore-this: 9cdafd687351d8a3ff879b64347f85d3 |
|---|
| 1920 | ] |
|---|
| 1921 | [Related to #4826: Some minor tweaks to the wording of the User Guide, section 4.16 |
|---|
| 1922 | Orphi <MathematicalOrchid@hotmail.com>**20101209170440 |
|---|
| 1923 | Ignore-this: c3d942d58594be7d4c2eb4dc3a22f19 |
|---|
| 1924 | ] |
|---|
| 1925 | [FIX #4826 partial: Add -rtsopts and -with-rtsopts to User Guide section 4.11.6 |
|---|
| 1926 | Orphi <MathematicalOrchid@hotmail.com>**20101209165152 |
|---|
| 1927 | Ignore-this: 2fc1c0abbb783695773ab0f9c013bbaa |
|---|
| 1928 | ] |
|---|
| 1929 | [FIX #4826 partially: Change -f to -? in User Guide section F4.16 |
|---|
| 1930 | Orphi <MathematicalOrchid@hotmail.com>**20101209144148 |
|---|
| 1931 | Ignore-this: 73410b350e80c8943ae722dec8dea44b |
|---|
| 1932 | ] |
|---|
| 1933 | [fix #3910 |
|---|
| 1934 | Simon Marlow <marlowsd@gmail.com>**20101216114452 |
|---|
| 1935 | Ignore-this: 410e95e188344a523520e192a3fb58ea |
|---|
| 1936 | ] |
|---|
| 1937 | [remove an optimisation that wasn't |
|---|
| 1938 | Simon Marlow <marlowsd@gmail.com>**20101215152656 |
|---|
| 1939 | Ignore-this: e8413f58e8292c6e7463087d885b3a7d |
|---|
| 1940 | ] |
|---|
| 1941 | [fix a warning |
|---|
| 1942 | Simon Marlow <marlowsd@gmail.com>**20101216105723 |
|---|
| 1943 | Ignore-this: ed6024378021a698ce638267ed3e21ab |
|---|
| 1944 | ] |
|---|
| 1945 | [use EXTERN_INLINE instead of STATIC_INLINE to avoid some gcc warnings |
|---|
| 1946 | Simon Marlow <marlowsd@gmail.com>**20101216105709 |
|---|
| 1947 | Ignore-this: d4e1586cf318883a8e611b55df7fbf10 |
|---|
| 1948 | ] |
|---|
| 1949 | [remove dead code |
|---|
| 1950 | Simon Marlow <marlowsd@gmail.com>**20101216104944 |
|---|
| 1951 | Ignore-this: 97a04a3e37c1b28abc222a28bab3d17d |
|---|
| 1952 | ] |
|---|
| 1953 | [fix retainer profiling: add missing case for TSO |
|---|
| 1954 | Simon Marlow <marlowsd@gmail.com>**20101216103900 |
|---|
| 1955 | Ignore-this: 11bda81ac159f638d719c1f6177702fb |
|---|
| 1956 | ] |
|---|
| 1957 | [add a missing STACK case |
|---|
| 1958 | Simon Marlow <marlowsd@gmail.com>**20101216102100 |
|---|
| 1959 | Ignore-this: ac1c036b5cbf4209b1d10b6ab1c83f27 |
|---|
| 1960 | ] |
|---|
| 1961 | [Remove code that is dead now that we need >= 6.12 to build |
|---|
| 1962 | Ian Lynagh <igloo@earth.li>**20101215201006] |
|---|
| 1963 | [fix for large stack allocations |
|---|
| 1964 | Simon Marlow <marlowsd@gmail.com>**20101215152419 |
|---|
| 1965 | Ignore-this: d9aca17d68bd99214c126989a2318e79 |
|---|
| 1966 | ] |
|---|
| 1967 | [Implement stack chunks and separate TSO/STACK objects |
|---|
| 1968 | Simon Marlow <marlowsd@gmail.com>**20101215120843 |
|---|
| 1969 | Ignore-this: 73fa9460314d4a4e54456af12bef7960 |
|---|
| 1970 | |
|---|
| 1971 | This patch makes two changes to the way stacks are managed: |
|---|
| 1972 | |
|---|
| 1973 | 1. The stack is now stored in a separate object from the TSO. |
|---|
| 1974 | |
|---|
| 1975 | This means that it is easier to replace the stack object for a thread |
|---|
| 1976 | when the stack overflows or underflows; we don't have to leave behind |
|---|
| 1977 | the old TSO as an indirection any more. Consequently, we can remove |
|---|
| 1978 | ThreadRelocated and deRefTSO(), which were a pain. |
|---|
| 1979 | |
|---|
| 1980 | This is obviously the right thing, but the last time I tried to do it |
|---|
| 1981 | it made performance worse. This time I seem to have cracked it. |
|---|
| 1982 | |
|---|
| 1983 | 2. Stacks are now represented as a chain of chunks, rather than |
|---|
| 1984 | a single monolithic object. |
|---|
| 1985 | |
|---|
| 1986 | The big advantage here is that individual chunks are marked clean or |
|---|
| 1987 | dirty according to whether they contain pointers to the young |
|---|
| 1988 | generation, and the GC can avoid traversing clean stack chunks during |
|---|
| 1989 | a young-generation collection. This means that programs with deep |
|---|
| 1990 | stacks will see a big saving in GC overhead when using the default GC |
|---|
| 1991 | settings. |
|---|
| 1992 | |
|---|
| 1993 | A secondary advantage is that there is much less copying involved as |
|---|
| 1994 | the stack grows. Programs that quickly grow a deep stack will see big |
|---|
| 1995 | improvements. |
|---|
| 1996 | |
|---|
| 1997 | In some ways the implementation is simpler, as nothing special needs |
|---|
| 1998 | to be done to reclaim stack as the stack shrinks (the GC just recovers |
|---|
| 1999 | the dead stack chunks). On the other hand, we have to manage stack |
|---|
| 2000 | underflow between chunks, so there's a new stack frame |
|---|
| 2001 | (UNDERFLOW_FRAME), and we now have separate TSO and STACK objects. |
|---|
| 2002 | The total amount of code is probably about the same as before. |
|---|
| 2003 | |
|---|
| 2004 | There are new RTS flags: |
|---|
| 2005 | |
|---|
| 2006 | -ki<size> Sets the initial thread stack size (default 1k) Egs: -ki4k -ki2m |
|---|
| 2007 | -kc<size> Sets the stack chunk size (default 32k) |
|---|
| 2008 | -kb<size> Sets the stack chunk buffer size (default 1k) |
|---|
| 2009 | |
|---|
| 2010 | -ki was previously called just -k, and the old name is still accepted |
|---|
| 2011 | for backwards compatibility. These new options are documented. |
|---|
| 2012 | ] |
|---|
| 2013 | [comments on SRC_HC_OPTS (#4829) |
|---|
| 2014 | Simon Marlow <marlowsd@gmail.com>**20101214101340 |
|---|
| 2015 | Ignore-this: e2bdec00f07b68e82837e77a4faf6514 |
|---|
| 2016 | ] |
|---|
| 2017 | [fix another sanity error, and refactor/tidy up |
|---|
| 2018 | Simon Marlow <marlowsd@gmail.com>**20101209163919 |
|---|
| 2019 | Ignore-this: d5ce953ac78e90fc0e22cd9848d26e2e |
|---|
| 2020 | ] |
|---|
| 2021 | [Fix a bug in functorLikeTraverse, which was giving wrong answer for tuples |
|---|
| 2022 | simonpj@microsoft.com**20101215123725 |
|---|
| 2023 | Ignore-this: 560220e92429b5b1a6197a62f94a4ff2 |
|---|
| 2024 | |
|---|
| 2025 | This bug led to Trac #4816, which is hereby fixed |
|---|
| 2026 | ] |
|---|
| 2027 | [Improve printing for -ddump-deriv |
|---|
| 2028 | simonpj@microsoft.com**20101215121955 |
|---|
| 2029 | Ignore-this: 3181c948c4c2471bd99b32c5ee487a1e |
|---|
| 2030 | ] |
|---|
| 2031 | [Tighten up what it means to be an "enumeration data constructor" |
|---|
| 2032 | simonpj@microsoft.com**20101215121927 |
|---|
| 2033 | Ignore-this: 459b3f9f7994a13094ed87b0768b33a8 |
|---|
| 2034 | |
|---|
| 2035 | See Note [Enumeration types] in TyCon, and comments in Trac #4528 |
|---|
| 2036 | ] |
|---|
| 2037 | [Allow enumerations to have phantom arguments. |
|---|
| 2038 | simonpj@microsoft.com**20101215121817 |
|---|
| 2039 | Ignore-this: 32ef8cb869e6e38c2e43b3ae87b1b9a8 |
|---|
| 2040 | |
|---|
| 2041 | The bytecode generator was being too eager. |
|---|
| 2042 | Fixes Trac #4528, or rather, a near variant. |
|---|
| 2043 | ] |
|---|
| 2044 | [Instance declaration overlap allowed if *either* has -XOverlappingInstances |
|---|
| 2045 | simonpj@microsoft.com**20101214180500 |
|---|
| 2046 | Ignore-this: f1b1492541a7e0464ebc6adb45510a2e |
|---|
| 2047 | |
|---|
| 2048 | This satisfies Trac #3877. Documentation is changed too. |
|---|
| 2049 | I'm not sure if this should go in 7.0.2. |
|---|
| 2050 | ] |
|---|
| 2051 | [Fix Trac #4841: behave right with TypeSynonymInstances and NoFlexibleInstances |
|---|
| 2052 | simonpj@microsoft.com**20101214174755 |
|---|
| 2053 | Ignore-this: dccd707fdca84904b7885170a296ecb6 |
|---|
| 2054 | |
|---|
| 2055 | When we have TypeSynonymInstances without FlexibleInstances we should still |
|---|
| 2056 | insist on a H98-style instance head, after looking through the synonym. |
|---|
| 2057 | |
|---|
| 2058 | This patch also make FlexibleInstances imply TypeSynonymInstances. Anything |
|---|
| 2059 | else is a bit awkward, and not very useful. |
|---|
| 2060 | |
|---|
| 2061 | ] |
|---|
| 2062 | [Fix Trac #3731: more superclass subtlety (sigh) |
|---|
| 2063 | simonpj@microsoft.com**20101214180344 |
|---|
| 2064 | Ignore-this: f4168e59f3164303ba7be022ba19c37b |
|---|
| 2065 | |
|---|
| 2066 | I will add more comments, but I want to commit this tonight, |
|---|
| 2067 | so the overnight builds get it. |
|---|
| 2068 | ] |
|---|
| 2069 | [Less verbose debug print |
|---|
| 2070 | simonpj@microsoft.com**20101214180248 |
|---|
| 2071 | Ignore-this: e405e8545763e913155abe43daf7e36c |
|---|
| 2072 | ] |
|---|
| 2073 | [Wibble to InstEnv.instanceHead |
|---|
| 2074 | simonpj@microsoft.com**20101214082939 |
|---|
| 2075 | Ignore-this: 851db517f8638a0aeb7ad461298f7e9f |
|---|
| 2076 | |
|---|
| 2077 | Fixes an accidental glitch in T1835 |
|---|
| 2078 | ] |
|---|
| 2079 | [Remove dead code now that we require the bootstrapping compiler be >= 6.12 |
|---|
| 2080 | Ian Lynagh <igloo@earth.li>**20101214011011] |
|---|
| 2081 | [GHC 6.12 is now needed to build the HEAD |
|---|
| 2082 | Ian Lynagh <igloo@earth.li>**20101214010923] |
|---|
| 2083 | [Add libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma to mingw tarballs |
|---|
| 2084 | Ian Lynagh <igloo@earth.li>**20101213223153] |
|---|
| 2085 | [Fix recursive superclasses (again). Fixes Trac #4809. |
|---|
| 2086 | simonpj@microsoft.com**20101213171511 |
|---|
| 2087 | Ignore-this: b91651397918fd8f0183812f9a070073 |
|---|
| 2088 | |
|---|
| 2089 | This patch finally deals with the super-delicate question of |
|---|
| 2090 | superclases in possibly-recursive dictionaries. The key idea |
|---|
| 2091 | is the DFun Superclass Invariant (see TcInstDcls): |
|---|
| 2092 | |
|---|
| 2093 | In the body of a DFun, every superclass argument to the |
|---|
| 2094 | returned dictionary is |
|---|
| 2095 | either * one of the arguments of the DFun, |
|---|
| 2096 | or * constant, bound at top level |
|---|
| 2097 | |
|---|
| 2098 | To establish the invariant, we add new "silent" superclass |
|---|
| 2099 | argument(s) to each dfun, so that the dfun does not do superclass |
|---|
| 2100 | selection internally. There's a bit of hoo-ha to make sure that |
|---|
| 2101 | we don't print those silent arguments in error messages; a knock |
|---|
| 2102 | on effect was a change in interface-file format. |
|---|
| 2103 | |
|---|
| 2104 | A second change is that instead of the complex and fragile |
|---|
| 2105 | "self dictionary binding" in TcInstDcls and TcClassDcl, |
|---|
| 2106 | using the same mechanism for existential pattern bindings. |
|---|
| 2107 | See Note [Subtle interaction of recursion and overlap] in TcInstDcls |
|---|
| 2108 | and Note [Binding when looking up instances] in InstEnv. |
|---|
| 2109 | |
|---|
| 2110 | Main notes are here: |
|---|
| 2111 | |
|---|
| 2112 | * Note [Silent Superclass Arguments] in TcInstDcls, |
|---|
| 2113 | including the DFun Superclass Invariant |
|---|
| 2114 | |
|---|
| 2115 | Main code changes are: |
|---|
| 2116 | |
|---|
| 2117 | * The code for MkId.mkDictFunId and mkDictFunTy |
|---|
| 2118 | |
|---|
| 2119 | * DFunUnfoldings get a little more complicated; |
|---|
| 2120 | their arguments are a new type DFunArg (in CoreSyn) |
|---|
| 2121 | |
|---|
| 2122 | * No "self" argument in tcInstanceMethod |
|---|
| 2123 | * No special tcSimplifySuperClasss |
|---|
| 2124 | * No "dependents" argument to EvDFunApp |
|---|
| 2125 | |
|---|
| 2126 | IMPORTANT |
|---|
| 2127 | It turns out that it's quite tricky to generate the right |
|---|
| 2128 | DFunUnfolding for a specialised dfun, when you use SPECIALISE |
|---|
| 2129 | INSTANCE. For now I've just commented it out (in DsBinds) but |
|---|
| 2130 | that'll lose some optimisation, and I need to get back to |
|---|
| 2131 | this. |
|---|
| 2132 | ] |
|---|
| 2133 | [Doing the smart canonicalization only if we are not simplifying a Rule LHS. |
|---|
| 2134 | dimitris@microsoft.com**20101210132221 |
|---|
| 2135 | Also, same thing now applies for adding superclasses. |
|---|
| 2136 | |
|---|
| 2137 | ] |
|---|
| 2138 | [Moved canonicalisation inside solveInteract |
|---|
| 2139 | dimitris@microsoft.com**20101209141215 |
|---|
| 2140 | |
|---|
| 2141 | Moreover canonicalisation now is "clever", i.e. it never canonicalizes a class |
|---|
| 2142 | constraint if it can already discharge it from some other inert or previously |
|---|
| 2143 | encountered constraints. See Note [Avoiding the superclass explosion] |
|---|
| 2144 | |
|---|
| 2145 | ] |
|---|
| 2146 | [GHCi linker: Assume non-Haskell libraries are dynamic libs |
|---|
| 2147 | Ian Lynagh <igloo@earth.li>**20101213124930 |
|---|
| 2148 | Ignore-this: aa153a8f6e309c7b3dae7e46bb7a9583 |
|---|
| 2149 | This works around a segfault we get when trying to load libiconv.a on |
|---|
| 2150 | some platforms. |
|---|
| 2151 | ] |
|---|
| 2152 | [Add --version support to ghc-cabal |
|---|
| 2153 | Ian Lynagh <igloo@earth.li>**20101212213600 |
|---|
| 2154 | Ignore-this: ef696dcb1b96a23765f9f18e75a56f5 |
|---|
| 2155 | ] |
|---|
| 2156 | [Don't link the GHC RTS into our C-only programs |
|---|
| 2157 | Ian Lynagh <igloo@earth.li>**20101210185402 |
|---|
| 2158 | Ignore-this: 56f620f7eb16a03e7497a161bc48458e |
|---|
| 2159 | ] |
|---|
| 2160 | [Build a copy of ghc-cabal with the in-tree compiler, for the bindist |
|---|
| 2161 | Ian Lynagh <igloo@earth.li>**20101210181123] |
|---|
| 2162 | [Add a test that all programs in the bindist were built with the right GHC |
|---|
| 2163 | Ian Lynagh <igloo@earth.li>**20101210161218 |
|---|
| 2164 | They should use the GHC from the build tree, not the bootstrapping compiler. |
|---|
| 2165 | ] |
|---|
| 2166 | [Fix Trac #4534: renamer bug |
|---|
| 2167 | simonpj@microsoft.com**20101210084530 |
|---|
| 2168 | Ignore-this: 8163bfa3a56344cfe89ad17c62e9655d |
|---|
| 2169 | |
|---|
| 2170 | The renamer wasn't attaching the right used-variables to a |
|---|
| 2171 | TransformStmt constructor. |
|---|
| 2172 | |
|---|
| 2173 | The real modification is in RnExpr; the rest is just |
|---|
| 2174 | pretty-printing and white space. |
|---|
| 2175 | ] |
|---|
| 2176 | [White space only |
|---|
| 2177 | simonpj@microsoft.com**20101210084255 |
|---|
| 2178 | Ignore-this: 3fcf8a4fc8c15052c379a135951d53ea |
|---|
| 2179 | ] |
|---|
| 2180 | [Comments only |
|---|
| 2181 | simonpj@microsoft.com**20101210084116 |
|---|
| 2182 | Ignore-this: 55bb1de129b1c9513751885eaa84b884 |
|---|
| 2183 | ] |
|---|
| 2184 | [Make the case-to-let transformation a little less eager |
|---|
| 2185 | simonpj@microsoft.com**20101208172251 |
|---|
| 2186 | Ignore-this: 55eaa1b5753af31aeb32ec792cb6b662 |
|---|
| 2187 | |
|---|
| 2188 | See Note [Case elimination: lifted case]. |
|---|
| 2189 | Thanks to Roman for identifying this case. |
|---|
| 2190 | ] |
|---|
| 2191 | [warning fix: don't redefine BLOCKS_PER_MBLOCK |
|---|
| 2192 | Simon Marlow <marlowsd@gmail.com>**20101210094002 |
|---|
| 2193 | Ignore-this: cadba57f1c38f5e2af1de37d0a79c7ee |
|---|
| 2194 | ] |
|---|
| 2195 | [Only reset the event log if logging is turned on (addendum to #4512) |
|---|
| 2196 | Simon Marlow <marlowsd@gmail.com>**20101210093951 |
|---|
| 2197 | Ignore-this: c9f85f0de2b11a37337672fba59aecc6 |
|---|
| 2198 | ] |
|---|
| 2199 | [allocate enough room for the longer filename (addendum to #4512) |
|---|
| 2200 | Simon Marlow <marlowsd@gmail.com>**20101210093906 |
|---|
| 2201 | Ignore-this: 270dc0219d98f1e0f9e006102ade7087 |
|---|
| 2202 | ] |
|---|
| 2203 | [Fix Windows build: move rtsTimerSignal to the POSIX-only section |
|---|
| 2204 | Simon Marlow <marlowsd@gmail.com>**20101210090045 |
|---|
| 2205 | Ignore-this: aa1844b70b9f1a44447787c4bbe10d44 |
|---|
| 2206 | ] |
|---|
| 2207 | [Default the value of -dppr-cols when the static flags aren't initialised yet |
|---|
| 2208 | Ben Lippmeier <benl@ouroborus.net>**20101210060154 |
|---|
| 2209 | Ignore-this: 4cea29085ef904f379a8829714c9e180 |
|---|
| 2210 | If GHC's command line options are bad then the options parser uses the |
|---|
| 2211 | pretty printer before the -dppr-cols flag has been read. |
|---|
| 2212 | ] |
|---|
| 2213 | [Defensify naked read in LLVM mangler |
|---|
| 2214 | Ben Lippmeier <benl@ouroborus.net>**20101210045922 |
|---|
| 2215 | Ignore-this: 1373f597863851bd03e7a7254558ed04 |
|---|
| 2216 | ] |
|---|
| 2217 | [Formatting only |
|---|
| 2218 | Ben Lippmeier <benl@ouroborus.net>**20101210042600 |
|---|
| 2219 | Ignore-this: 20bbcd95c70b59094d0bb8a63e459103 |
|---|
| 2220 | ] |
|---|
| 2221 | [Always ppr case alts on separate lines |
|---|
| 2222 | Ben Lippmeier <benl@ouroborus.net>**20101208070508 |
|---|
| 2223 | Ignore-this: 7e2edd57a61427621aeb254aef84f0f7 |
|---|
| 2224 | ] |
|---|
| 2225 | [Add -dppr-colsN to set width of dumps |
|---|
| 2226 | Ben Lippmeier <benl@ouroborus.net>**20101208070245 |
|---|
| 2227 | Ignore-this: edc64fee6c373b895bb80b83b549ce1a |
|---|
| 2228 | ] |
|---|
| 2229 | [Add -dppr-case-as-let to print "strict lets" as actual lets |
|---|
| 2230 | Ben Lippmeier <benl@ouroborus.net>**20101208065548 |
|---|
| 2231 | Ignore-this: eb1d122dbd73b5263cae3a9f8259a838 |
|---|
| 2232 | ] |
|---|
| 2233 | [Suppress more info with -dsuppress-idinfo |
|---|
| 2234 | Ben Lippmeier <benl@ouroborus.net>**20101208063037 |
|---|
| 2235 | Ignore-this: 5e8213d7b8d2905e245917aa3e83efc5 |
|---|
| 2236 | ] |
|---|
| 2237 | [Implement -dsuppress-type-signatures |
|---|
| 2238 | Ben Lippmeier <benl@ouroborus.net>**20101208062814 |
|---|
| 2239 | Ignore-this: 34dbefe5f8d7fe58ecb26d6a748d1c71 |
|---|
| 2240 | ] |
|---|
| 2241 | [Add more suppression flags |
|---|
| 2242 | Ben Lippmeier <benl@ouroborus.net>**20101208020723 |
|---|
| 2243 | Ignore-this: b010ba9789a2fde6b815f33494fcc23c |
|---|
| 2244 | -dsuppress-all |
|---|
| 2245 | -dsuppress-type-applications |
|---|
| 2246 | -dsuppress-idinfo |
|---|
| 2247 | ] |
|---|
| 2248 | [fix ticket number (#4505) |
|---|
| 2249 | Simon Marlow <marlowsd@gmail.com>**20101209120404 |
|---|
| 2250 | Ignore-this: 5769c5ce2a8d69d62d977a9ae138ec23 |
|---|
| 2251 | ] |
|---|
| 2252 | [fix warnings |
|---|
| 2253 | Simon Marlow <marlowsd@gmail.com>**20101209115844 |
|---|
| 2254 | Ignore-this: ffff37feb2abbfc5bd12940c7007c208 |
|---|
| 2255 | ] |
|---|
| 2256 | [Catch too-large allocations and emit an error message (#4505) |
|---|
| 2257 | Simon Marlow <marlowsd@gmail.com>**20101209114005 |
|---|
| 2258 | Ignore-this: c9013ab63dd0bd62ea045060528550c6 |
|---|
| 2259 | |
|---|
| 2260 | This is a temporary measure until we fix the bug properly (which is |
|---|
| 2261 | somewhat tricky, and we think might be easier in the new code |
|---|
| 2262 | generator). |
|---|
| 2263 | |
|---|
| 2264 | For now we get: |
|---|
| 2265 | |
|---|
| 2266 | ghc-stage2: sorry! (unimplemented feature or known bug) |
|---|
| 2267 | (GHC version 7.1 for i386-unknown-linux): |
|---|
| 2268 | Trying to allocate more than 1040384 bytes. |
|---|
| 2269 | |
|---|
| 2270 | See: http://hackage.haskell.org/trac/ghc/ticket/4550 |
|---|
| 2271 | Suggestion: read data from a file instead of having large static data |
|---|
| 2272 | structures in the code. |
|---|
| 2273 | ] |
|---|
| 2274 | [Export the value of the signal used by scheduler (#4504) |
|---|
| 2275 | Dmitry Astapov <dastapov@gmail.com>**20101208183755 |
|---|
| 2276 | Ignore-this: 427bf8c2469283fc7a6f759440d07d87 |
|---|
| 2277 | ] |
|---|
| 2278 | [Tweak the "sorry" message a bit |
|---|
| 2279 | Simon Marlow <marlowsd@gmail.com>**20101208163212 |
|---|
| 2280 | Ignore-this: aa1ce5bc3c27111548204b740572efbe |
|---|
| 2281 | |
|---|
| 2282 | - "sorry! (this is work in progress)\n" |
|---|
| 2283 | + "sorry! (unimplemented feature or known bug)\n" |
|---|
| 2284 | ] |
|---|
| 2285 | [:unset settings support |
|---|
| 2286 | Boris Lykah <lykahb@gmail.com>**20101123190132 |
|---|
| 2287 | Ignore-this: 5e97c99238f5d2394592858c34c004d |
|---|
| 2288 | Added support for settings [args, prog, prompt, editor and stop]. |
|---|
| 2289 | Now :unset supports the same set of options as :set. |
|---|
| 2290 | ] |
|---|
| 2291 | [Fix Windows memory freeing: add a check for fb == NULL; fixes trac #4506 |
|---|
| 2292 | Ian Lynagh <igloo@earth.li>**20101208152349 |
|---|
| 2293 | Also added a few comments, and a load of code got indented 1 level deeper. |
|---|
| 2294 | ] |
|---|
| 2295 | [Fixes for #4512: EventLog.c - provides ability to terminate event logging, Schedule.c - uses them in forkProcess. |
|---|
| 2296 | Dmitry Astapov <dastapov@gmail.com>**20101203133950 |
|---|
| 2297 | Ignore-this: 2da7f215d6c22708a18291a416ba8881 |
|---|
| 2298 | ] |
|---|
| 2299 | [Make CPPFLAGS variables, as well as CFLAGS and LDFLAGS |
|---|
| 2300 | Ian Lynagh <igloo@earth.li>**20101207010033 |
|---|
| 2301 | Ignore-this: 2fc1ca1422aae1988d0fe1d29a8485d9 |
|---|
| 2302 | This fixes the "does unsetenv return void" test in the unix package on |
|---|
| 2303 | OS X, if I tell it to make 10.4-compatible binaries. The test uses |
|---|
| 2304 | CPPFLAGS but not CFLAGS, so it thought it returned int (as it was |
|---|
| 2305 | in 10.5-mode), but the C compiler (using CFLAGS, so in 10.4 mode) |
|---|
| 2306 | thought it returned void. |
|---|
| 2307 | |
|---|
| 2308 | I also added CONF_LD_OPTS_STAGE$3 to the list of things in LDFLAGS, |
|---|
| 2309 | which looks like an accidental ommission. |
|---|
| 2310 | ] |
|---|
| 2311 | [Add a configure message |
|---|
| 2312 | Ian Lynagh <igloo@earth.li>**20101206215201] |
|---|
| 2313 | [Link even programs containing no Haskell modules with GHC |
|---|
| 2314 | Ian Lynagh <igloo@earth.li>**20101206203329 |
|---|
| 2315 | I don't remember why we made it use gcc instead, but going back to |
|---|
| 2316 | using ghc doesn't seem to break anything, and should fix the build |
|---|
| 2317 | on OS X 10.6. |
|---|
| 2318 | ] |
|---|
| 2319 | [Correct the stage that the includes/ tools are built in |
|---|
| 2320 | Ian Lynagh <igloo@earth.li>**20101206203125] |
|---|
| 2321 | [Tweak the cleaning of inplace/; fixes trac #4320 |
|---|
| 2322 | Ian Lynagh <igloo@earth.li>**20101205212048] |
|---|
| 2323 | [Close .ghci files after reading them; fixes trac #4487 |
|---|
| 2324 | Ian Lynagh <igloo@earth.li>**20101205205301] |
|---|
| 2325 | [Fix the behaviour of :history for ticks surrounding top level functions |
|---|
| 2326 | pepeiborra@gmail.com**20101203202346 |
|---|
| 2327 | Ignore-this: 8059d4859c52c0c9a235b937cb8cde1d |
|---|
| 2328 | ] |
|---|
| 2329 | [Don't warn of duplicate exports in case of module exports. |
|---|
| 2330 | Michal Terepeta <michal.terepeta@gmail.com>**20101127212116 |
|---|
| 2331 | Ignore-this: ea225d517826f971c400bbb68d1405b8 |
|---|
| 2332 | |
|---|
| 2333 | But only when the module exports refer to different modules. |
|---|
| 2334 | See ticket #4478. |
|---|
| 2335 | ] |
|---|
| 2336 | [Fix whitespace/layout in RnNames. |
|---|
| 2337 | Michal Terepeta <michal.terepeta@gmail.com>**20101030171303 |
|---|
| 2338 | Ignore-this: 707a7955fc4fc51683cc5a1dfe57f93 |
|---|
| 2339 | ] |
|---|
| 2340 | [Tell gcc to support back to OS X 10.5 |
|---|
| 2341 | Ian Lynagh <igloo@earth.li>**20101203201558 |
|---|
| 2342 | Ignore-this: f02d70e5b9cce50137981c6cb2b62a18 |
|---|
| 2343 | ] |
|---|
| 2344 | [Make RelaxedLayout off by default |
|---|
| 2345 | Ian Lynagh <igloo@earth.li>**20101202140808 |
|---|
| 2346 | I suspect this is a vary rarely used extension to the official layout |
|---|
| 2347 | rule. |
|---|
| 2348 | ] |
|---|
| 2349 | [Fix up TcInstDcls |
|---|
| 2350 | simonpj@microsoft.com**20101203180758 |
|---|
| 2351 | Ignore-this: 9311aeb4ee67c799704afec90b5982d0 |
|---|
| 2352 | |
|---|
| 2353 | I really don't know how this module got left out of my last |
|---|
| 2354 | patch, namely |
|---|
| 2355 | Thu Dec 2 12:35:47 GMT 2010 simonpj@microsoft.com |
|---|
| 2356 | * Re-jig simplifySuperClass (again) |
|---|
| 2357 | |
|---|
| 2358 | I suggest you don't pull either the patch above, or this |
|---|
| 2359 | one, unless you really have to. I'm not fully confident |
|---|
| 2360 | that it works properly yet. Ran out of time. Sigh. |
|---|
| 2361 | ] |
|---|
| 2362 | [throwTo: report the why_blocked value in the barf() |
|---|
| 2363 | Simon Marlow <marlowsd@gmail.com>**20101203094840 |
|---|
| 2364 | Ignore-this: 3b167c581be1c51dfe3586cc6359e1d0 |
|---|
| 2365 | ] |
|---|
| 2366 | [handle ThreadMigrating in throwTo() (#4811) |
|---|
| 2367 | Simon Marlow <marlowsd@gmail.com>**20101203094818 |
|---|
| 2368 | Ignore-this: 8ef8cb7fd3b50a27f83c29968131d461 |
|---|
| 2369 | If a throwTo targets a thread that has just been created with |
|---|
| 2370 | forkOnIO, then it is possible the exception strikes while the thread |
|---|
| 2371 | is still in the process of migrating. throwTo() didn't handle this |
|---|
| 2372 | case, but it's fairly straightforward. |
|---|
| 2373 | ] |
|---|
| 2374 | [removeThreadFromQueue: stub out the link field before returning (#4813) |
|---|
| 2375 | Simon Marlow <marlowsd@gmail.com>**20101202160838 |
|---|
| 2376 | Ignore-this: 653ae17bc1120d7f4130da94665002a1 |
|---|
| 2377 | ] |
|---|
| 2378 | [small tidyup |
|---|
| 2379 | Simon Marlow <marlowsd@gmail.com>**20101126140620 |
|---|
| 2380 | Ignore-this: 70b1d5ed4c81a7b29dd5980a2d84aae1 |
|---|
| 2381 | ] |
|---|
| 2382 | [Fix a recomp bug: make classes/datatypes depend directly on DFuns (#4469) |
|---|
| 2383 | Simon Marlow <marlowsd@gmail.com>**20101202122349 |
|---|
| 2384 | Ignore-this: 61c765583bb1d97caa88cf9b4f45b87c |
|---|
| 2385 | And remove the old mechanism of recording dfun uses separately, |
|---|
| 2386 | because it didn't work. |
|---|
| 2387 | |
|---|
| 2388 | This wiki page describes recompilation avoidance and fingerprinting. |
|---|
| 2389 | I'll update it to describe the new method and what went wrong with the |
|---|
| 2390 | old method: |
|---|
| 2391 | |
|---|
| 2392 | http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance |
|---|
| 2393 | ] |
|---|
| 2394 | [make a panic message more informative and suggest -dcore-lint (see #4534) |
|---|
| 2395 | Simon Marlow <marlowsd@gmail.com>**20101201151706 |
|---|
| 2396 | Ignore-this: 2a10761925d6f9f52675948baa30f7a |
|---|
| 2397 | ] |
|---|
| 2398 | [Re-jig simplifySuperClass (again) |
|---|
| 2399 | simonpj@microsoft.com**20101202123547 |
|---|
| 2400 | Ignore-this: fe4062b8988258f6748ebd8fbd6515b5 |
|---|
| 2401 | |
|---|
| 2402 | This fixes the current loop in T3731, and will fix other |
|---|
| 2403 | reported loops. The loops show up when we are generating |
|---|
| 2404 | evidence for superclasses in an instance declaration. |
|---|
| 2405 | |
|---|
| 2406 | The trick is to make the "self" dictionary simplifySuperClass |
|---|
| 2407 | depend *explicitly* on the superclass we are currently trying |
|---|
| 2408 | to build. See Note [Dependencies in self dictionaries] in TcSimplify. |
|---|
| 2409 | |
|---|
| 2410 | That in turn means that EvDFunApp needs a dependency-list, used |
|---|
| 2411 | when chasing dependencies in isGoodRecEv. |
|---|
| 2412 | ] |
|---|
| 2413 | [A little refactoring (remove redundant argument passed to isGoodRecEv) |
|---|
| 2414 | simonpj@microsoft.com**20101202123110 |
|---|
| 2415 | Ignore-this: e517c5c12109a230f08dafb4d1e386df |
|---|
| 2416 | ] |
|---|
| 2417 | [Make rebindable if-then-else a little more permissive |
|---|
| 2418 | simonpj@microsoft.com**20101202122540 |
|---|
| 2419 | Ignore-this: ddb552cfe307607b42d1e4baf4e3bf21 |
|---|
| 2420 | |
|---|
| 2421 | See Note [Rebindable syntax for if]. Fixes Trac #4798. |
|---|
| 2422 | Thanks to Nils Schweinsberg <mail@n-sch.de> |
|---|
| 2423 | ] |
|---|
| 2424 | [Improve error message (Trac #4799) |
|---|
| 2425 | simonpj@microsoft.com**20101202102706 |
|---|
| 2426 | Ignore-this: d9896e4d182936de1f256c820b96a8cf |
|---|
| 2427 | ] |
|---|
| 2428 | [Fix a nasty bug in RULE matching: Trac #4814 |
|---|
| 2429 | simonpj@microsoft.com**20101202102618 |
|---|
| 2430 | Ignore-this: ba058ad46a02bd2faf3a14de93fd19c6 |
|---|
| 2431 | |
|---|
| 2432 | See Note [Matching lets], which explains it all in detail. |
|---|
| 2433 | It took me a day to think of a nice way to fix the bug, |
|---|
| 2434 | but I think the result is quite respectable. Subtle, though. |
|---|
| 2435 | ] |
|---|
| 2436 | [Rename -XPArr to -XParallelArrays |
|---|
| 2437 | Ben Lippmeier <benl@ouroborus.net>**20101130075415 |
|---|
| 2438 | Ignore-this: 21b37680a7f25800d1200b59ad0b6b39 |
|---|
| 2439 | ] |
|---|
| 2440 | [FIX #1845 (unconditional relative branch out of range) |
|---|
| 2441 | pho@cielonegro.org**20101130143014 |
|---|
| 2442 | Ignore-this: df234bd8ad937104c455656fe3c33732 |
|---|
| 2443 | |
|---|
| 2444 | Don't use mmap on powerpc-apple-darwin as mmap doesn't support |
|---|
| 2445 | reallocating but we need to allocate jump islands just after each |
|---|
| 2446 | object images. Otherwise relative branches to jump islands can fail |
|---|
| 2447 | due to 24-bits displacement overflow. |
|---|
| 2448 | ] |
|---|
| 2449 | [rts/Linker.c (loadArchive): |
|---|
| 2450 | pho@cielonegro.org**20101130142700 |
|---|
| 2451 | Ignore-this: bc84f9369ce5c2d289440701b7a3a2ab |
|---|
| 2452 | |
|---|
| 2453 | This routine should be aware of Mach-O misalignment of malloc'ed memory regions. |
|---|
| 2454 | ] |
|---|
| 2455 | [rts/Linker.c (machoGetMisalignment): |
|---|
| 2456 | pho@cielonegro.org**20101130123355 |
|---|
| 2457 | Ignore-this: 75425600049efd587e9873578e26392f |
|---|
| 2458 | |
|---|
| 2459 | 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(). |
|---|
| 2460 | ] |
|---|
| 2461 | [rts/Linker.c (ocFlushInstructionCache): |
|---|
| 2462 | pho@cielonegro.org**20101130121425 |
|---|
| 2463 | Ignore-this: 1e2c207e4b1d17387617ec5d645204b7 |
|---|
| 2464 | |
|---|
| 2465 | I found this function causes a segfault when ocAllocateSymbolExtras() has allocated a separate memory region for jump islands. |
|---|
| 2466 | ] |
|---|
| 2467 | [Remove NewQualifiedOperators |
|---|
| 2468 | Ian Lynagh <igloo@earth.li>**20101201181117 |
|---|
| 2469 | The extension was rejected by Haskell', and deprecated in 7.0. |
|---|
| 2470 | ] |
|---|
| 2471 | [fix ref to utils/ext-core, which moved to Hackage (extcore package) |
|---|
| 2472 | Simon Marlow <marlowsd@gmail.com>**20101201092147 |
|---|
| 2473 | Ignore-this: 272a7daaa335ef60bcc645db70b4d68b |
|---|
| 2474 | ] |
|---|
| 2475 | [fix floating-point/FFI section: fenv is C99, not POSIX |
|---|
| 2476 | Simon Marlow <marlowsd@gmail.com>**20101201092119 |
|---|
| 2477 | Ignore-this: ce8b3edd428e4f77691dd739b5b4ae73 |
|---|
| 2478 | ] |
|---|
| 2479 | [Fixed some 'unused vars' warnings |
|---|
| 2480 | keller@cse.unsw.edu.au**20101130013425 |
|---|
| 2481 | Ignore-this: 35790d443faa23b87e4ba442e62376a3 |
|---|
| 2482 | ] |
|---|
| 2483 | [vectScalarLam handles int, float, and double now |
|---|
| 2484 | keller@cse.unsw.edu.au**20101129231043 |
|---|
| 2485 | Ignore-this: 6d67bdc8dd8577184040e791e6f3d0 |
|---|
| 2486 | ] |
|---|
| 2487 | [Handling of lets, letrec and case when checking if a lambda expr needs to be vectorised |
|---|
| 2488 | keller@cse.unsw.edu.au**20101115051225 |
|---|
| 2489 | Ignore-this: 1db6ed63d7b3f6d093e019322b407ff7 |
|---|
| 2490 | ] |
|---|
| 2491 | [Document the behaviour of fenv.h functions with GHC (#4391) |
|---|
| 2492 | Simon Marlow <marlowsd@gmail.com>**20101126125336 |
|---|
| 2493 | Ignore-this: bc4eab49428d567505a28add6fed90f1 |
|---|
| 2494 | ] |
|---|
| 2495 | [Remove the no-ghci-lib warning in ghc-pkg |
|---|
| 2496 | Ian Lynagh <igloo@earth.li>**20101127235805 |
|---|
| 2497 | GHCi libs are no longer necessary, as we can use the .a or .so versions |
|---|
| 2498 | instead. |
|---|
| 2499 | ] |
|---|
| 2500 | [Add GNU-variant support to the .a parser, and other improvements/tidyups |
|---|
| 2501 | Ian Lynagh <igloo@earth.li>**20101127223945] |
|---|
| 2502 | [Re-indent only |
|---|
| 2503 | Ian Lynagh <igloo@earth.li>**20101127191646] |
|---|
| 2504 | [Improve linker debugging for archive files |
|---|
| 2505 | Ian Lynagh <igloo@earth.li>**20101127190907] |
|---|
| 2506 | [Always enable the archive-loading code |
|---|
| 2507 | Ian Lynagh <igloo@earth.li>**20101127173000 |
|---|
| 2508 | If the GHCi .o lib doesn't exist, load the .a instead |
|---|
| 2509 | ] |
|---|
| 2510 | [Inherit the ForceSpecConstr flag in non-recursive nested bindings |
|---|
| 2511 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127125025 |
|---|
| 2512 | Ignore-this: 401391eae25cefcb4afaba2e357decc1 |
|---|
| 2513 | |
|---|
| 2514 | This makes sure that join points are fully specialised in loops which are |
|---|
| 2515 | marked as ForceSpecConstr. |
|---|
| 2516 | ] |
|---|
| 2517 | [Document -ddump-rule-firings and -ddump-rule-rewrites |
|---|
| 2518 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127123528 |
|---|
| 2519 | Ignore-this: beade2efe0cd767c0ce9d4f45a3380ba |
|---|
| 2520 | ] |
|---|
| 2521 | [New flag -dddump-rule-rewrites |
|---|
| 2522 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101127122022 |
|---|
| 2523 | Ignore-this: c0ef5b8a199fbd1ef020258d2cde85a3 |
|---|
| 2524 | |
|---|
| 2525 | Now, -ddump-rule-firings only shows the names of the rules that fired (it would |
|---|
| 2526 | show "before" and "after" with -dverbose-core2core previously) and |
|---|
| 2527 | -ddump-rule-rewrites always shows the "before" and "after" bits, even without |
|---|
| 2528 | -dverbose-core2core. |
|---|
| 2529 | ] |
|---|
| 2530 | [Acutally, wild-card variables *can* have occurrences |
|---|
| 2531 | simonpj@microsoft.com**20101126162409 |
|---|
| 2532 | Ignore-this: 544bffed75eeccef03a1097f98524eea |
|---|
| 2533 | |
|---|
| 2534 | This patch removes the Lint test, and comments why |
|---|
| 2535 | ] |
|---|
| 2536 | [Tidy up the handling of wild-card binders, and make Lint check it |
|---|
| 2537 | simonpj@microsoft.com**20101126133210 |
|---|
| 2538 | Ignore-this: 9e0be9f7867d53046ee5b0e478a0f433 |
|---|
| 2539 | |
|---|
| 2540 | See Note [WildCard binders] in SimplEnv. Spotted by Roman. |
|---|
| 2541 | ] |
|---|
| 2542 | [Substitution should just substitute, not optimise |
|---|
| 2543 | simonpj@microsoft.com**20101125172356 |
|---|
| 2544 | Ignore-this: 657628d9b6796ceb5f915c43d56e4a06 |
|---|
| 2545 | |
|---|
| 2546 | This was causing Trac #4524, by optimising |
|---|
| 2547 | (e |> co) to e |
|---|
| 2548 | on the LHS of a rule. Result, the template variable |
|---|
| 2549 | 'co' wasn't bound any more. |
|---|
| 2550 | |
|---|
| 2551 | Now that substition doesn't optimise, it seems sensible to call |
|---|
| 2552 | simpleOptExpr rather than substExpr when substituting in the |
|---|
| 2553 | RHS of rules. Not a big deal either way. |
|---|
| 2554 | ] |
|---|
| 2555 | [Make SpecConstr "look through" identity coercions |
|---|
| 2556 | simonpj@microsoft.com**20101125172138 |
|---|
| 2557 | Ignore-this: c1cc585ed890a7702c33987e971e0af6 |
|---|
| 2558 | ] |
|---|
| 2559 | [Comment only |
|---|
| 2560 | simonpj@microsoft.com**20101125172011 |
|---|
| 2561 | Ignore-this: 3c7be8791badd00dcca9610ebb8981d1 |
|---|
| 2562 | ] |
|---|
| 2563 | [White space only |
|---|
| 2564 | simonpj@microsoft.com**20101101080748 |
|---|
| 2565 | Ignore-this: f7133fc6b22ae263c6672543a8534a6f |
|---|
| 2566 | ] |
|---|
| 2567 | [Keep a maximum of 6 spare worker threads per Capability (#4262) |
|---|
| 2568 | Simon Marlow <marlowsd@gmail.com>**20101125135729 |
|---|
| 2569 | Ignore-this: a020786569656bf2f3a1717b65d463bd |
|---|
| 2570 | ] |
|---|
| 2571 | [Unicide OtherNumber category should be allowed in identifiers (#4373) |
|---|
| 2572 | Simon Marlow <marlowsd@gmail.com>**20101115095444 |
|---|
| 2573 | Ignore-this: e331b6ddb17550163ee91bd283348800 |
|---|
| 2574 | ] |
|---|
| 2575 | [vectoriser: fix warning |
|---|
| 2576 | Ben Lippmeier <benl@ouroborus.net>**20101126044036 |
|---|
| 2577 | Ignore-this: e1a66bb405bf2f3f56b42c3b13fd4bf3 |
|---|
| 2578 | ] |
|---|
| 2579 | [vectoriser: fix warning |
|---|
| 2580 | Ben Lippmeier <benl@ouroborus.net>**20101126042950 |
|---|
| 2581 | Ignore-this: df8dd25bcfb3946c2974b13953a2f2c7 |
|---|
| 2582 | ] |
|---|
| 2583 | [vectoriser: take class directly from the instance tycon |
|---|
| 2584 | Ben Lippmeier <benl@ouroborus.net>**20101126042900 |
|---|
| 2585 | Ignore-this: 626a416717a5a059f39e53f4ec95fc66 |
|---|
| 2586 | ] |
|---|
| 2587 | [vectoriser: comments only |
|---|
| 2588 | Ben Lippmeier <benl@ouroborus.net>**20101125073201 |
|---|
| 2589 | Ignore-this: 8846ea8895307083bd1ebbc5d7fb1c5 |
|---|
| 2590 | ] |
|---|
| 2591 | [vectoriser: follow changes in mkClass |
|---|
| 2592 | Ben Lippmeier <benl@ouroborus.net>**20101125062349 |
|---|
| 2593 | Ignore-this: d5018cc022686d4272e126ca9a12283a |
|---|
| 2594 | ] |
|---|
| 2595 | [vectoriser: tracing wibbles |
|---|
| 2596 | Ben Lippmeier <benl@ouroborus.net>**20101125062332 |
|---|
| 2597 | Ignore-this: c2024d8f03bc03bee2851f4f1c139fd5 |
|---|
| 2598 | ] |
|---|
| 2599 | [mkDFunUnfolding wants the type of the dfun to be a PredTy |
|---|
| 2600 | benl@ouroborus.net**20100914062939 |
|---|
| 2601 | Ignore-this: 7aa6e6b140746184cf00355b50c83b66 |
|---|
| 2602 | ] |
|---|
| 2603 | [vectoriser: fix conflicts |
|---|
| 2604 | Ben Lippmeier <benl@ouroborus.net>**20101125060904 |
|---|
| 2605 | Ignore-this: cc3decab1affada8629ca3818b76b3bf |
|---|
| 2606 | ] |
|---|
| 2607 | [Comments and formatting only |
|---|
| 2608 | benl@ouroborus.net**20100914062903 |
|---|
| 2609 | Ignore-this: b0fc25f0952cafd56cc25353936327d4 |
|---|
| 2610 | ] |
|---|
| 2611 | [Comments and formatting to type environment vectoriser |
|---|
| 2612 | benl@ouroborus.net**20100909080405 |
|---|
| 2613 | Ignore-this: ab8549d53f845c9d82ed9a525fda3906 |
|---|
| 2614 | ] |
|---|
| 2615 | [Don't mix implicit and explicit layout |
|---|
| 2616 | Ian Lynagh <igloo@earth.li>**20101124231514] |
|---|
| 2617 | [Whitespace only |
|---|
| 2618 | Ian Lynagh <igloo@earth.li>**20101124230655] |
|---|
| 2619 | [Separate NondecreasingIndentation out into its own extension |
|---|
| 2620 | Ian Lynagh <igloo@earth.li>**20101124220507] |
|---|
| 2621 | [Add another GHC layout rule relaxation to RelaxedLayout |
|---|
| 2622 | Ian Lynagh <igloo@earth.li>**20101124205957] |
|---|
| 2623 | [Remove an unused build system variable: GhcDir |
|---|
| 2624 | Ian Lynagh <igloo@earth.li>**20101124140455] |
|---|
| 2625 | [Remove unused build system variable: GhcHasEditline |
|---|
| 2626 | Ian Lynagh <igloo@earth.li>**20101124140415] |
|---|
| 2627 | [Remove unused variables from the build system: HBC, NHC, MKDEPENDHS |
|---|
| 2628 | Ian Lynagh <igloo@earth.li>**20101124140052] |
|---|
| 2629 | [Remove references to Haskell 98 |
|---|
| 2630 | Ian Lynagh <igloo@earth.li>**20101123233536 |
|---|
| 2631 | They are no longer right, as we have Haskell' generating new Haskell |
|---|
| 2632 | standards. |
|---|
| 2633 | ] |
|---|
| 2634 | [Tweak a configure test |
|---|
| 2635 | Ian Lynagh <igloo@earth.li>**20101123170621] |
|---|
| 2636 | [Add a configure test for the visibility hidden attribute |
|---|
| 2637 | Ian Lynagh <igloo@earth.li>**20101123170541] |
|---|
| 2638 | [sanity: fix places where we weren't filling fresh memory with 0xaa |
|---|
| 2639 | Simon Marlow <marlowsd@gmail.com>**20101029092843 |
|---|
| 2640 | Ignore-this: 2cb18f7f5afcaf33371aeffce67e218f |
|---|
| 2641 | ] |
|---|
| 2642 | [Just some alpha renaming |
|---|
| 2643 | Ian Lynagh <igloo@earth.li>**20101121144455 |
|---|
| 2644 | Ignore-this: d5e807c5470840efc199e29f7d50804c |
|---|
| 2645 | ] |
|---|
| 2646 | [Fix bug #3165 (:history throws irrefutable pattern failed) |
|---|
| 2647 | pepeiborra@gmail.com**20101115223623 |
|---|
| 2648 | Ignore-this: 73edf56e502b4d0385bc044133b27946 |
|---|
| 2649 | |
|---|
| 2650 | I ran across this bug and took the time to fix it, closing |
|---|
| 2651 | a long time due TODO in InteractiveEval.hs |
|---|
| 2652 | |
|---|
| 2653 | Instead of looking around to find the enclosing declaration |
|---|
| 2654 | of a tick, this patch makes use of the information already collected during the |
|---|
| 2655 | coverage desugaring phase |
|---|
| 2656 | ] |
|---|
| 2657 | [For bindists, build ghc-pwd with stage 1 |
|---|
| 2658 | Ian Lynagh <igloo@earth.li>**20101121183520 |
|---|
| 2659 | Ignore-this: a3b5c8b78c81ec1b6d5fbf23da346ff5 |
|---|
| 2660 | rather then the bootstrapping compiler. This fixes problems where the |
|---|
| 2661 | bootstrapping compiler dynamically links against libraries not on the |
|---|
| 2662 | target machine. |
|---|
| 2663 | ] |
|---|
| 2664 | [Makefile tweak |
|---|
| 2665 | Ian Lynagh <igloo@earth.li>**20101121183342 |
|---|
| 2666 | Ignore-this: cd55a2819c1a5fd36da1bc7a75d2ded1 |
|---|
| 2667 | ] |
|---|
| 2668 | [Fix a makefile include ordering sanity check |
|---|
| 2669 | Ian Lynagh <igloo@earth.li>**20101121174916 |
|---|
| 2670 | Ignore-this: d0bdd41c4b618944d04ecb4f54fdd0f1 |
|---|
| 2671 | ] |
|---|
| 2672 | [Add an extension for GHC's layout-rule relaxations |
|---|
| 2673 | Ian Lynagh <igloo@earth.li>**20101120215340 |
|---|
| 2674 | Still TODO: Add the other relaxation (#1060) and update the alternative |
|---|
| 2675 | layout rule to use the extension. |
|---|
| 2676 | ] |
|---|
| 2677 | [Tweak the bindist configure.ac.in |
|---|
| 2678 | Ian Lynagh <igloo@earth.li>**20101120173735] |
|---|
| 2679 | [configure.ac tweaks |
|---|
| 2680 | Ian Lynagh <igloo@earth.li>**20101120170245] |
|---|
| 2681 | [When testing the bindist, tell it where gcc is |
|---|
| 2682 | Ian Lynagh <igloo@earth.li>**20101120155920 |
|---|
| 2683 | The location isn't baked into the bindist, as it may differ from |
|---|
| 2684 | machine to machine. |
|---|
| 2685 | ] |
|---|
| 2686 | [Comments only |
|---|
| 2687 | simonpj@microsoft.com**20101119100153 |
|---|
| 2688 | Ignore-this: 7abd5d965ea805770449d6f8dadbb921 |
|---|
| 2689 | ] |
|---|
| 2690 | [ForceSpecConstr now forces specialisation even for arguments which aren't scrutinised |
|---|
| 2691 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20101118212839 |
|---|
| 2692 | Ignore-this: db45721d29a694e53746f8b76513efa4 |
|---|
| 2693 | ] |
|---|
| 2694 | [Move the superclass generation to the canonicaliser |
|---|
| 2695 | simonpj@microsoft.com**20101118120533 |
|---|
| 2696 | Ignore-this: 5e0e525402a240b709f2b8104c1682b2 |
|---|
| 2697 | |
|---|
| 2698 | Doing superclass generation in the canonicaliser (rather than |
|---|
| 2699 | TcInteract) uses less code, and is generally more efficient. |
|---|
| 2700 | |
|---|
| 2701 | See Note [Adding superclasses] in TcCanonical. |
|---|
| 2702 | |
|---|
| 2703 | Fixes Trac #4497. |
|---|
| 2704 | ] |
|---|
| 2705 | [Fix the generation of in-scope variables for IfaceLint check |
|---|
| 2706 | simonpj@microsoft.com**20101118090057 |
|---|
| 2707 | Ignore-this: bbcdba61ddf89d07fe69ca99c2017e3f |
|---|
| 2708 | ] |
|---|
| 2709 | [Comments only |
|---|
| 2710 | simonpj@microsoft.com**20101118090034 |
|---|
| 2711 | Ignore-this: fa2936d35a0f7be4e4535ea9e2b7bf7b |
|---|
| 2712 | ] |
|---|
| 2713 | [Omit bogus test for -XDeriveFunctor |
|---|
| 2714 | simonpj@microsoft.com**20101118090028 |
|---|
| 2715 | Ignore-this: a534243011809ebbb788b910961601c5 |
|---|
| 2716 | |
|---|
| 2717 | It was duplicated in the case of 'deriving( Functor )' |
|---|
| 2718 | and wrong for 'deriving( Foldable )' |
|---|
| 2719 | ] |
|---|
| 2720 | [Improve error message on advice from a user |
|---|
| 2721 | simonpj@microsoft.com**20101118085306 |
|---|
| 2722 | Ignore-this: bd4f3858ff24e602e985288f27d536f3 |
|---|
| 2723 | |
|---|
| 2724 | See Trac #4499 |
|---|
| 2725 | ] |
|---|
| 2726 | [TAG 2010-11-18 |
|---|
| 2727 | Ian Lynagh <igloo@earth.li>**20101118011554 |
|---|
| 2728 | Ignore-this: ccadbe7fadd1148d2ee3caa8c8821ec5 |
|---|
| 2729 | ] |
|---|
| 2730 | Patch bundle hash: |
|---|
| 2731 | 894077fd11257c2988c18afd17474c5220e1fde4 |
|---|