Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Alex D
GHC
Commits
50128103
Commit
50128103
authored
Sep 27, 2006
by
Simon Marlow
Browse files
Rename -no-recomp to -fforce-recomp, and document it
parent
a1579a34
Changes
6
Hide whitespace changes
Inline
Side-by-side
compiler/main/DriverPipeline.hs
View file @
50128103
...
...
@@ -144,8 +144,8 @@ compile hsc_env mod_summary maybe_old_linkable old_iface mod_index nmods = do
extCoreName
=
basename
++
".hcr"
}
-- -no-recomp should also work with --make
let
do
_recomp
=
dopt
Opt_Recomp
Checking
dflags
source_unchanged
=
isJust
maybe_old_linkable
&&
do
_recomp
let
force
_recomp
=
dopt
Opt_
Force
Recomp
dflags
source_unchanged
=
isJust
maybe_old_linkable
&&
not
force
_recomp
hsc_env'
=
hsc_env
{
hsc_dflags
=
dflags'
}
object_filename
=
ml_obj_file
location
...
...
@@ -302,7 +302,7 @@ link BatchCompile dflags batch_attempt_linking hpt
|
Right
t
<-
e_exe_time
=
any
(
t
<
)
(
map
linkableTime
linkables
)
if
dopt
Opt_Recomp
Checking
dflags
&&
not
linking_needed
if
not
(
dopt
Opt_
Force
Recomp
dflags
)
&&
not
linking_needed
then
do
debugTraceMsg
dflags
2
(
text
exe_file
<+>
ptext
SLIT
(
"is up to date, linking not required."
))
return
Succeeded
else
do
...
...
@@ -688,9 +688,9 @@ runPhase (Hsc src_flavour) stop dflags0 basename suff input_fn get_output_fn _ma
-- date wrt M.hs (or M.o doesn't exist) so we must recompile regardless.
src_timestamp
<-
getModificationTime
(
basename
`
joinFileExt
`
suff
)
let
do
_recomp
=
dopt
Opt_Recomp
Checking
dflags
let
force
_recomp
=
dopt
Opt_
Force
Recomp
dflags
source_unchanged
<-
if
not
do
_recomp
||
not
(
isStopLn
stop
)
if
force
_recomp
||
not
(
isStopLn
stop
)
-- Set source_unchanged to False unconditionally if
-- (a) recompilation checker is off, or
-- (b) we aren't going all the way to .o file (e.g. ghc -S)
...
...
compiler/main/DynFlags.hs
View file @
50128103
...
...
@@ -186,7 +186,7 @@ data DynFlag
-- misc opts
|
Opt_Cpp
|
Opt_Pp
|
Opt_Recomp
Checking
|
Opt_
Force
Recomp
|
Opt_DryRun
|
Opt_DoAsmMangling
|
Opt_ExcessPrecision
...
...
@@ -407,7 +407,6 @@ defaultDynFlags =
pkgState
=
panic
"no package state yet: call GHC.setSessionDynFlags"
,
flags
=
[
Opt_RecompChecking
,
Opt_ReadUserPackageConf
,
Opt_MonoPatBinds
,
-- Experimentally, I'm making this non-standard
...
...
@@ -432,7 +431,7 @@ defaultDynFlags =
-- and the default no-optimisation options:
Opt_IgnoreInterfacePragmas
,
Opt_OmitInterfacePragmas
Opt_OmitInterfacePragmas
,
-- on by default:
Opt_PrintBindResult
...
...
@@ -876,9 +875,9 @@ dynamic_flags = [
,
(
"no-hs-main"
,
NoArg
(
setDynFlag
Opt_NoHsMain
))
,
(
"main-is"
,
SepArg
setMainIs
)
------- recompilation checker
---------------------------------
-----
,
(
"recomp"
,
NoArg
(
s
etDynFlag
Opt_Recomp
Checking
)
)
,
(
"no-recomp"
,
NoArg
(
unS
etDynFlag
Opt_Recomp
Checking
)
)
------- recompilation checker
(DEPRECATED, use -fforce-recomp)
-----
,
(
"recomp"
,
NoArg
(
unS
etDynFlag
Opt_
Force
Recomp
)
)
,
(
"no-recomp"
,
NoArg
(
s
etDynFlag
Opt_
Force
Recomp
)
)
------- Packages ----------------------------------------------------
,
(
"package-conf"
,
HasArg
extraPkgConf_
)
...
...
@@ -941,7 +940,7 @@ dynamic_flags = [
,
(
"dcore-lint"
,
NoArg
(
setDynFlag
Opt_DoCoreLinting
))
,
(
"dstg-lint"
,
NoArg
(
setDynFlag
Opt_DoStgLinting
))
,
(
"dcmm-lint"
,
NoArg
(
setDynFlag
Opt_DoCmmLinting
))
,
(
"dshow-passes"
,
NoArg
(
do
unS
etDynFlag
Opt_Recomp
Checking
,
(
"dshow-passes"
,
NoArg
(
do
s
etDynFlag
Opt_
Force
Recomp
setVerbosity
(
Just
2
))
)
,
(
"dfaststring-stats"
,
NoArg
(
setDynFlag
Opt_D_faststring_stats
))
...
...
@@ -1041,9 +1040,11 @@ fFlags = [
(
"dicts-cheap"
,
Opt_DictsCheap
),
(
"excess-precision"
,
Opt_ExcessPrecision
),
(
"asm-mangling"
,
Opt_DoAsmMangling
),
(
"print-bind-result"
,
Opt_PrintBindResult
)
(
"print-bind-result"
,
Opt_PrintBindResult
),
(
"force-recomp"
,
Opt_ForceRecomp
)
]
glasgowExtsFlags
=
[
Opt_GlasgowExts
,
Opt_FFI
,
...
...
@@ -1079,7 +1080,7 @@ unSetDynFlag f = upd (\dfs -> dopt_unset dfs f)
setDumpFlag
::
DynFlag
->
OptKind
DynP
setDumpFlag
dump_flag
=
NoArg
(
unS
etDynFlag
Opt_Recomp
Checking
>>
setDynFlag
dump_flag
)
=
NoArg
(
s
etDynFlag
Opt_
Force
Recomp
>>
setDynFlag
dump_flag
)
-- Whenver we -ddump, switch off the recompilation checker,
-- else you don't see the dump!
...
...
docs/users_guide/6.6-notes.xml
View file @
50128103
...
...
@@ -177,6 +177,16 @@
<xref
linkend=
"overriding-suffixes"
/>
details.
</para>
</listitem>
<listitem>
<para>
The
<option>
-no-recomp
</option><indexterm><primary><option>
-no-recomp
</option></primary></indexterm>
option is now called
<option>
-fforce-recomp
</option><indexterm><primary><option>
-fforce-recomp
</option></primary></indexterm>
.
(the old name is still accepted for backwards compatibility,
but will be removed in the future).
</para>
</listitem>
<listitem>
<para>
The
<option>
-fglobalise-toplev-names
</option>
...
...
docs/users_guide/flags.xml
View file @
50128103
...
...
@@ -426,11 +426,11 @@
</thead>
<tbody>
<row>
<entry><option>
-
no
-recomp
</option></entry>
<entry><option>
-
fforce
-recomp
</option></entry>
<entry>
Turn off recompilation checking; implied by any
<option>
-ddump-X
</option>
option
</entry>
<entry>
dynamic
</entry>
<entry><option>
-recomp
</option></entry>
<entry><option>
-
fno-force-
recomp
</option></entry>
</row>
</tbody>
</tgroup>
...
...
docs/users_guide/phases.xml
View file @
50128103
...
...
@@ -788,7 +788,7 @@ $ cat foo.hspp</screen>
<literal>
ghc
</literal>
is not clever
enough to figure out that they both need recompiling. You can
force recompilation by removing the object file, or by using the
<option>
-
no
-recomp
</option>
flag.
<option>
-
fforce
-recomp
</option>
flag.
</para>
</listitem>
</varlistentry>
...
...
docs/users_guide/separate_compilation.xml
View file @
50128103
...
...
@@ -603,9 +603,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch`
<variablelist>
<varlistentry>
<term>
<option>
-
no
-recomp
</option>
<indexterm><primary><option>
-recomp
</option></primary></indexterm>
<indexterm><primary><option>
-no-recomp
</option></primary></indexterm>
<option>
-
fforce
-recomp
</option>
<indexterm><primary><option>
-
fforce-
recomp
</option></primary></indexterm>
<indexterm><primary><option>
-
f
no-
force-
recomp
</option></primary></indexterm>
</term>
<listitem>
<para>
Turn off recompilation checking (which is on by
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment