Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
GHC
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
4,273
Issues
4,273
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
413
Merge Requests
413
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
266bc3d9
Commit
266bc3d9
authored
May 18, 2020
by
Sylvain Henry
Committed by
Marge Bot
Jun 13, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DynFlags: refactor unwireUnit
parent
9400aa93
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
11 deletions
+12
-11
compiler/GHC/Driver/Backpack.hs
compiler/GHC/Driver/Backpack.hs
+3
-2
compiler/GHC/Driver/Make.hs
compiler/GHC/Driver/Make.hs
+6
-6
compiler/GHC/Unit/State.hs
compiler/GHC/Unit/State.hs
+3
-3
No files found.
compiler/GHC/Driver/Backpack.hs
View file @
266bc3d9
...
...
@@ -195,7 +195,7 @@ withBkpSession cid insts deps session_type do_this = do
-- Synthesized the flags
packageFlags
=
packageFlags
dflags
++
map
(
\
(
uid0
,
rn
)
->
let
state
=
unitState
dflags
uid
=
unwireUnit
dflags
(
improveUnit
state
$
renameHoleUnit
state
(
listToUFM
insts
)
uid0
)
uid
=
unwireUnit
state
(
improveUnit
state
$
renameHoleUnit
state
(
listToUFM
insts
)
uid0
)
in
ExposePackage
(
showSDoc
dflags
(
text
"-unit-id"
<+>
ppr
uid
<+>
ppr
rn
))
...
...
@@ -306,6 +306,7 @@ buildUnit session cid insts lunit = do
$
home_mod_infos
getOfiles
(
LM
_
_
us
)
=
map
nameOfObject
(
filter
isObject
us
)
obj_files
=
concatMap
getOfiles
linkables
state
=
unitState
(
hsc_dflags
hsc_env
)
let
compat_fs
=
unitIdFS
(
indefUnit
cid
)
compat_pn
=
PackageName
compat_fs
...
...
@@ -330,7 +331,7 @@ buildUnit session cid insts lunit = do
-- really used for anything, so we leave it
-- blank for now.
TcSession
->
[]
_
->
map
(
toUnitId
.
unwireUnit
dflags
)
_
->
map
(
toUnitId
.
unwireUnit
state
)
$
deps
++
[
moduleUnit
mod
|
(
_
,
mod
)
<-
insts
,
not
(
isHoleModule
mod
)
],
...
...
compiler/GHC/Driver/Make.hs
View file @
266bc3d9
...
...
@@ -320,7 +320,7 @@ warnUnusedPackages = do
requestedArgs
=
mapMaybe
packageArg
(
packageFlags
dflags
)
unusedArgs
=
filter
(
\
arg
->
not
$
any
(
matching
dflags
arg
)
loadedPackages
)
=
filter
(
\
arg
->
not
$
any
(
matching
state
arg
)
loadedPackages
)
requestedArgs
let
warn
=
makeIntoWarning
...
...
@@ -348,15 +348,15 @@ warnUnusedPackages = do
=
str
==
unitPackageIdString
p
||
str
==
unitPackageNameString
p
matching
::
DynFlags
->
PackageArg
->
UnitInfo
->
Bool
matching
::
UnitState
->
PackageArg
->
UnitInfo
->
Bool
matching
_
(
PackageArg
str
)
p
=
matchingStr
str
p
matching
dflags
(
UnitIdArg
uid
)
p
=
uid
==
realUnit
dflags
p
matching
state
(
UnitIdArg
uid
)
p
=
uid
==
realUnit
state
p
-- For wired-in packages, we have to unwire their id,
-- otherwise they won't match package flags
realUnit
::
DynFlags
->
UnitInfo
->
Unit
realUnit
dflags
=
unwireUnit
dflags
realUnit
::
UnitState
->
UnitInfo
->
Unit
realUnit
state
=
unwireUnit
state
.
RealUnit
.
Definite
.
unitId
...
...
compiler/GHC/Unit/State.hs
View file @
266bc3d9
...
...
@@ -1616,9 +1616,9 @@ mkUnitState dflags dbs = do
-- | Given a wired-in 'Unit', "unwire" it into the 'Unit'
-- that it was recorded as in the package database.
unwireUnit
::
DynFlags
->
Unit
->
Unit
unwireUnit
dflags
uid
@
(
RealUnit
(
Definite
def_uid
))
=
maybe
uid
(
RealUnit
.
Definite
)
(
Map
.
lookup
def_uid
(
unwireMap
(
unitState
dflags
)
))
unwireUnit
::
UnitState
->
Unit
->
Unit
unwireUnit
state
uid
@
(
RealUnit
(
Definite
def_uid
))
=
maybe
uid
(
RealUnit
.
Definite
)
(
Map
.
lookup
def_uid
(
unwireMap
state
))
unwireUnit
_
uid
=
uid
-- -----------------------------------------------------------------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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