diff --git a/src/ShellCheck/CFGAnalysis.hs b/src/ShellCheck/CFGAnalysis.hs index cac913ee575f63d217d747dfd5aee923dd5100a1..4e36cf524bf17f1cc737502a304cdf1db0152da4 100644 --- a/src/ShellCheck/CFGAnalysis.hs +++ b/src/ShellCheck/CFGAnalysis.hs @@ -20,6 +20,7 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE DeriveAnyClass, DeriveGeneric #-} +{-# LANGUAGE CPP #-} {- Data Flow Analysis on a Control Flow Graph. @@ -433,6 +434,13 @@ data StackEntry s = StackEntry { } deriving (Eq, Generic, NFData) +#if MIN_VERSION_deepseq(1,4,2) +-- Our deepseq already has a STRef instance +#else +-- Older deepseq (for GHC < 8) lacks this instance +instance NFData (STRef s a) where + rnf = (`seq` ()) +#endif -- Overwrite a base state with the contents of a diff state -- This is unrelated to join/merge.