summaryrefslogtreecommitdiff
path: root/compiler/main/HeaderInfo.hs
Commit message (Collapse)AuthorAgeFilesLines
...
* Add separate functions for querying DynFlag and ExtensionFlag optionsIan Lynagh2010-09-181-1/+1
| | | | and remove the temporary DOpt class workaround.
* Add support for Haskell98 and Haskell2010 "languages"Ian Lynagh2010-07-241-2/+2
|
* Rename "language" varibles etc to "extension", and add --supported-extensionsIan Lynagh2010-07-241-2/+2
|
* Handle haddock headers when looking for LANGUAGE/OPTIONS_GHC pragmasIan Lynagh2010-07-071-0/+3
|
* Make mkPState and pragState take their arguments in the same orderIan Lynagh2010-07-061-1/+1
|
* Spelling correction for LANGUAGE pragmasMax Bolingbroke2010-04-131-2/+3
|
* Add the implicit 'import Prelude' in getImportsSimon Marlow2010-03-031-6/+41
| | | | | This makes things more consistent, and avoids a strange "Prelude is not loaded" error when there is a Prelude.hs on the search path.
* Columns now start at 1, as lines already didIan Lynagh2009-11-271-4/+4
| | | | Also corrected a couple of line 0's to line 1
* Improve error message for malformed LANGUAGE pragmasimonpj@microsoft.com2009-10-301-2/+5
|
* remove Haddock-lexing/parsing/renaming from GHCIsaac Dupree2009-08-261-1/+1
|
* Fix error handlingIan Lynagh2009-04-281-1/+2
| | | | | After the fix to #2500, we could get "Failing due to -Werror." but no warnings printed. Now we don't fail in that case.
* FIX #2500: Don't log warnings in getHeaderSimon Marlow2009-04-211-2/+4
|
* FIX #3153: we lost an EOF sentinel in the event of a lexical errorSimon Marlow2009-04-211-2/+3
|
* FIX #3079, dodgy parsing of LANGUAGE pragmas2009-03-13Simon Marlow2009-03-121-57/+71
| | | | | | | | | I ended up rewriting this horrible bit of code, using (yikes) lazy I/O to slurp in the source file a chunk at a time. The old code tried to read the file a chunk at a time, but failed with LANGUAGE pragmas because the parser for LANGUAGE has state and the state wasn't being saved between chunks. We're still closing the Handle eagerly, so there shouldn't be any problems here.
* Put full ImportDecls in ModSummary instead of just ModuleNamesSimon Marlow2008-12-021-18/+6
| | | | | | | | ... and use it to make ghc -M generate correct cross-package dependencies when using package-qualified imports (needed for the new build system). Since we're already parsing the ImportDecl from the source file, there seems no good reason not to keep it in the ModSummary, it might be useful for other things too.
* Document exported functions in main/HeaderInfo.Thomas Schilling2008-11-211-5/+16
|
* Remove warning supression klugde in main/HeaderInfoThomas Schilling2008-11-211-8/+4
|
* Throw SourceErrors instead of ProgramErrors in main/HeaderInfo.Thomas Schilling2008-11-211-23/+36
| | | | | Parse errors during dependency analysis or options parsing really shouldn't kill GHC; this is particularly annoying for GHC API clients.
* fix #2636: throw missing module errors as SourceErrors, not ErrMsgSimon Marlow2008-10-101-2/+3
|
* Give locations of flag warnings/errorsIan Lynagh2008-08-261-7/+8
|
* Add -XPackageImports, new syntax for package-qualified importsSimon Marlow2008-08-051-4/+10
| | | | | | | | | | | | | | | | | Now you can say import "network" Network.Socket and get Network.Socket from package "network", even if there are multiple Network.Socket modules in scope from different packages and/or the current package. This is not really intended for general use, it's mainly so that we can build backwards-compatible versions of packages, where we need to be able to do module GHC.Base (module New.GHC.Base) where import "base" GHC.Base as New.GHC.Base
* Follow changes in the base libraryIan Lynagh2008-07-311-1/+1
| | | | | TopHandler now uses the new extensible exceptions module, so we need to interact with it using the new types.
* Follow extensible exception changesIan Lynagh2008-07-301-3/+3
|
* Remove code that isn't used now that we assume that GHC >= 6.4Ian Lynagh2008-06-201-11/+0
|
* Handle errors in an OPTIONS pragma when preprocessingIan Lynagh2008-06-141-1/+15
|
* Pass dynflags down through to pragStateIan Lynagh2008-06-141-9/+11
| | | | so we no longer need to use defaultDynFlags there
* Improve error message for malformed LANGUAGE pragmaTim Chevalier2008-04-061-2/+3
| | | | | | I made the error (which previously said "cannot parse LANGUAGE pragma") slightly more helpful by reminding the user that pragmas should be comma-separated.
* Fixed warnings in main/HeaderInfo, except for incomplete pattern matchesTwan van Laarhoven2008-01-271-10/+15
|
* lots of portability changes (#1405)Isaac Dupree2008-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | re-recording to avoid new conflicts was too hard, so I just put it all in one big patch :-( (besides, some of the changes depended on each other.) Here are what the component patches were: Fri Dec 28 11:02:55 EST 2007 Isaac Dupree <id@isaac.cedarswampstudios.org> * document BreakArray better Fri Dec 28 11:39:22 EST 2007 Isaac Dupree <id@isaac.cedarswampstudios.org> * properly ifdef BreakArray for GHCI Fri Jan 4 13:50:41 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * change ifs on __GLASGOW_HASKELL__ to account for... (#1405) for it not being defined. I assume it being undefined implies a compiler with relatively modern libraries but without most unportable glasgow extensions. Fri Jan 4 14:21:21 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * MyEither-->EitherString to allow Haskell98 instance Fri Jan 4 16:13:29 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * re-portabilize Pretty, and corresponding changes Fri Jan 4 17:19:55 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * Augment FastTypes to be much more complete Fri Jan 4 20:14:19 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * use FastFunctions, cleanup FastString slightly Fri Jan 4 21:00:22 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * Massive de-"#", mostly Int# --> FastInt (#1405) Fri Jan 4 21:02:49 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * miscellaneous unnecessary-extension-removal Sat Jan 5 19:30:13 EST 2008 Isaac Dupree <id@isaac.cedarswampstudios.org> * add FastFunctions
* Refactor Haddock optionsDavid Waern2007-11-011-1/+10
| | | | | | | | | | | | | | This patch renames the DOC_OPTIONS pragma to OPTIONS_HADDOCK. It also adds "-- # ..."-style Haddock option pragmas, for compatibility with code that use them. Another change is that both of these two pragmas behave like OPTIONS_GHC, i.e. they are only allowed at the top of the module, they are ignored everywhere else and they are stored in the dynflags. There is no longer any Haddock options in HsSyn. Please merge this to the 6.8.2 branch when 6.8.1 is out, if appropriate.
* Move OPTIONS pragmas above commentsIan Lynagh2007-09-211-7/+7
| | | | Fixes building with -Werror (i.e. validate) and GHC < 6.6
* FIX #1677; poor error message for misspelled module declarationSimon Marlow2007-09-111-13/+5
|
* Fix CodingStyle#Warnings URLsIan Lynagh2007-09-041-1/+1
|
* Use OPTIONS rather than OPTIONS_GHC for pragmasIan Lynagh2007-09-031-2/+2
| | | | | | | Older GHCs can't parse OPTIONS_GHC. This also changes the URL referenced for the -w options from WorkingConventions#Warnings to CodingStyle#Warnings for the compiler modules.
* Add {-# OPTIONS_GHC -w #-} and some blurb to all compiler modulesIan Lynagh2007-09-011-0/+7
|
* FIX read030 (error message wibble)Simon Marlow2007-08-091-1/+1
|
* Removed a dependency on Cabal that caused a build failure when Cabal changedMagnus Jonsson2007-08-081-27/+7
|
* Follow Cabal changesIan Lynagh2007-08-051-7/+21
|
* We now need to pass a version to extensionsToGHCFlagIan Lynagh2007-08-041-5/+12
|
* Warning fix for unused and redundant importsMichael D. Adams2007-05-101-1/+0
|
* Add a warning for tabs in source filesIan Lynagh2007-01-121-4/+8
|
* Improve error message from ghc --make when filename and modulename differsimonpj@microsoft.com2006-11-021-5/+5
|
* 6.4 compatiblityandy@galois.com2006-10-251-1/+1
|
* fix 5.04 compileSimon Marlow2006-10-241-1/+2
|
* Module header tidyup #2Simon Marlow2006-10-111-3/+3
| | | | Push this further along, and fix build problems in the first patch.
* Merge Haddock comment support from ghc.haddock -- big patchdavve@dtek.chalmers.se2006-10-051-1/+1
|
* Generalise Package SupportSimon Marlow2006-07-251-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch pushes through one fundamental change: a module is now identified by the pair of its package and module name, whereas previously it was identified by its module name alone. This means that now a program can contain multiple modules with the same name, as long as they belong to different packages. This is a language change - the Haskell report says nothing about packages, but it is now necessary to understand packages in order to understand GHC's module system. For example, a type T from module M in package P is different from a type T from module M in package Q. Previously this wasn't an issue because there could only be a single module M in the program. The "module restriction" on combining packages has therefore been lifted, and a program can contain multiple versions of the same package. Note that none of the proposed syntax changes have yet been implemented, but the architecture is geared towards supporting import declarations qualified by package name, and that is probably the next step. It is now necessary to specify the package name when compiling a package, using the -package-name flag (which has been un-deprecated). Fortunately Cabal still uses -package-name. Certain packages are "wired in". Currently the wired-in packages are: base, haskell98, template-haskell and rts, and are always referred to by these versionless names. Other packages are referred to with full package IDs (eg. "network-1.0"). This is because the compiler needs to refer to entities in the wired-in packages, and we didn't want to bake the version of these packages into the comiler. It's conceivable that someone might want to upgrade the base package independently of GHC. Internal changes: - There are two module-related types: ModuleName just a FastString, the name of a module Module a pair of a PackageId and ModuleName A mapping from ModuleName can be a UniqFM, but a mapping from Module must be a FiniteMap (we provide it as ModuleEnv). - The "HomeModules" type that was passed around the compiler is now gone, replaced in most cases by the current package name which is contained in DynFlags. We can tell whether a Module comes from the current package by comparing its package name against the current package. - While I was here, I changed PrintUnqual to be a little more useful: it now returns the ModuleName that the identifier should be qualified with according to the current scope, rather than its original module. Also, PrintUnqual tells whether to qualify module names with package names (currently unused). Docs to follow.
* Reorganisation of the source treeSimon Marlow2006-04-071-0/+201
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.