summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/GHC/Driver/Types.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/GHC/Driver/Types.hs b/compiler/GHC/Driver/Types.hs
index 93a7ac1b4d..186d9386ae 100644
--- a/compiler/GHC/Driver/Types.hs
+++ b/compiler/GHC/Driver/Types.hs
@@ -156,6 +156,7 @@ module GHC.Driver.Types (
writeField, writeIfaceField, writeIfaceFieldWith,
deleteField, deleteIfaceField,
registerInterfaceData, registerInterfaceDataWith,
+ unregisterInterfaceData,
) where
#include "HsVersions.h"
@@ -3418,3 +3419,8 @@ registerInterfaceDataWith name env write = do
ext_fs <- readIORef (hsc_ext_fields env)
ext_fs' <- writeFieldWith name write ext_fs
writeIORef (hsc_ext_fields env) ext_fs'
+
+unregisterInterfaceData :: FieldName -> HscEnv -> IO ()
+unregisterInterfaceData name env = do
+ ext_fs <- readIORef (hsc_ext_fields env)
+ writeIORef (hsc_ext_fields env) (deleteField name ext_fs)