Skip to content
Snippets Groups Projects
Commit fc196f84 authored by sof's avatar sof
Browse files

[project @ 1997-11-29 20:39:39 by sof]

Added stuff on interface filenames being dependent on module names; documented -fwarn-duplicate-exports
parent 54e05e9f
No related merge requests found
...@@ -440,6 +440,11 @@ warnings: ...@@ -440,6 +440,11 @@ warnings:
Turns off all warnings, including the standard ones. Turns off all warnings, including the standard ones.
\item[\tr{-w}:]
\index{-w option}
Synonym for \tr{-Wnot}.
\item[\tr{-W}:] \item[\tr{-W}:]
\index{-W option} \index{-W option}
...@@ -516,6 +521,17 @@ class declaration has no default declaration for them. ...@@ -516,6 +521,17 @@ class declaration has no default declaration for them.
Have the renamer report which locally defined names are not Have the renamer report which locally defined names are not
used/exported. This option is not currently supported. used/exported. This option is not currently supported.
\item[\tr{-fwarn-duplicate-exports}:]
\index{-fwarn-duplicate-exports option}
\index{export lists, duplicates}
Have the compiler warn about duplicate entries in export lists. This
is useful information if you maintain large export lists, and want to
avoid the continued export of a definition after you've deleted (one)
mention of it in the export list.
This option is on by default.
\end{description} \end{description}
If you would like GHC to check that every top-level value has a type If you would like GHC to check that every top-level value has a type
...@@ -537,11 +553,21 @@ sanity, not yours.) ...@@ -537,11 +553,21 @@ sanity, not yours.)
When compiling a Haskell module, GHC may produce several files of When compiling a Haskell module, GHC may produce several files of
output (usually two). output (usually two).
One file is usually an {\em interface file}. If compiling One file is usually an {\em interface file}. The name of the
\tr{bar/Foo.hs}, the interface file would normally be \tr{bar/Foo.hi}. interface file follows the Haskell {\em module} name, i.e., if
compiling \tr{bar/Foo.hs}, and it implements \tr{module Bar ...}, the
interface file would normally be \tr{bar/Bar.hi}.
The interface output may be directed to another file The interface output may be directed to another file
\tr{bar2/Wurble.iface} with the option \tr{bar2/Wurble.iface} with the option \tr{-ohi
\tr{-ohi bar2/Wurble.iface}\index{-ohi <file> option} (not recommended). bar2/Wurble.iface}\index{-ohi <file> option} (not recommended).
NOTE: Having the name of the interface file follow the module name
and not the file name, means that working with tools such as
\tr{make(1)} become harder. \tr{make} implicitly assumes that any
output files produced by processing a translation unit will have file
names that can be derived from the file name of the translation unit.
For instance, pattern rules becomes unusable.
To avoid generating an interface file at all, use a \tr{-nohi} To avoid generating an interface file at all, use a \tr{-nohi}
option.\index{-nohi option} option.\index{-nohi option}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment