| 1 | |
|---|
| 2 | New patches: |
|---|
| 3 | |
|---|
| 4 | [Allow the GHC library to be dynamically loaded. |
|---|
| 5 | Lemmih <lemmih@gmail.com>**20060119185155 |
|---|
| 6 | Moved the utility functions out of hschooks and |
|---|
| 7 | added a couple of symbols to the linkers export list. |
|---|
| 8 | ] { |
|---|
| 9 | addfile ./ghc/compiler/parser/cutils.c |
|---|
| 10 | hunk ./ghc/compiler/parser/cutils.c 1 |
|---|
| 11 | +/* |
|---|
| 12 | +These utility routines are used various |
|---|
| 13 | +places in the GHC library. |
|---|
| 14 | +*/ |
|---|
| 15 | + |
|---|
| 16 | +/* For GHC 4.08, we are relying on the fact that RtsFlags has |
|---|
| 17 | + * compatible layout with the current version, because we're |
|---|
| 18 | + * #including the current version of RtsFlags.h below. 4.08 didn't |
|---|
| 19 | + * ship with its own RtsFlags.h, unfortunately. For later GHC |
|---|
| 20 | + * versions, we #include the correct RtsFlags.h. |
|---|
| 21 | + */ |
|---|
| 22 | +#if __GLASGOW_HASKELL__ < 502 |
|---|
| 23 | +#include "../includes/Rts.h" |
|---|
| 24 | +#include "../includes/RtsFlags.h" |
|---|
| 25 | +#else |
|---|
| 26 | +#include "Rts.h" |
|---|
| 27 | +#include "RtsFlags.h" |
|---|
| 28 | +#endif |
|---|
| 29 | + |
|---|
| 30 | +#include "HsFFI.h" |
|---|
| 31 | + |
|---|
| 32 | +#include <string.h> |
|---|
| 33 | + |
|---|
| 34 | +#ifdef HAVE_UNISTD_H |
|---|
| 35 | +#include <unistd.h> |
|---|
| 36 | +#endif |
|---|
| 37 | + |
|---|
| 38 | +/* |
|---|
| 39 | +Calling 'strlen' and 'memcpy' directly gives problems with GCC's inliner, |
|---|
| 40 | +and causes gcc to require too many registers on x84 |
|---|
| 41 | +*/ |
|---|
| 42 | + |
|---|
| 43 | +HsInt |
|---|
| 44 | +ghc_strlen( HsAddr a ) |
|---|
| 45 | +{ |
|---|
| 46 | + return (strlen((char *)a)); |
|---|
| 47 | +} |
|---|
| 48 | + |
|---|
| 49 | +HsInt |
|---|
| 50 | +ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len ) |
|---|
| 51 | +{ |
|---|
| 52 | + return (memcmp((char *)a1, a2, len)); |
|---|
| 53 | +} |
|---|
| 54 | + |
|---|
| 55 | +HsInt |
|---|
| 56 | +ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len ) |
|---|
| 57 | +{ |
|---|
| 58 | + return (memcmp((char *)a1 + i, a2, len)); |
|---|
| 59 | +} |
|---|
| 60 | + |
|---|
| 61 | +void |
|---|
| 62 | +enableTimingStats( void ) /* called from the driver */ |
|---|
| 63 | +{ |
|---|
| 64 | +#if __GLASGOW_HASKELL__ >= 411 |
|---|
| 65 | + RtsFlags.GcFlags.giveStats = ONELINE_GC_STATS; |
|---|
| 66 | +#endif |
|---|
| 67 | + /* ignored when bootstrapping with an older GHC */ |
|---|
| 68 | +} |
|---|
| 69 | + |
|---|
| 70 | +void |
|---|
| 71 | +setHeapSize( HsInt size ) |
|---|
| 72 | +{ |
|---|
| 73 | + RtsFlags.GcFlags.heapSizeSuggestion = size / BLOCK_SIZE; |
|---|
| 74 | + if (RtsFlags.GcFlags.maxHeapSize != 0 && |
|---|
| 75 | + RtsFlags.GcFlags.heapSizeSuggestion > RtsFlags.GcFlags.maxHeapSize) { |
|---|
| 76 | + RtsFlags.GcFlags.maxHeapSize = RtsFlags.GcFlags.heapSizeSuggestion; |
|---|
| 77 | + } |
|---|
| 78 | +} |
|---|
| 79 | + |
|---|
| 80 | + |
|---|
| 81 | addfile ./ghc/compiler/parser/cutils.h |
|---|
| 82 | hunk ./ghc/compiler/parser/cutils.h 1 |
|---|
| 83 | +/* ----------------------------------------------------------------------------- |
|---|
| 84 | + * |
|---|
| 85 | + * Utility C functions. |
|---|
| 86 | + * |
|---|
| 87 | + * -------------------------------------------------------------------------- */ |
|---|
| 88 | + |
|---|
| 89 | +#include "HsFFI.h" |
|---|
| 90 | + |
|---|
| 91 | +// Out-of-line string functions, see PrimPacked.lhs |
|---|
| 92 | +HsInt ghc_strlen( HsAddr a ); |
|---|
| 93 | +HsInt ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len ); |
|---|
| 94 | +HsInt ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len ); |
|---|
| 95 | + |
|---|
| 96 | + |
|---|
| 97 | +void enableTimingStats( void ); |
|---|
| 98 | +void setHeapSize( HsInt size ); |
|---|
| 99 | hunk ./ghc/compiler/parser/hschooks.c 41 |
|---|
| 100 | -void |
|---|
| 101 | -enableTimingStats( void ) /* called from the driver */ |
|---|
| 102 | -{ |
|---|
| 103 | -#if __GLASGOW_HASKELL__ >= 411 |
|---|
| 104 | - RtsFlags.GcFlags.giveStats = ONELINE_GC_STATS; |
|---|
| 105 | -#endif |
|---|
| 106 | - /* ignored when bootstrapping with an older GHC */ |
|---|
| 107 | -} |
|---|
| 108 | - |
|---|
| 109 | -void |
|---|
| 110 | -setHeapSize( HsInt size ) |
|---|
| 111 | -{ |
|---|
| 112 | - RtsFlags.GcFlags.heapSizeSuggestion = size / BLOCK_SIZE; |
|---|
| 113 | - if (RtsFlags.GcFlags.maxHeapSize != 0 && |
|---|
| 114 | - RtsFlags.GcFlags.heapSizeSuggestion > RtsFlags.GcFlags.maxHeapSize) { |
|---|
| 115 | - RtsFlags.GcFlags.maxHeapSize = RtsFlags.GcFlags.heapSizeSuggestion; |
|---|
| 116 | - } |
|---|
| 117 | -} |
|---|
| 118 | - |
|---|
| 119 | hunk ./ghc/compiler/parser/hschooks.c 56 |
|---|
| 120 | -HsInt |
|---|
| 121 | -ghc_strlen( HsAddr a ) |
|---|
| 122 | -{ |
|---|
| 123 | - return (strlen((char *)a)); |
|---|
| 124 | -} |
|---|
| 125 | - |
|---|
| 126 | -HsInt |
|---|
| 127 | -ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len ) |
|---|
| 128 | -{ |
|---|
| 129 | - return (memcmp((char *)a1, a2, len)); |
|---|
| 130 | -} |
|---|
| 131 | - |
|---|
| 132 | -HsInt |
|---|
| 133 | -ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len ) |
|---|
| 134 | -{ |
|---|
| 135 | - return (memcmp((char *)a1 + i, a2, len)); |
|---|
| 136 | -} |
|---|
| 137 | hunk ./ghc/compiler/parser/hschooks.h 9 |
|---|
| 138 | -void enableTimingStats( void ); |
|---|
| 139 | -void setHeapSize( HsInt size ); |
|---|
| 140 | hunk ./ghc/compiler/parser/hschooks.h 10 |
|---|
| 141 | -// Out-of-line string functions, see PrimPacked.lhs |
|---|
| 142 | -HsInt ghc_strlen( HsAddr a ); |
|---|
| 143 | -HsInt ghc_memcmp( HsAddr a1, HsAddr a2, HsInt len ); |
|---|
| 144 | -HsInt ghc_memcmp_off( HsAddr a1, HsInt i, HsAddr a2, HsInt len ); |
|---|
| 145 | hunk ./ghc/rts/Linker.c 659 |
|---|
| 146 | + SymX(stg_interp_constr_entry) \ |
|---|
| 147 | + SymX(stg_interp_constr1_entry) \ |
|---|
| 148 | + SymX(stg_interp_constr2_entry) \ |
|---|
| 149 | + SymX(stg_interp_constr3_entry) \ |
|---|
| 150 | + SymX(stg_interp_constr4_entry) \ |
|---|
| 151 | + SymX(stg_interp_constr5_entry) \ |
|---|
| 152 | + SymX(stg_interp_constr6_entry) \ |
|---|
| 153 | + SymX(stg_interp_constr7_entry) \ |
|---|
| 154 | + SymX(stg_interp_constr8_entry) \ |
|---|
| 155 | + SymX(stgMallocBytesRWX) \ |
|---|
| 156 | + SymX(getAllocations) \ |
|---|
| 157 | + SymX(revertCAFs) \ |
|---|
| 158 | + SymX(RtsFlags) \ |
|---|
| 159 | } |
|---|
| 160 | |
|---|
| 161 | Context: |
|---|
| 162 | |
|---|
| 163 | [respect the -q switch in this script |
|---|
| 164 | Simon Marlow <simonmar@microsoft.com>**20060119095759] |
|---|
| 165 | [Hack around whatsnew failing if there are no changes |
|---|
| 166 | Ian Lynagh <igloo@earth.li>**20060113231249] |
|---|
| 167 | [Pass anything through to darcs and let it do the failing on bad commands |
|---|
| 168 | Ian Lynagh <igloo@earth.li>**20060113212420] |
|---|
| 169 | [[project @ 2006-01-18 12:16:06 by simonpj] |
|---|
| 170 | simonpj**20060118121606 |
|---|
| 171 | Check for constructors in type signatures |
|---|
| 172 | ] |
|---|
| 173 | [[project @ 2006-01-18 12:15:37 by simonpj] |
|---|
| 174 | simonpj**20060118121537 |
|---|
| 175 | Expunge all mention of CCallable/CReturnable |
|---|
| 176 | ] |
|---|
| 177 | [[project @ 2006-01-18 11:13:06 by simonpj] |
|---|
| 178 | simonpj**20060118111306 |
|---|
| 179 | Ghci wibble; weaken assert |
|---|
| 180 | ] |
|---|
| 181 | [[project @ 2006-01-18 11:00:35 by simonmar] |
|---|
| 182 | simonmar**20060118110035 |
|---|
| 183 | Remove dead code |
|---|
| 184 | ] |
|---|
| 185 | [[project @ 2006-01-18 10:59:54 by simonmar] |
|---|
| 186 | simonmar**20060118105954 |
|---|
| 187 | Remove dead panic |
|---|
| 188 | ] |
|---|
| 189 | [[project @ 2006-01-18 10:58:15 by simonmar] |
|---|
| 190 | simonmar**20060118105815 |
|---|
| 191 | Remove dead error |
|---|
| 192 | |
|---|
| 193 | (darcs patch from Ian Lynagh) |
|---|
| 194 | ] |
|---|
| 195 | [[project @ 2006-01-18 10:49:32 by simonmar] |
|---|
| 196 | simonmar**20060118104932 |
|---|
| 197 | Implement :main (see ticket #662) |
|---|
| 198 | |
|---|
| 199 | Patch from Volker Stolz, minor mods by me |
|---|
| 200 | |
|---|
| 201 | When matching commands, we now look for (a) an exact match, and (b) |
|---|
| 202 | the first prefix match we find in the list. This is so that :module |
|---|
| 203 | can still be abbreviated by :m, to avoid surprise. |
|---|
| 204 | |
|---|
| 205 | Docs still to do. |
|---|
| 206 | ] |
|---|
| 207 | [[project @ 2006-01-18 10:40:46 by simonmar] |
|---|
| 208 | simonmar**20060118104046 |
|---|
| 209 | add a couple of missing symbols |
|---|
| 210 | ] |
|---|
| 211 | [[project @ 2006-01-18 10:31:50 by simonmar] |
|---|
| 212 | simonmar**20060118103150 |
|---|
| 213 | - fix a mixup in Capability.c regarding signals: signals_pending() is not |
|---|
| 214 | used in THREADED_RTS |
|---|
| 215 | |
|---|
| 216 | - some cleanups and warning removal while I'm here |
|---|
| 217 | ] |
|---|
| 218 | [[project @ 2006-01-18 10:06:36 by simonmar] |
|---|
| 219 | simonmar**20060118100636 |
|---|
| 220 | Fix build on 5.04.x again |
|---|
| 221 | ] |
|---|
| 222 | [[project @ 2006-01-17 16:13:18 by simonmar] |
|---|
| 223 | simonmar**20060117161318 |
|---|
| 224 | Improve the GC behaviour of IORefs (see Ticket #650). |
|---|
| 225 | |
|---|
| 226 | This is a small change to the way IORefs interact with the GC, which |
|---|
| 227 | should improve GC performance for programs with plenty of IORefs. |
|---|
| 228 | |
|---|
| 229 | Previously we had a single closure type for mutable variables, |
|---|
| 230 | MUT_VAR. Mutable variables were *always* on the mutable list in older |
|---|
| 231 | generations, and always traversed on every GC. |
|---|
| 232 | |
|---|
| 233 | Now, we have two closure types: MUT_VAR_CLEAN and MUT_VAR_DIRTY. The |
|---|
| 234 | latter is on the mutable list, but the former is not. (NB. this |
|---|
| 235 | differs from MUT_ARR_PTRS_CLEAN and MUT_ARR_PTRS_DIRTY, both of which |
|---|
| 236 | are on the mutable list). writeMutVar# now implements a write |
|---|
| 237 | barrier, by calling dirty_MUT_VAR() in the runtime, that does the |
|---|
| 238 | necessary modification of MUT_VAR_CLEAN into MUT_VAR_DIRY, and adding |
|---|
| 239 | to the mutable list if necessary. |
|---|
| 240 | |
|---|
| 241 | This results in some pretty dramatic speedups for GHC itself. I've |
|---|
| 242 | just measureed a 30% overall speedup compiling a 31-module program |
|---|
| 243 | (anna) with the default heap settings :-D |
|---|
| 244 | ] |
|---|
| 245 | [[project @ 2006-01-17 16:03:47 by simonmar] |
|---|
| 246 | simonmar**20060117160347 |
|---|
| 247 | Improve the GC behaviour of IOArrays/STArrays |
|---|
| 248 | |
|---|
| 249 | See Ticket #650 |
|---|
| 250 | |
|---|
| 251 | This is a small change to the way mutable arrays interact with the GC, |
|---|
| 252 | that can have a dramatic effect on performance, and make tricks with |
|---|
| 253 | unsafeThaw/unsafeFreeze redundant. Data.HashTable should be faster |
|---|
| 254 | now (I haven't measured it yet). |
|---|
| 255 | |
|---|
| 256 | We now have two mutable array closure types, MUT_ARR_PTRS_CLEAN and |
|---|
| 257 | MUT_ARR_PTRS_DIRTY. Both are on the mutable list if the array is in |
|---|
| 258 | an old generation. writeArray# sets the type to MUT_ARR_PTRS_DIRTY. |
|---|
| 259 | The garbage collector can set the type to MUT_ARR_PTRS_CLEAN if it |
|---|
| 260 | finds that no element of the array points into a younger generation |
|---|
| 261 | (discovering this required a small addition to evacuate(), but rough |
|---|
| 262 | tests indicate that it doesn't measurably affect performance). |
|---|
| 263 | |
|---|
| 264 | NOTE: none of this affects unboxed arrays (IOUArray/STUArray), only |
|---|
| 265 | boxed arrays (IOArray/STArray). |
|---|
| 266 | |
|---|
| 267 | We could go further and extend the DIRTY bit to be per-block rather |
|---|
| 268 | than for the whole array, but for now this is an easy improvement. |
|---|
| 269 | ] |
|---|
| 270 | [[project @ 2006-01-17 13:50:06 by simonmar] |
|---|
| 271 | simonmar**20060117135006 |
|---|
| 272 | statDescribeGens: count large blocks in the "live" figure |
|---|
| 273 | ] |
|---|
| 274 | [[project @ 2006-01-17 13:28:01 by simonmar] |
|---|
| 275 | simonmar**20060117132801 |
|---|
| 276 | take into account unscavenged copied words in +RTS -t stats. |
|---|
| 277 | ] |
|---|
| 278 | [[project @ 2006-01-17 02:13:16 by wolfgang] |
|---|
| 279 | wolfgang**20060117021316 |
|---|
| 280 | Linux/PPC64: remove some dead code that accidentally slipped in. |
|---|
| 281 | |
|---|
| 282 | MERGE TO STABLE |
|---|
| 283 | ] |
|---|
| 284 | [[project @ 2006-01-17 01:51:56 by wolfgang] |
|---|
| 285 | wolfgang**20060117015156 |
|---|
| 286 | Darwin/PPC: |
|---|
| 287 | Make StgRunIsImplementedInAssembler non-static; gcc has recently acquired |
|---|
| 288 | a habit of dead-stripping it. |
|---|
| 289 | |
|---|
| 290 | MERGE TO STABLE |
|---|
| 291 | ] |
|---|
| 292 | [[project @ 2006-01-16 16:38:24 by simonmar] |
|---|
| 293 | simonmar**20060116163825 |
|---|
| 294 | Default signal handlers weren't being installed; amazing that this has |
|---|
| 295 | been broken ever since I rearranged the signal handling code. |
|---|
| 296 | ] |
|---|
| 297 | [improvements to darcs-all |
|---|
| 298 | Simon Marlow <simonmar@microsoft.com>**20060113163207 |
|---|
| 299 | - get from the same repo as the main GHC repo, if that was a local filesystem |
|---|
| 300 | - allow darcs whatsnew |
|---|
| 301 | - use --repodir if possible |
|---|
| 302 | ] |
|---|
| 303 | [Add infrastructure for multiple library packages |
|---|
| 304 | Simon Marlow <simonmar@microsoft.com>**20060113150505 |
|---|
| 305 | The ./darcs-all script at the top level is an easier way to do darcs |
|---|
| 306 | pull/push/get on the whole tree (it should probably allow more |
|---|
| 307 | commands; I'll fix that later). |
|---|
| 308 | |
|---|
| 309 | libraries/default-packages is a list of darcs repositories with which |
|---|
| 310 | to populate the libraries tree. |
|---|
| 311 | |
|---|
| 312 | ] |
|---|
| 313 | [Add a skeleton libraries directory |
|---|
| 314 | Simon Marlow <simonmar@microsoft.com>**20060113131949 |
|---|
| 315 | Adding files from libraries that aren't in the other |
|---|
| 316 | packages sub-repos. I haven't bothered to try to keep |
|---|
| 317 | history for these files, for history go back to the CVS |
|---|
| 318 | repo. |
|---|
| 319 | ] |
|---|
| 320 | [[project @ 2006-01-12 16:16:28 by simonmar] |
|---|
| 321 | simonmar**20060112161628 |
|---|
| 322 | GHC.runStmt: run the statement in a new thread to insulate the |
|---|
| 323 | environment from bad things that the user code might do, such as fork |
|---|
| 324 | a thread to send an exception back at a later time. In order to do |
|---|
| 325 | this, we had to keep track of which thread the ^C exception should go |
|---|
| 326 | to in a global variable. |
|---|
| 327 | |
|---|
| 328 | Also, bullet-proof the top-level exception handler in GHCi a bit; |
|---|
| 329 | there was a small window where an exception could get through, so if |
|---|
| 330 | you lean on ^C for a while then press enter you could cause GHCi to |
|---|
| 331 | exit. |
|---|
| 332 | ] |
|---|
| 333 | [[project @ 2006-01-12 14:42:25 by simonmar] |
|---|
| 334 | simonmar**20060112144225 |
|---|
| 335 | +RTS -S: replace "collected" with "copied", which is more useful. |
|---|
| 336 | +RTS -Dg: print size of mutable list, and breakdown by type of closure |
|---|
| 337 | (MUT_VAR, MUT_ARR, others). |
|---|
| 338 | ] |
|---|
| 339 | [[project @ 2006-01-12 13:49:24 by simonmar] |
|---|
| 340 | simonmar**20060112134924 |
|---|
| 341 | fix calculation of copied bytes, we had a words/bytes mismatch when |
|---|
| 342 | adding the size of the mutable list |
|---|
| 343 | ] |
|---|
| 344 | [[project @ 2006-01-12 12:41:03 by simonmar] |
|---|
| 345 | simonmar**20060112124103 |
|---|
| 346 | time_str: |
|---|
| 347 | - use ctime_r if available |
|---|
| 348 | - avoid use of strcpy on overlapping regions |
|---|
| 349 | |
|---|
| 350 | Ticket #480 (patch modified by me) |
|---|
| 351 | ] |
|---|
| 352 | [[project @ 2006-01-12 12:40:01 by simonmar] |
|---|
| 353 | simonmar**20060112124001 |
|---|
| 354 | check for ctime_r |
|---|
| 355 | ] |
|---|
| 356 | [[project @ 2006-01-12 10:04:36 by simonmar] |
|---|
| 357 | simonmar**20060112100436 |
|---|
| 358 | Document that source files are ASCII or UTF-8 |
|---|
| 359 | ] |
|---|
| 360 | [[project @ 2006-01-12 09:33:16 by simonmar] |
|---|
| 361 | simonmar**20060112093316 |
|---|
| 362 | put unicode keywords under -fglasgow-exts, they aren't Hasell98 |
|---|
| 363 | ] |
|---|
| 364 | [[project @ 2006-01-11 16:58:53 by simonmar] |
|---|
| 365 | simonmar**20060111165853 |
|---|
| 366 | MAYBE_GC: we should check alloc_blocks in addition to CurrentNursery, |
|---|
| 367 | since some allocateLocal calls don't allocate from the nursery. |
|---|
| 368 | ] |
|---|
| 369 | [[project @ 2006-01-11 13:12:09 by simonmar] |
|---|
| 370 | simonmar**20060111131209 |
|---|
| 371 | fix string desugaring: we can only use the ASCII unpackCString# if all |
|---|
| 372 | the chars are <= 0x7F, not <= 0xFF. |
|---|
| 373 | |
|---|
| 374 | (fixes recent breakage in nofib/real/compress2) |
|---|
| 375 | ] |
|---|
| 376 | [[project @ 2006-01-11 12:20:30 by simonmar] |
|---|
| 377 | simonmar**20060111122030 |
|---|
| 378 | Add -threaded when building stage2+ again |
|---|
| 379 | ] |
|---|
| 380 | [[project @ 2006-01-11 12:17:41 by simonmar] |
|---|
| 381 | simonmar**20060111121741 |
|---|
| 382 | understand Unicode lambda as a synonym for \ |
|---|
| 383 | ] |
|---|
| 384 | [[project @ 2006-01-10 14:47:23 by simonmar] |
|---|
| 385 | simonmar**20060110144723 |
|---|
| 386 | Fix a comment |
|---|
| 387 | ] |
|---|
| 388 | [[project @ 2006-01-10 14:46:50 by simonmar] |
|---|
| 389 | simonmar**20060110144650 |
|---|
| 390 | Char primops: the Char# rep is wordRep, not I32 (fixed -dcmm-lint |
|---|
| 391 | problems on x86_64) |
|---|
| 392 | ] |
|---|
| 393 | [[project @ 2006-01-10 14:39:38 by simonmar] |
|---|
| 394 | simonmar**20060110143938 |
|---|
| 395 | prevChar: don't back up over decoding errors |
|---|
| 396 | ] |
|---|
| 397 | [[project @ 2006-01-10 14:39:01 by simonmar] |
|---|
| 398 | simonmar**20060110143901 |
|---|
| 399 | Add a TODO |
|---|
| 400 | ] |
|---|
| 401 | [[project @ 2006-01-10 14:37:53 by simonmar] |
|---|
| 402 | simonmar**20060110143753 |
|---|
| 403 | reportLexError: don't back up one character, the buffer returned by |
|---|
| 404 | Alex is the one *before* the erroneous lexeme started. |
|---|
| 405 | ] |
|---|
| 406 | [[project @ 2006-01-10 13:35:04 by simonmar] |
|---|
| 407 | simonmar**20060110133504 |
|---|
| 408 | Z-encode cost centre symbols when printing them out. |
|---|
| 409 | ] |
|---|
| 410 | [[project @ 2006-01-10 09:47:51 by simonmar] |
|---|
| 411 | simonmar**20060110094751 |
|---|
| 412 | Fix compilation with GHC 6.2.x, hopefully |
|---|
| 413 | ] |
|---|
| 414 | [[project @ 2006-01-10 09:05:18 by simonmar] |
|---|
| 415 | simonmar**20060110090518 |
|---|
| 416 | add file argument to docs for +RTS -t |
|---|
| 417 | ] |
|---|
| 418 | [[project @ 2006-01-09 14:38:01 by simonmar] |
|---|
| 419 | simonmar**20060109143801 |
|---|
| 420 | Initialise part of a structure to NULL to avoid a gcc warning |
|---|
| 421 | I haven't checked the code on this one to be sure this isn't just a bug. |
|---|
| 422 | ] |
|---|
| 423 | [[project @ 2006-01-09 14:37:07 by simonmar] |
|---|
| 424 | simonmar**20060109143707 |
|---|
| 425 | Put entry_is_read_only and tvar_is_locked |
|---|
| 426 | ] |
|---|
| 427 | [[project @ 2006-01-09 14:35:53 by simonmar] |
|---|
| 428 | simonmar**20060109143553 |
|---|
| 429 | Avoid "dereferencing type-punned pointer will break strict-aliasing rules" warning |
|---|
| 430 | ] |
|---|
| 431 | [[project @ 2006-01-09 14:35:31 by simonmar] |
|---|
| 432 | simonmar**20060109143531 |
|---|
| 433 | Avoid "dereferencing type-punned pointer will break strict-aliasing rules" warnings |
|---|
| 434 | ] |
|---|
| 435 | [[project @ 2006-01-09 14:33:50 by simonmar] |
|---|
| 436 | simonmar**20060109143350 |
|---|
| 437 | Remove duplicate imports |
|---|
| 438 | ] |
|---|
| 439 | [[project @ 2006-01-09 14:33:21 by simonmar] |
|---|
| 440 | simonmar**20060109143321 |
|---|
| 441 | Remove dead panic |
|---|
| 442 | ] |
|---|
| 443 | [[project @ 2006-01-09 14:32:57 by simonmar] |
|---|
| 444 | simonmar**20060109143257 |
|---|
| 445 | Put a dummy record initialisation in to fix a warning |
|---|
| 446 | ] |
|---|
| 447 | [[project @ 2006-01-09 14:32:31 by simonmar] |
|---|
| 448 | simonmar**20060109143231 |
|---|
| 449 | Use correct format specifier for a size_t value |
|---|
| 450 | ] |
|---|
| 451 | [[project @ 2006-01-09 14:32:03 by simonmar] |
|---|
| 452 | simonmar**20060109143203 |
|---|
| 453 | Include string.h in unlit, fixing gcc "implicit declaration" warnings |
|---|
| 454 | ] |
|---|
| 455 | [[project @ 2006-01-09 14:31:37 by simonmar] |
|---|
| 456 | simonmar**20060109143137 |
|---|
| 457 | Include stdlib in lndir, fixing gcc "implicit declaration" warnings |
|---|
| 458 | ] |
|---|
| 459 | [[project @ 2006-01-09 14:25:44 by simonmar] |
|---|
| 460 | simonmar**20060109142544] |
|---|
| 461 | [[project @ 2006-01-09 13:29:02 by simonmar] |
|---|
| 462 | simonmar**20060109132902 |
|---|
| 463 | Avoid desugaring bug in HEAD (see test ds057). |
|---|
| 464 | ] |
|---|
| 465 | [[project @ 2006-01-09 13:25:50 by simonmar] |
|---|
| 466 | simonmar**20060109132550 |
|---|
| 467 | Fix up to compile with GHC 5.04.x again. |
|---|
| 468 | |
|---|
| 469 | Also includes a fix for a memory error I discovered along the way: |
|---|
| 470 | should fix the "scavenge_one" crash in the stage2 build of recent |
|---|
| 471 | HEADs. |
|---|
| 472 | ] |
|---|
| 473 | [[project @ 2006-01-09 10:31:14 by simonmar] |
|---|
| 474 | simonmar**20060109103114 |
|---|
| 475 | ord# and chr# should be no-ops, not conversions between wordRep and I32. |
|---|
| 476 | ] |
|---|
| 477 | [[project @ 2006-01-06 16:30:17 by simonmar] |
|---|
| 478 | simonmar**20060106163019 |
|---|
| 479 | Add support for UTF-8 source files |
|---|
| 480 | |
|---|
| 481 | GHC finally has support for full Unicode in source files. Source |
|---|
| 482 | files are now assumed to be UTF-8 encoded, and the full range of |
|---|
| 483 | Unicode characters can be used, with classifications recognised using |
|---|
| 484 | the implementation from Data.Char. This incedentally means that only |
|---|
| 485 | the stage2 compiler will recognise Unicode in source files, because I |
|---|
| 486 | was too lazy to port the unicode classifier code into libcompat. |
|---|
| 487 | |
|---|
| 488 | Additionally, the following synonyms for keywords are now recognised: |
|---|
| 489 | |
|---|
| 490 | forall symbol (U+2200) forall |
|---|
| 491 | right arrow (U+2192) -> |
|---|
| 492 | left arrow (U+2190) <- |
|---|
| 493 | horizontal ellipsis (U+22EF) .. |
|---|
| 494 | |
|---|
| 495 | there are probably more things we could add here. |
|---|
| 496 | |
|---|
| 497 | This will break some source files if Latin-1 characters are being used. |
|---|
| 498 | In most cases this should result in a UTF-8 decoding error. Later on |
|---|
| 499 | if we want to support more encodings (perhaps with a pragma to specify |
|---|
| 500 | the encoding), I plan to do it by recoding into UTF-8 before parsing. |
|---|
| 501 | |
|---|
| 502 | Internally, there were some pretty big changes: |
|---|
| 503 | |
|---|
| 504 | - FastStrings are now stored in UTF-8 |
|---|
| 505 | |
|---|
| 506 | - Z-encoding has been moved right to the back end. Previously we |
|---|
| 507 | used to Z-encode every identifier on the way in for simplicity, |
|---|
| 508 | and only decode when we needed to show something to the user. |
|---|
| 509 | Instead, we now keep every string in its UTF-8 encoding, and |
|---|
| 510 | Z-encode right before printing it out. To avoid Z-encoding the |
|---|
| 511 | same string multiple times, the Z-encoding is cached inside the |
|---|
| 512 | FastString the first time it is requested. |
|---|
| 513 | |
|---|
| 514 | This speeds up the compiler - I've measured some definite |
|---|
| 515 | improvement in parsing at least, and I expect compilations overall |
|---|
| 516 | to be faster too. It also cleans up a lot of cruft from the |
|---|
| 517 | OccName interface. Z-encoding is nicely hidden inside the |
|---|
| 518 | Outputable instance for Names & OccNames now. |
|---|
| 519 | |
|---|
| 520 | - StringBuffers are UTF-8 too, and are now represented as |
|---|
| 521 | ForeignPtrs. |
|---|
| 522 | |
|---|
| 523 | - I've put together some test cases, not by any means exhaustive, |
|---|
| 524 | but there are some interesting UTF-8 decoding error cases that |
|---|
| 525 | aren't obvious. Also, take a look at unicode001.hs for a demo. |
|---|
| 526 | ] |
|---|
| 527 | [[project @ 2006-01-06 11:04:07 by simonmar] |
|---|
| 528 | simonmar**20060106110407 |
|---|
| 529 | Document -Rghc-timing |
|---|
| 530 | ] |
|---|
| 531 | [[project @ 2006-01-05 13:10:55 by simonpj] |
|---|
| 532 | simonpj**20060105131055 |
|---|
| 533 | MERGE TO STABLE |
|---|
| 534 | |
|---|
| 535 | This commit fixes a nasty problem discovered by Volker Stolz. |
|---|
| 536 | The problem is described in Note [Multiple instantiation] in |
|---|
| 537 | TcExpr, which is reproduced below. |
|---|
| 538 | |
|---|
| 539 | (Core Lint identifies the problem, incidentally.) |
|---|
| 540 | |
|---|
| 541 | tc200 is a test case. |
|---|
| 542 | |
|---|
| 543 | |
|---|
| 544 | Note [Multiple instantiation] |
|---|
| 545 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 546 | We are careful never to make a MethodInst that has, as its meth_id, another MethodInst. |
|---|
| 547 | For example, consider |
|---|
| 548 | f :: forall a. Eq a => forall b. Ord b => a -> b |
|---|
| 549 | At a call to f, at say [Int, Bool], it's tempting to translate the call to |
|---|
| 550 | |
|---|
| 551 | f_m1 |
|---|
| 552 | where |
|---|
| 553 | f_m1 :: forall b. Ord b => Int -> b |
|---|
| 554 | f_m1 = f Int dEqInt |
|---|
| 555 | |
|---|
| 556 | f_m2 :: Int -> Bool |
|---|
| 557 | f_m2 = f_m1 Bool dOrdBool |
|---|
| 558 | |
|---|
| 559 | But notice that f_m2 has f_m1 as its meth_id. Now the danger is that if we do |
|---|
| 560 | a tcSimplCheck with a Given f_mx :: f Int dEqInt, we may make a binding |
|---|
| 561 | f_m1 = f_mx |
|---|
| 562 | But it's entirely possible that f_m2 will continue to float out, because it |
|---|
| 563 | mentions no type variables. Result, f_m1 isn't in scope. |
|---|
| 564 | |
|---|
| 565 | Here's a concrete example that does this (test tc200): |
|---|
| 566 | |
|---|
| 567 | class C a where |
|---|
| 568 | f :: Eq b => b -> a -> Int |
|---|
| 569 | baz :: Eq a => Int -> a -> Int |
|---|
| 570 | |
|---|
| 571 | instance C Int where |
|---|
| 572 | baz = f |
|---|
| 573 | |
|---|
| 574 | Current solution: only do the "method sharing" thing for the first type/dict |
|---|
| 575 | application, not for the iterated ones. A horribly subtle point. |
|---|
| 576 | ] |
|---|
| 577 | [[project @ 2006-01-05 10:02:58 by simonpj] |
|---|
| 578 | simonpj**20060105100258 |
|---|
| 579 | 'newtype' declarations are now parsed exactly like data type declarations, |
|---|
| 580 | so that you can declare newtypes using GADT syntax. But that means we |
|---|
| 581 | must check all the newtype restrictions separately, and I mised one. |
|---|
| 582 | This commit checks that there is no existential context on the newtype. |
|---|
| 583 | |
|---|
| 584 | Test is tcfail156 |
|---|
| 585 | ] |
|---|
| 586 | [[project @ 2006-01-05 09:42:54 by simonmar] |
|---|
| 587 | simonmar**20060105094254 |
|---|
| 588 | This file is not quite POSIX compliant; hopefully fix build on MacOS X |
|---|
| 589 | (Tiger) |
|---|
| 590 | ] |
|---|
| 591 | [[project @ 2006-01-04 12:51:59 by simonmar] |
|---|
| 592 | simonmar**20060104125159 |
|---|
| 593 | remove duplicate definition |
|---|
| 594 | ] |
|---|
| 595 | [[project @ 2006-01-04 12:49:38 by simonmar] |
|---|
| 596 | simonmar**20060104124938 |
|---|
| 597 | make 3.79.1 is ok |
|---|
| 598 | ] |
|---|
| 599 | [[project @ 2006-01-04 11:52:54 by simonpj] |
|---|
| 600 | simonpj**20060104115254 |
|---|
| 601 | Resolve ticket 644; crash when data con returns wrong type |
|---|
| 602 | ] |
|---|
| 603 | [[project @ 2006-01-03 16:15:37 by simonmar] |
|---|
| 604 | simonmar**20060103161537 |
|---|
| 605 | setContextAfterLoad: try to load a target if possible, otherwise load |
|---|
| 606 | the topmost module in the graph. Previously we were loading the first |
|---|
| 607 | module in the list, which happened to be right a lot of the time, but |
|---|
| 608 | not always. |
|---|
| 609 | |
|---|
| 610 | Fixes ticket #642 |
|---|
| 611 | ] |
|---|
| 612 | [[project @ 2006-01-03 16:14:20 by simonmar] |
|---|
| 613 | simonmar**20060103161420 |
|---|
| 614 | export ModLocation(..) |
|---|
| 615 | ] |
|---|
| 616 | [[project @ 2006-01-03 12:57:10 by simonmar] |
|---|
| 617 | simonmar**20060103125710 |
|---|
| 618 | sanity bugfix: use TSO_OFFSET_stack instead of OFFSET_stack |
|---|
| 619 | ] |
|---|
| 620 | [[project @ 2006-01-03 12:56:10 by simonmar] |
|---|
| 621 | simonmar**20060103125610 |
|---|
| 622 | two fixes for the case when a (synchronous) exception is propagated to |
|---|
| 623 | the top of a thread's stack, i.e. it is unhandled. |
|---|
| 624 | |
|---|
| 625 | 1. store the exception in the right place (we were using the |
|---|
| 626 | OFFSET_StgTSO_stack macro and not accounting for the TSO's |
|---|
| 627 | header size) |
|---|
| 628 | |
|---|
| 629 | 2. put an stg_enter_info on the stack so that the GC can understand |
|---|
| 630 | this thread's stack. |
|---|
| 631 | ] |
|---|
| 632 | [[project @ 2006-01-03 12:53:40 by simonmar] |
|---|
| 633 | simonmar**20060103125340 |
|---|
| 634 | for TSO fields, define a Cmm macro TSO_OFFSET_xxx to get the actual |
|---|
| 635 | offset including the header and variable parts (we were misusing the |
|---|
| 636 | headerless OFFSET_xxx macros in a couple of places). |
|---|
| 637 | ] |
|---|
| 638 | [[project @ 2006-01-03 12:16:26 by simonmar] |
|---|
| 639 | simonmar**20060103121626 |
|---|
| 640 | wibble in panic message |
|---|
| 641 | ] |
|---|
| 642 | [[project @ 2006-01-03 11:06:45 by simonmar] |
|---|
| 643 | simonmar**20060103110645 |
|---|
| 644 | emit an error message if GNU make 3.7x is found (3.80 is required). |
|---|
| 645 | ] |
|---|
| 646 | [[project @ 2006-01-03 11:01:09 by simonmar] |
|---|
| 647 | simonmar**20060103110109 |
|---|
| 648 | mention that GNU make 3.80 is required. |
|---|
| 649 | ] |
|---|
| 650 | [[project @ 2005-12-29 12:06:13 by simonpj] |
|---|
| 651 | simonpj**20051229120613 |
|---|
| 652 | Trim imports |
|---|
| 653 | ] |
|---|
| 654 | [[project @ 2005-12-29 09:19:24 by simonpj] |
|---|
| 655 | simonpj**20051229091924 |
|---|
| 656 | Document SPECIALISE INLNE |
|---|
| 657 | ] |
|---|
| 658 | [[project @ 2005-12-21 11:43:29 by simonpj] |
|---|
| 659 | simonpj**20051221114329 |
|---|
| 660 | Missing Show instance for FreeRegs on PowerPC |
|---|
| 661 | ] |
|---|
| 662 | [[project @ 2005-12-19 13:08:19 by simonpj] |
|---|
| 663 | simonpj**20051219130819 |
|---|
| 664 | Wibble to printing FunTyCon in GHCi that makes :b GHC.Base work |
|---|
| 665 | ] |
|---|
| 666 | [[project @ 2005-12-19 11:00:59 by simonpj] |
|---|
| 667 | simonpj**20051219110059 |
|---|
| 668 | Marginally improve the error message on a failure in DsMeta |
|---|
| 669 | ] |
|---|
| 670 | [[project @ 2005-12-19 11:00:40 by simonpj] |
|---|
| 671 | simonpj**20051219110040 |
|---|
| 672 | Tiny fix to patterns with type sigs |
|---|
| 673 | ] |
|---|
| 674 | [[project @ 2005-12-19 09:48:14 by simonpj] |
|---|
| 675 | simonpj**20051219094814 |
|---|
| 676 | Allow trailing parens in GADT signatures |
|---|
| 677 | ] |
|---|
| 678 | [[project @ 2005-12-19 09:32:33 by simonpj] |
|---|
| 679 | simonpj**20051219093233 |
|---|
| 680 | ** Wibble to Friday's commit (fixes HEAD build) ** |
|---|
| 681 | |
|---|
| 682 | ----------------------------------------- |
|---|
| 683 | Make deriving work for infix constructors |
|---|
| 684 | ----------------------------------------- |
|---|
| 685 | |
|---|
| 686 | Merge to stable branch |
|---|
| 687 | |
|---|
| 688 | Back quotes were not being done correctly in deriving Read and Show. |
|---|
| 689 | Now they are. I think. |
|---|
| 690 | |
|---|
| 691 | Test is drvrun018 |
|---|
| 692 | ] |
|---|
| 693 | [[project @ 2005-12-16 16:04:03 by simonpj] |
|---|
| 694 | simonpj**20051216160403 |
|---|
| 695 | ----------------------------------------- |
|---|
| 696 | Make deriving work for infix constructors |
|---|
| 697 | ----------------------------------------- |
|---|
| 698 | |
|---|
| 699 | Merge to stable branch |
|---|
| 700 | |
|---|
| 701 | Back quotes were not being done correctly in deriving Read and Show. |
|---|
| 702 | Now they are. I think. |
|---|
| 703 | |
|---|
| 704 | Test is drvrun018 |
|---|
| 705 | ] |
|---|
| 706 | [[project @ 2005-12-16 15:17:29 by simonpj] |
|---|
| 707 | simonpj**20051216151729 |
|---|
| 708 | Document that type variables in instance context must be distinct; merge to stable |
|---|
| 709 | ] |
|---|
| 710 | [[project @ 2005-12-16 15:15:08 by simonpj] |
|---|
| 711 | simonpj**20051216151508 |
|---|
| 712 | ----------------------------------------- |
|---|
| 713 | Test for repated type variables in an instance decl context; |
|---|
| 714 | this should require -fallow-undecidable-instances' |
|---|
| 715 | ----------------------------------------- |
|---|
| 716 | |
|---|
| 717 | Merge to stable branch |
|---|
| 718 | ] |
|---|
| 719 | [[project @ 2005-12-16 11:41:51 by simonmar] |
|---|
| 720 | simonmar**20051216114151 |
|---|
| 721 | Avoid building the GHCi version of this lib |
|---|
| 722 | ] |
|---|
| 723 | [[project @ 2005-12-16 11:26:01 by simonmar] |
|---|
| 724 | simonmar**20051216112601 |
|---|
| 725 | Use standard calloc rather than rolling our own. |
|---|
| 726 | |
|---|
| 727 | As a small bonus, the standard libc version is more effecient about zeroing |
|---|
| 728 | the memory. |
|---|
| 729 | |
|---|
| 730 | From: Duncan Coutts <duncan.coutts@worc.ox.ac.uk> |
|---|
| 731 | ] |
|---|
| 732 | [[project @ 2005-12-15 23:32:29 by desrt] |
|---|
| 733 | desrt**20051215233229 |
|---|
| 734 | (( PLEASE MERGE TO STABLE )) |
|---|
| 735 | |
|---|
| 736 | Linker.c: linux/ppc: We call mmap() to allocate additional pages to |
|---|
| 737 | create jump islands. In the case where no |
|---|
| 738 | additional memory was needed the mmap call was |
|---|
| 739 | being made with a size of 0 which would fail. |
|---|
| 740 | The call is now conditionalised and documentation |
|---|
| 741 | has been added to the code. Closes trac #439. |
|---|
| 742 | ] |
|---|
| 743 | [[project @ 2005-12-15 10:36:03 by simonmar] |
|---|
| 744 | simonmar**20051215103603 |
|---|
| 745 | ignore _darcs |
|---|
| 746 | ] |
|---|
| 747 | [[project @ 2005-12-15 10:05:54 by simonmar] |
|---|
| 748 | simonmar**20051215100554 |
|---|
| 749 | fix missing symbol |
|---|
| 750 | ] |
|---|
| 751 | [[project @ 2005-12-13 15:57:49 by simonmar] |
|---|
| 752 | simonmar**20051213155750 |
|---|
| 753 | Raise the (new) exception NestedAtomically when atomically is nested |
|---|
| 754 | (using unsafePerformIO). This is a small improvement over crashing. |
|---|
| 755 | ] |
|---|
| 756 | [[project @ 2005-12-13 12:52:25 by simonmar] |
|---|
| 757 | simonmar**20051213125225 |
|---|
| 758 | fix FAQ links |
|---|
| 759 | ] |
|---|
| 760 | [[project @ 2005-12-13 12:45:08 by simonmar] |
|---|
| 761 | simonmar**20051213124508 |
|---|
| 762 | the FAQ is now in the Wiki |
|---|
| 763 | ] |
|---|
| 764 | [[project @ 2005-12-13 12:42:51 by simonmar] |
|---|
| 765 | simonmar**20051213124251 |
|---|
| 766 | while I'm here, bring various other bits of this page up to date |
|---|
| 767 | ] |
|---|
| 768 | [[project @ 2005-12-13 12:26:06 by simonmar] |
|---|
| 769 | simonmar**20051213122606 |
|---|
| 770 | Update bug reporting instructions to point to the new bug tracker |
|---|
| 771 | ] |
|---|
| 772 | [[project @ 2005-12-13 12:18:51 by simonmar] |
|---|
| 773 | simonmar**20051213121851 |
|---|
| 774 | Update the bug reporting instructions, I've now installed a redirect from |
|---|
| 775 | |
|---|
| 776 | http://www.haskel.org/ghc/reportabug |
|---|
| 777 | |
|---|
| 778 | to the bug reporting instructions, just in case we want to move that |
|---|
| 779 | page in the future. |
|---|
| 780 | ] |
|---|
| 781 | [[project @ 2005-12-13 12:09:42 by simonmar] |
|---|
| 782 | simonmar**20051213120942 |
|---|
| 783 | In the panic message, point to the bug reporting page in the User's |
|---|
| 784 | Guide rather than directly to the bug reporting page. That way people |
|---|
| 785 | will see the bug reporting instructions as well as the direct link |
|---|
| 786 | (which has now changed). |
|---|
| 787 | ] |
|---|
| 788 | [[project @ 2005-12-13 11:30:33 by simonmar] |
|---|
| 789 | simonmar**20051213113033 |
|---|
| 790 | undo accidental commit of snapshot version number |
|---|
| 791 | ] |
|---|
| 792 | [[project @ 2005-12-12 15:06:11 by simonmar] |
|---|
| 793 | simonmar**20051212150611 |
|---|
| 794 | Add -threaded for stage[23] |
|---|
| 795 | ] |
|---|
| 796 | [[project @ 2005-12-12 14:22:30 by simonmar] |
|---|
| 797 | simonmar**20051212142230 |
|---|
| 798 | Prevent --: from being interpreted as a comment |
|---|
| 799 | ] |
|---|
| 800 | [[project @ 2005-12-09 11:35:44 by simonmar] |
|---|
| 801 | simonmar**20051209113544 |
|---|
| 802 | Make the front panel compile again, submitted by Duncan Coutts |
|---|
| 803 | <duncan.coutts@worc.ox.ac.uk>. From his email: |
|---|
| 804 | |
|---|
| 805 | Attached is a patch to port the GHC RTS font panel to Gtk+ 2.x rather |
|---|
| 806 | than the obsolete Gtk+ 1.2. |
|---|
| 807 | |
|---|
| 808 | There were basically two changes needed. Change the configure check to |
|---|
| 809 | look for the pkg-config utility rather than the old gtk-config. At it's |
|---|
| 810 | just checking for Gtk+ 2.0 or later. It may be that the new code |
|---|
| 811 | actually needs a slightly later version than that. I'm not quite sure. |
|---|
| 812 | |
|---|
| 813 | The other change was to convert the ghc-fontpanel.glade file to the |
|---|
| 814 | glade-2 format using the libglade-convert script and then to re-generate |
|---|
| 815 | the C code for constructing the GUI, that is the Vis*.c Vis*.h files in |
|---|
| 816 | ghc/rts. |
|---|
| 817 | |
|---|
| 818 | The front panel has been bit-rotting for quite some time so it has not |
|---|
| 819 | kept up with changes in the rts structures. So I had to comment out |
|---|
| 820 | references to 3 bits that no longer exist. I've left FIXMEs in the code |
|---|
| 821 | at the appropriate places so that someone wiser than me can make the |
|---|
| 822 | appropriate changes. |
|---|
| 823 | |
|---|
| 824 | So the thing does now build though I have no doubt that it will not run, |
|---|
| 825 | or at least will not do the right thing because it has not yet been |
|---|
| 826 | updated to the current state of the rts. However hopefully now that it |
|---|
| 827 | is at least buildable with a modern Gtk+ version someone else might be |
|---|
| 828 | able to fix it up. |
|---|
| 829 | |
|---|
| 830 | This also relates to trac ticket #599: |
|---|
| 831 | |
|---|
| 832 | http://cvs.haskell.org/trac/ghc/ticket/599 |
|---|
| 833 | ] |
|---|
| 834 | [[project @ 2005-12-02 15:16:08 by simonmar] |
|---|
| 835 | simonmar**20051202151608 |
|---|
| 836 | remove one mention of hslibs |
|---|
| 837 | ] |
|---|
| 838 | [[project @ 2005-12-02 14:22:06 by simonmar] |
|---|
| 839 | simonmar**20051202142206 |
|---|
| 840 | - remove hslibs link |
|---|
| 841 | - add Building Guide link |
|---|
| 842 | - remove the word "hierarchical" from "hierarchical libraries" |
|---|
| 843 | ] |
|---|
| 844 | [[project @ 2005-12-02 14:09:21 by simonmar] |
|---|
| 845 | simonmar**20051202140921 |
|---|
| 846 | revert rev. 1.22 again, just in case this is the cause of the |
|---|
| 847 | segfaults reported on OpenBSD and SuSE. |
|---|
| 848 | ] |
|---|
| 849 | [[project @ 2005-12-02 12:45:16 by simonmar] |
|---|
| 850 | simonmar**20051202124516 |
|---|
| 851 | Fix Windows build |
|---|
| 852 | |
|---|
| 853 | Patch submitted by: Esa Ilari Vuokko <eivuokko at gmail.com> |
|---|
| 854 | ] |
|---|
| 855 | [[project @ 2005-11-30 16:56:51 by simonmar] |
|---|
| 856 | simonmar**20051130165651 |
|---|
| 857 | fix bug in the case of an uncaught exception |
|---|
| 858 | ] |
|---|
| 859 | [[project @ 2005-11-30 15:58:47 by simonmar] |
|---|
| 860 | simonmar**20051130155847 |
|---|
| 861 | check for overrun of the fd_set, some OSs give you more descriptors |
|---|
| 862 | than FD_SETSIZE |
|---|
| 863 | ] |
|---|
| 864 | [[project @ 2005-11-30 14:20:06 by simonpj] |
|---|
| 865 | simonpj**20051130142006 |
|---|
| 866 | ----------------------------------------- |
|---|
| 867 | Fix 'mkName' operator in Template Haskell |
|---|
| 868 | so that it handles built-in syntax |
|---|
| 869 | ----------------------------------------- |
|---|
| 870 | |
|---|
| 871 | Merge to stable branch |
|---|
| 872 | |
|---|
| 873 | The 'mkName' function in Template Haskell wasn't dealing correctly with |
|---|
| 874 | built-in syntax. The parser generates Exact RdrNames for built-in syntax |
|---|
| 875 | operators, such as ':' and '[]'; and hence so should Convert. |
|---|
| 876 | |
|---|
| 877 | At the same time I'm now generating a better error message in TH when |
|---|
| 878 | you use a constructor as a variable or vice versa. |
|---|
| 879 | ] |
|---|
| 880 | [.hi is now boring |
|---|
| 881 | John Goerzen <jgoerzen@complete.org>**20051130185834] |
|---|
| 882 | [TAG Last state before ghc 6.4 branch split |
|---|
| 883 | John Goerzen <jgoerzen@complete.org>**20051130171550] |
|---|
| 884 | [Removed more obsolete dirs |
|---|
| 885 | John Goerzen <jgoerzen@complete.org>**20051130171526] |
|---|
| 886 | [Removed obsolete directories |
|---|
| 887 | John Goerzen <jgoerzen@complete.org>**20051130171453] |
|---|
| 888 | [TAG Initial conversion from CVS complete |
|---|
| 889 | John Goerzen <jgoerzen@complete.org>**20051130033234] |
|---|
| 890 | Patch bundle hash: |
|---|
| 891 | 2908db1e3a592e814642debc33f9fa5c53f07502 |
|---|