summaryrefslogtreecommitdiff
path: root/compiler/parser
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2011-07-13 00:57:01 +0100
committerIan Lynagh <igloo@earth.li>2011-07-13 01:29:46 +0100
commit820591722ccce6f8443dc9101055cc26d7be5a50 (patch)
tree84cd9b30e777dbfd7ac81ebee27ee1015253efb8 /compiler/parser
parente6af412f3b7c502ffe09dc9f0381d4e5dd3b3327 (diff)
downloadhaskell-820591722ccce6f8443dc9101055cc26d7be5a50.tar.gz
Remove 'threadsafe' FFI imports
They've been deprecated since GHC 6.12.
Diffstat (limited to 'compiler/parser')
-rw-r--r--compiler/parser/Lexer.x3
-rw-r--r--compiler/parser/Parser.y.pp8
-rw-r--r--compiler/parser/ParserCore.y2
3 files changed, 3 insertions, 10 deletions
diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x
index 49eaadf203..a30a7fefbf 100644
--- a/compiler/parser/Lexer.x
+++ b/compiler/parser/Lexer.x
@@ -451,7 +451,6 @@ data Token
| ITlabel
| ITdynamic
| ITsafe
- | ITthreadsafe
| ITinterruptible
| ITunsafe
| ITstdcallconv
@@ -599,7 +598,6 @@ isSpecial ITexport = True
isSpecial ITlabel = True
isSpecial ITdynamic = True
isSpecial ITsafe = True
-isSpecial ITthreadsafe = True
isSpecial ITinterruptible = True
isSpecial ITunsafe = True
isSpecial ITccallconv = True
@@ -662,7 +660,6 @@ reservedWordsFM = listToUFM $
( "label", ITlabel, bit ffiBit),
( "dynamic", ITdynamic, bit ffiBit),
( "safe", ITsafe, bit ffiBit .|. bit safeHaskellBit),
- ( "threadsafe", ITthreadsafe, bit ffiBit), -- ToDo: remove
( "interruptible", ITinterruptible, bit interruptibleFfiBit),
( "unsafe", ITunsafe, bit ffiBit),
( "stdcall", ITstdcallconv, bit ffiBit),
diff --git a/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp
index 2641cc53f2..05e0222182 100644
--- a/compiler/parser/Parser.y.pp
+++ b/compiler/parser/Parser.y.pp
@@ -238,7 +238,6 @@ incorrect.
'label' { L _ ITlabel }
'dynamic' { L _ ITdynamic }
'safe' { L _ ITsafe }
- 'threadsafe' { L _ ITthreadsafe } -- ToDo: remove deprecated alias
'interruptible' { L _ ITinterruptible }
'unsafe' { L _ ITunsafe }
'mdo' { L _ ITmdo }
@@ -894,7 +893,7 @@ fdecl :: { LHsDecl RdrName }
fdecl : 'import' callconv safety fspec
{% mkImport $2 $3 (unLoc $4) >>= return.LL }
| 'import' callconv fspec
- {% do { d <- mkImport $2 (PlaySafe False) (unLoc $3);
+ {% do { d <- mkImport $2 PlaySafe (unLoc $3);
return (LL d) } }
| 'export' callconv fspec
{% mkExport $2 (unLoc $3) >>= return.LL }
@@ -906,9 +905,8 @@ callconv :: { CCallConv }
safety :: { Safety }
: 'unsafe' { PlayRisky }
- | 'safe' { PlaySafe False }
+ | 'safe' { PlaySafe }
| 'interruptible' { PlayInterruptible }
- | 'threadsafe' { PlaySafe True } -- deprecated alias
fspec :: { Located (Located FastString, Located RdrName, LHsType RdrName) }
: STRING var '::' sigtypedoc { LL (L (getLoc $1) (getSTRING $1), $2, $4) }
@@ -1808,7 +1806,6 @@ tyvarid :: { Located RdrName }
| 'unsafe' { L1 $! mkUnqual tvName (fsLit "unsafe") }
| 'safe' { L1 $! mkUnqual tvName (fsLit "safe") }
| 'interruptible' { L1 $! mkUnqual tvName (fsLit "interruptible") }
- | 'threadsafe' { L1 $! mkUnqual tvName (fsLit "threadsafe") }
tyvarsym :: { Located RdrName }
-- Does not include "!", because that is used for strictness marks
@@ -1842,7 +1839,6 @@ varid :: { Located RdrName }
| 'unsafe' { L1 $! mkUnqual varName (fsLit "unsafe") }
| 'safe' { L1 $! mkUnqual varName (fsLit "safe") }
| 'interruptible' { L1 $! mkUnqual varName (fsLit "interruptible") }
- | 'threadsafe' { L1 $! mkUnqual varName (fsLit "threadsafe") }
| 'forall' { L1 $! mkUnqual varName (fsLit "forall") }
| 'family' { L1 $! mkUnqual varName (fsLit "family") }
diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y
index 3f2b32a8b3..c99fcb6695 100644
--- a/compiler/parser/ParserCore.y
+++ b/compiler/parser/ParserCore.y
@@ -279,7 +279,7 @@ exp :: { IfaceExpr }
-- }
| '%external' STRING aty { IfaceFCall (ForeignCall.CCall
(CCallSpec (StaticTarget (mkFastString $2) Nothing)
- CCallConv (PlaySafe False)))
+ CCallConv PlaySafe))
$3 }
alts1 :: { [IfaceAlt] }