- 21 Aug, 2001 25 commits
-
-
simonmar authored
Oops, I bungled the -no-recomp fix. This probably had something to do with the fact that -no-recomp is perhaps the worst-named option in the history of compilers, and the internal variable used to store the value of -no-recomp actually stores (not -no-recomp), perhaps in an attempt to reverse the confusion generated by the obsurely named option. In the end I figured I had a 50/50 chance of getting it right...
-
simonmar authored
Look for the source file first, so we don't miss it if there's an hi file in the current directory.
-
sewardj authored
Handle the R_SPARC_UA32 relocation type, as reported by Armin Groesslinger. /* According to the Sun documentation: R_SPARC_UA32 This relocation type resembles R_SPARC_32, except it refers to an unaligned word. That is, the word to be relocated must be treated as four separate bytes with arbitrary alignment, not as a word aligned according to the architecture requirements. (JRS: which means that freeloading on the R_SPARC_32 case is probably wrong, but hey ...) */
-
simonmar authored
update output
-
simonmar authored
Test various forms of :info
-
simonmar authored
Test that System.exitWith doesn't kill the interpreter
-
sewardj authored
Go back to using a relative path name for the config.h include. This is for the same reason that we do so in ghc/compiler/*, which is that saying -I$(GHC_INCLUDE_DIR) confuses 4.08 series compilers.
-
simonmar authored
Make local bindings work on the GHCi command line again.
-
simonmar authored
make -no-recomp work with --make
-
simonmar authored
comment reformatting only
-
simonpj authored
----------------------- Fix a tyvar scoping bug ----------------------- This program: data T = forall a. T a (a->Int) f :: T -> T f (T (x::a) f) = T (undefined::a) f gave the error Inferred type is less polymorphic than expected Quantified type variable `a' is unified with another quantified type variable `a' When checking a pattern that binds f :: a -> Int In the definition of `f': f (T (x :: a) f) = T (undefined :: a) f This is of course bogus. The fix is in TcMatches.tcMatchPats, where the in-scope tyvars should be un-extended before calling tcCheckExistentialPat.
-
simonmar authored
Use -ignore-dot-ghci for the GHCi tests.
-
rrt authored
Fix include of config.h
-
simonpj authored
Further corrections to type validity checking
-
sewardj authored
Teach it about MUT_VAR.
-
simonmar authored
Another case of parenthesising operator names, this time in a ConDecl.
-
simonpj authored
wibbles
-
simonpj authored
Fix tycon assert failure
-
simonmar authored
document the requirement for source files in --make.
-
simonmar authored
document the requirement for source files in :load.
-
simonmar authored
Accept The Truth and disallow loading any home modules which don't have a source file. The reason is that the compilation manager can't figure out dependencies unless it has the source file to browse through - previously there was a half-hearted attempt to let you get away with just an object + interface file, but it didn't work in general. Better just to disallow it altogether. Note that this applies to --make too.
-
rrt authored
Remove unused function isSlash
-
rrt authored
Fix ghc-pkg to find package.conf when installed on Windows
-
simonmar authored
Add a case so that tyConTheta works for tuples (made this change earlier but forgot to commit it - it fixes the panic when you do :info () in GHCi).
-
simonmar authored
Allow renameFile to rename dangling symlinks. We use lstat, but check for HAVE_LSTAT first.
-
- 20 Aug, 2001 15 commits
-
-
simonpj authored
------------------------------------- Make NOINLINE zap the strictness info ------------------------------------- Make a NOINLINE pragma zap strictness information. Reasons given in the WorkWrap comment: -- Furthermore, zap the strictess info in the Id. Why? Because -- the NOINLINE says "don't expose any of the inner workings at the call -- site" and the strictness is certainly an inner working. -- -- More concretely, the demand analyser discovers the following strictness -- for unsafePerformIO: C(U(AV)) -- But then consider -- unsafePerformIO (\s -> let r = f x in -- case writeIORef v r s of (# s1, _ #) -> -- (# s1, r #) -- The strictness analyser will find that the binding for r is strict, -- (becuase of uPIO's strictness sig), and so it'll evaluate it before -- doing the writeIORef. This actually makes tests/lib/should_run/memo002 -- get a deadlock! -- -- Solution: don't expose the strictness of unsafePerformIO. This fixes the memo002 deadlock.
-
simonpj authored
Add assertion
-
simonmar authored
- be more informative about primitive types: they are identified as such, and a declaration is printed out as if the thing was an abstract data type (this at least tells you what the arity of the tycon is). - print 'infix 4 elem' as 'infix 4 `elem`'.
-
simonmar authored
Do something vaguely useful in ifaceTyCls when presented with a primitive type constructor. We pretend it's an abstract data type for now.
-
sof authored
sigemptyset: may be implemented as a macro on some plats, so wrap it up in an inline function to get the C types right. (Thomas Nordin, using OpenBSD, spotted this one).
-
simonmar authored
This StablePtr test is old, most of the features it uses are deprecated and have been replaced by newer mechanisms (eg. foreign export) which is tested elsewhere.
-
simonpj authored
Amplify comment on mkMachInt a little
-
simonmar authored
Remove the in-range assertions on mkMachInt/mkMachWord. They clearly aren't true, because there's nothing stopping you from writing an out-of-range Int# literal (although that's the only way I can see for these to arise). The wider issue is what should be done about out-of-range Int# literals; I vaguely remember that at some point we disallowed them, but I can't find anything in the logs. The case which triggered the assertion, namely "intToWord# 0xffff0000" would appear to be a legitimate use for an out-of-range Int# literal though, given that you can't write Word# literals directly.
-
sewardj authored
I have braved the insanity of the Sparc calling conventions and lived to tell the tale. This commit adds support for foreign import {static,dynamic} for Sparc in GHCi.
-
simonmar authored
Commit a new autoheader-generated version of this file.
-
simonmar authored
It isn't necessary to put HAVE_DLOPEN in here, autoheader can figure that out for itself.
-
simonmar authored
dunno what DATA_SECTION_WIBBLE is supposed to be, but it doesn't appear anywhere else in the source tree so I'm removing it.
-
simonmar authored
check for lstat()
-
chak authored
Added two links to CVS
-
simonpj authored
Remove the identity-substitution "optimisation" from zip_ty_env. -- There used to be a special case for when -- ty == TyVarTy tv -- (a not-uncommon case) in which case the substitution was dropped. -- But the type-tidier changes the print-name of a type variable without -- changing the unique, and that led to a bug. Why? Pre-tidying, we had -- a type {Foo t}, where Foo is a one-method class. So Foo is really a newtype. -- And it happened that t was the type variable of the class. Post-tiding, -- it got turned into {Foo t2}. The ext-core printer expanded this using -- sourceTypeRep, but that said "Oh, t == t2" because they have the same unique, -- and so generated a rep type mentioning t not t2. -- -- Simplest fix is to nuke the "optimisation"
-