diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,10 @@
 because NVIDIA are A-OK introducing breaking changes in minor updates.
 
 
+## [0.11.0.1] - 2023-08-15
+### Fixed
+  * Build fixes for GHC 9.2 .. 9.6
+
 ## [0.11.0.0] - 2021-07-05
 ### Added
   * Add support for CUDA-11.[0..4]
@@ -163,7 +167,8 @@
 ### Added
   * Add functions from CUDA-6.5
 
-
+[next]:       https://github.com/tmcdonell/cuda/compare/v0.11.0.1...HEAD
+[0.11.0.1]:   https://github.com/tmcdonell/cuda/compare/v0.11.0.0...v0.11.0.1
 [0.11.0.0]:   https://github.com/tmcdonell/cuda/compare/v0.10.2.0...v0.11.0.0
 [0.10.2.0]:   https://github.com/tmcdonell/cuda/compare/v0.10.1.0...v0.10.2.0
 [0.10.1.0]:   https://github.com/tmcdonell/cuda/compare/v0.10.0.0...v0.10.1.0
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -30,6 +30,9 @@
 #else
 import Distribution.PackageDescription.Parse
 #endif
+#if MIN_VERSION_Cabal(3,8,0)
+import Distribution.Simple.PackageDescription
+#endif
 
 import Control.Exception
 import Control.Monad
@@ -637,6 +640,9 @@
 #endif
     = PreProcessor {
         platformIndependent = False,
+#if MIN_VERSION_Cabal(3,8,0)
+        ppOrdering          = unsorted,
+#endif
         runPreProcessor     = \(inBaseDir, inRelativeFile)
                                (outBaseDir, outRelativeFile) verbosity ->
           runDbProgram verbosity c2hsProgram (withPrograms lbi) . filter (not . null) $
diff --git a/cuda.cabal b/cuda.cabal
--- a/cuda.cabal
+++ b/cuda.cabal
@@ -1,7 +1,7 @@
 cabal-version:          1.24
 
 Name:                   cuda
-Version:                0.11.0.0
+Version:                0.11.0.1
 Synopsis:               FFI binding to the CUDA interface for programming NVIDIA GPUs
 Description:
     The CUDA library provides a direct, general purpose C-like SPMD programming
@@ -60,7 +60,7 @@
 
 License:                BSD3
 License-file:           LICENSE
-Copyright:              Copyright (c) [2009..2018]. Trevor L. McDonell <trevor.mcdonell@gmail.com>
+Copyright:              Copyright (c) [2009..2023]. Trevor L. McDonell <trevor.mcdonell@gmail.com>
 Author:                 Trevor L. McDonell <trevor.mcdonell@gmail.com>
 Maintainer:             Trevor L. McDonell <trevor.mcdonell@gmail.com>
 Homepage:               https://github.com/tmcdonell/cuda
@@ -80,8 +80,8 @@
 
 custom-setup
   setup-depends:
-      base              >= 4.7
-    , Cabal             >= 1.24
+      base              >= 4.7  && < 5
+    , Cabal             >= 1.24 && < 3.11
     , directory         >= 1.0
     , filepath          >= 1.0
 
@@ -191,6 +191,6 @@
 source-repository this
     type:               git
     location:           https://github.com/tmcdonell/cuda
-    tag:                v0.11.0.0
+    tag:                v0.11.0.1
 
 -- vim: nospell
diff --git a/src/Foreign/C/Extra.hs b/src/Foreign/C/Extra.hs
--- a/src/Foreign/C/Extra.hs
+++ b/src/Foreign/C/Extra.hs
@@ -3,7 +3,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.C.Extra
--- Copyright : [2018..2020] Trevor L. McDonell
+-- Copyright : [2018..2023] Trevor L. McDonell
 -- License   : BSD
 --
 --------------------------------------------------------------------------------
diff --git a/src/Foreign/CUDA.hs b/src/Foreign/CUDA.hs
--- a/src/Foreign/CUDA.hs
+++ b/src/Foreign/CUDA.hs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Top level bindings. By default, expose the C-for-CUDA runtime API bindings,
diff --git a/src/Foreign/CUDA/Analysis.hs b/src/Foreign/CUDA/Analysis.hs
--- a/src/Foreign/CUDA/Analysis.hs
+++ b/src/Foreign/CUDA/Analysis.hs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Analysis
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Meta-module exporting CUDA analysis routines
diff --git a/src/Foreign/CUDA/Analysis/Device.chs b/src/Foreign/CUDA/Analysis/Device.chs
--- a/src/Foreign/CUDA/Analysis/Device.chs
+++ b/src/Foreign/CUDA/Analysis/Device.chs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Analysis.Device
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Common device functions
diff --git a/src/Foreign/CUDA/Analysis/Occupancy.hs b/src/Foreign/CUDA/Analysis/Occupancy.hs
--- a/src/Foreign/CUDA/Analysis/Occupancy.hs
+++ b/src/Foreign/CUDA/Analysis/Occupancy.hs
@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Analysis.Occupancy
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Occupancy calculations for CUDA kernels
diff --git a/src/Foreign/CUDA/Driver.hs b/src/Foreign/CUDA/Driver.hs
--- a/src/Foreign/CUDA/Driver.hs
+++ b/src/Foreign/CUDA/Driver.hs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- This module defines an interface to the CUDA driver API. The Driver API
diff --git a/src/Foreign/CUDA/Driver/Context.hs b/src/Foreign/CUDA/Driver/Context.hs
--- a/src/Foreign/CUDA/Driver/Context.hs
+++ b/src/Foreign/CUDA/Driver/Context.hs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Context
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Context management for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Context/Base.chs b/src/Foreign/CUDA/Driver/Context/Base.chs
--- a/src/Foreign/CUDA/Driver/Context/Base.chs
+++ b/src/Foreign/CUDA/Driver/Context/Base.chs
@@ -9,7 +9,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Context.Base
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Context management for the low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Context/Config.chs b/src/Foreign/CUDA/Driver/Context/Config.chs
--- a/src/Foreign/CUDA/Driver/Context/Config.chs
+++ b/src/Foreign/CUDA/Driver/Context/Config.chs
@@ -9,7 +9,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Context.Config
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Context configuration for the low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Context/Peer.chs b/src/Foreign/CUDA/Driver/Context/Peer.chs
--- a/src/Foreign/CUDA/Driver/Context/Peer.chs
+++ b/src/Foreign/CUDA/Driver/Context/Peer.chs
@@ -9,7 +9,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Context.Peer
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Direct peer context access functions for the low-level driver interface.
diff --git a/src/Foreign/CUDA/Driver/Context/Primary.chs b/src/Foreign/CUDA/Driver/Context/Primary.chs
--- a/src/Foreign/CUDA/Driver/Context/Primary.chs
+++ b/src/Foreign/CUDA/Driver/Context/Primary.chs
@@ -5,7 +5,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Context.Primary
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Primary context management for low-level driver interface. The primary
diff --git a/src/Foreign/CUDA/Driver/Device.chs b/src/Foreign/CUDA/Driver/Device.chs
--- a/src/Foreign/CUDA/Driver/Device.chs
+++ b/src/Foreign/CUDA/Driver/Device.chs
@@ -10,7 +10,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Device
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Device management for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Error.chs b/src/Foreign/CUDA/Driver/Error.chs
--- a/src/Foreign/CUDA/Driver/Error.chs
+++ b/src/Foreign/CUDA/Driver/Error.chs
@@ -4,7 +4,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Error
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Error handling
diff --git a/src/Foreign/CUDA/Driver/Event.chs b/src/Foreign/CUDA/Driver/Event.chs
--- a/src/Foreign/CUDA/Driver/Event.chs
+++ b/src/Foreign/CUDA/Driver/Event.chs
@@ -9,7 +9,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Event
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Event management for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Exec.chs b/src/Foreign/CUDA/Driver/Exec.chs
--- a/src/Foreign/CUDA/Driver/Exec.chs
+++ b/src/Foreign/CUDA/Driver/Exec.chs
@@ -7,7 +7,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Exec
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Kernel execution control for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Graph/Base.chs b/src/Foreign/CUDA/Driver/Graph/Base.chs
--- a/src/Foreign/CUDA/Driver/Graph/Base.chs
+++ b/src/Foreign/CUDA/Driver/Graph/Base.chs
@@ -10,7 +10,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Graph.Base
--- Copyright : [2018..2020] Trevor L. McDonell
+-- Copyright : [2018..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Graph execution functions for the low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Graph/Build.chs b/src/Foreign/CUDA/Driver/Graph/Build.chs
--- a/src/Foreign/CUDA/Driver/Graph/Build.chs
+++ b/src/Foreign/CUDA/Driver/Graph/Build.chs
@@ -6,7 +6,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Graph.Build
--- Copyright : [2018..2020] Trevor L. McDonell
+-- Copyright : [2018..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Graph construction functions for the low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Graph/Capture.chs b/src/Foreign/CUDA/Driver/Graph/Capture.chs
--- a/src/Foreign/CUDA/Driver/Graph/Capture.chs
+++ b/src/Foreign/CUDA/Driver/Graph/Capture.chs
@@ -9,7 +9,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Graph.Capture
--- Copyright : [2018..2020] Trevor L. McDonell
+-- Copyright : [2018..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Requires CUDA-10
diff --git a/src/Foreign/CUDA/Driver/Graph/Exec.chs b/src/Foreign/CUDA/Driver/Graph/Exec.chs
--- a/src/Foreign/CUDA/Driver/Graph/Exec.chs
+++ b/src/Foreign/CUDA/Driver/Graph/Exec.chs
@@ -5,7 +5,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Graph.Exec
--- Copyright : [2018..2020] Trevor L. McDonell
+-- Copyright : [2018..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Graph execution functions for the low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/IPC/Event.chs b/src/Foreign/CUDA/Driver/IPC/Event.chs
--- a/src/Foreign/CUDA/Driver/IPC/Event.chs
+++ b/src/Foreign/CUDA/Driver/IPC/Event.chs
@@ -5,7 +5,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.IPC.Event
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- IPC event management for low-level driver interface.
diff --git a/src/Foreign/CUDA/Driver/IPC/Marshal.chs b/src/Foreign/CUDA/Driver/IPC/Marshal.chs
--- a/src/Foreign/CUDA/Driver/IPC/Marshal.chs
+++ b/src/Foreign/CUDA/Driver/IPC/Marshal.chs
@@ -6,7 +6,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.IPC.Marshal
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- IPC memory management for low-level driver interface.
diff --git a/src/Foreign/CUDA/Driver/Marshal.chs b/src/Foreign/CUDA/Driver/Marshal.chs
--- a/src/Foreign/CUDA/Driver/Marshal.chs
+++ b/src/Foreign/CUDA/Driver/Marshal.chs
@@ -9,7 +9,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Marshal
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Memory management for low-level driver interface
@@ -1166,12 +1166,22 @@
 peekDeviceHandle :: Ptr DeviceHandle -> IO (DevicePtr a)
 peekDeviceHandle !p = do
   CULLong (W64# w#) <- peek p
-  return $! DevicePtr (Ptr (int2Addr# (word2Int# w#)))
+  return $! DevicePtr (Ptr (int2Addr# (word2Int# (word64ToWord# w#))))
 
 -- Use a device pointer as an opaque handle type
 --
 {-# INLINE useDeviceHandle #-}
 useDeviceHandle :: DevicePtr a -> DeviceHandle
 useDeviceHandle (DevicePtr (Ptr addr#)) =
-  CULLong (W64# (int2Word# (addr2Int# addr#)))
+  CULLong (W64# (wordToWord64# (int2Word# (addr2Int# addr#))))
+
+#if __GLASGOW_HASKELL__ < 904
+{-# INLINE word64ToWord# #-}
+word64ToWord# :: Word# -> Word#
+word64ToWord# x = x
+
+{-# INLINE wordToWord64# #-}
+wordToWord64# :: Word# -> Word#
+wordToWord64# x = x
+#endif
 
diff --git a/src/Foreign/CUDA/Driver/Module.hs b/src/Foreign/CUDA/Driver/Module.hs
--- a/src/Foreign/CUDA/Driver/Module.hs
+++ b/src/Foreign/CUDA/Driver/Module.hs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Module
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Module management for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Module/Base.chs b/src/Foreign/CUDA/Driver/Module/Base.chs
--- a/src/Foreign/CUDA/Driver/Module/Base.chs
+++ b/src/Foreign/CUDA/Driver/Module/Base.chs
@@ -7,7 +7,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Module.Base
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Module loading for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Module/Link.chs b/src/Foreign/CUDA/Driver/Module/Link.chs
--- a/src/Foreign/CUDA/Driver/Module/Link.chs
+++ b/src/Foreign/CUDA/Driver/Module/Link.chs
@@ -7,7 +7,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Module.Link
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Module linking for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Module/Query.chs b/src/Foreign/CUDA/Driver/Module/Query.chs
--- a/src/Foreign/CUDA/Driver/Module/Query.chs
+++ b/src/Foreign/CUDA/Driver/Module/Query.chs
@@ -1,11 +1,12 @@
 {-# LANGUAGE BangPatterns             #-}
+{-# LANGUAGE CPP                      #-}
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# LANGUAGE MagicHash                #-}
 {-# LANGUAGE UnboxedTuples            #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Module.Query
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Querying module attributes for low-level driver interface
@@ -135,14 +136,14 @@
 {-# INLINE useAsCString #-}
 useAsCString :: ShortByteString -> (CString -> IO a) -> IO a
 useAsCString (BI.SBS ba#) action = IO $ \s0 ->
-  case sizeofByteArray# ba#                    of { n# ->
-  case newPinnedByteArray# (n# +# 1#) s0       of { (# s1, mba# #) ->
-  case byteArrayContents# (unsafeCoerce# mba#) of { addr# ->
-  case copyByteArrayToAddr# ba# 0# addr# n# s1 of { s2 ->
-  case writeWord8OffAddr# addr# n# 0## s2      of { s3 ->
-  case action (Ptr addr#)                      of { IO action' ->
-  case action' s3                              of { (# s4, r  #) ->
-  case touch# mba# s4                          of { s5 ->
+  case sizeofByteArray# ba#                              of { n# ->
+  case newPinnedByteArray# (n# +# 1#) s0                 of { (# s1, mba# #) ->
+  case byteArrayContents# (unsafeCoerce# mba#)           of { addr# ->
+  case copyByteArrayToAddr# ba# 0# addr# n# s1           of { s2 ->
+  case writeWord8OffAddr# addr# n# (wordToWord8# 0##) s2 of { s3 ->
+  case action (Ptr addr#)                                of { IO action' ->
+  case action' s3                                        of { (# s4, r  #) ->
+  case touch# mba# s4                                    of { s5 ->
   (# s5, r #)
  }}}}}}}}
 
@@ -150,4 +151,10 @@
 {-# INLINE unpack #-}
 unpack :: ShortByteString -> [Char]
 unpack = P.map BI.w2c . BS.unpack
+
+#if __GLASGOW_HASKELL__ < 902
+{-# INLINE wordToWord8# #-}
+wordToWord8# :: Word# -> Word#
+wordToWord8# x = x
+#endif
 
diff --git a/src/Foreign/CUDA/Driver/Profiler.chs b/src/Foreign/CUDA/Driver/Profiler.chs
--- a/src/Foreign/CUDA/Driver/Profiler.chs
+++ b/src/Foreign/CUDA/Driver/Profiler.chs
@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Profiler
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Profiler control for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Stream.chs b/src/Foreign/CUDA/Driver/Stream.chs
--- a/src/Foreign/CUDA/Driver/Stream.chs
+++ b/src/Foreign/CUDA/Driver/Stream.chs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns             #-}
+{-# LANGUAGE CPP                      #-}
 {-# LANGUAGE EmptyDataDecls           #-}
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# LANGUAGE MagicHash                #-}
@@ -9,7 +10,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Stream
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Stream management for low-level driver interface
@@ -474,5 +475,11 @@
 {-# INLINE useDeviceHandle #-}
 useDeviceHandle :: DevicePtr a -> {# type CUdeviceptr #}
 useDeviceHandle (DevicePtr (Ptr addr#)) =
-  CULLong (W64# (int2Word# (addr2Int# addr#)))
+  CULLong (W64# (wordToWord64# (int2Word# (addr2Int# addr#))))
+
+#if __GLASGOW_HASKELL__ < 904
+{-# INLINE wordToWord64# #-}
+wordToWord64# :: Word# -> Word#
+wordToWord64# x = x
+#endif
 
diff --git a/src/Foreign/CUDA/Driver/Texture.chs b/src/Foreign/CUDA/Driver/Texture.chs
--- a/src/Foreign/CUDA/Driver/Texture.chs
+++ b/src/Foreign/CUDA/Driver/Texture.chs
@@ -4,7 +4,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Texture
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Texture management for low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Unified.chs b/src/Foreign/CUDA/Driver/Unified.chs
--- a/src/Foreign/CUDA/Driver/Unified.chs
+++ b/src/Foreign/CUDA/Driver/Unified.chs
@@ -8,7 +8,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Unified
--- Copyright : [2017..2020] Trevor L. McDonell
+-- Copyright : [2017..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Unified addressing functions for the low-level driver interface
diff --git a/src/Foreign/CUDA/Driver/Utils.chs b/src/Foreign/CUDA/Driver/Utils.chs
--- a/src/Foreign/CUDA/Driver/Utils.chs
+++ b/src/Foreign/CUDA/Driver/Utils.chs
@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Utils
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Utility functions
diff --git a/src/Foreign/CUDA/Internal/C2HS.hs b/src/Foreign/CUDA/Internal/C2HS.hs
--- a/src/Foreign/CUDA/Internal/C2HS.hs
+++ b/src/Foreign/CUDA/Internal/C2HS.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP       #-}
 {-# LANGUAGE MagicHash #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 --  C->Haskell Compiler: Marshalling library
@@ -200,12 +201,12 @@
 -- fromIntegral entirely (in particular, without relying on orphan instances).
 --
 {-# RULES
-  "fromIntegral/Int->CInt"     fromIntegral = \(I# i#) -> CInt (I32# (narrow32Int# i#)) ;
-  "fromIntegral/Int->CLLong"   fromIntegral = \(I# i#) -> CLLong (I64# i#) ;
+  "fromIntegral/Int->CInt"     fromIntegral = \(I# i#) -> CInt (I32# (intToInt32# i#)) ;
+  "fromIntegral/Int->CLLong"   fromIntegral = \(I# i#) -> CLLong (I64# (intToInt64# i#)) ;
  #-}
 {-# RULES
-  "fromIntegral/Int->CUInt"    fromIntegral = \(I# i#) -> CUInt (W32# (narrow32Word# (int2Word# i#))) ;
-  "fromIntegral/Int->CULLong"  fromIntegral = \(I# i#) -> CULLong (W64# (int2Word# i#)) ;
+  "fromIntegral/Int->CUInt"    fromIntegral = \(I# i#) -> CUInt (W32# (wordToWord32# (int2Word# i#))) ;
+  "fromIntegral/Int->CULLong"  fromIntegral = \(I# i#) -> CULLong (W64# (wordToWord64# (int2Word# i#))) ;
  #-}
 
   -- The C 'long' type might be 32- or 64-bits wide
@@ -254,4 +255,23 @@
 {-# INLINE [1] cFromEnum #-}
 cFromEnum :: (Enum e, Integral i) => e -> i
 cFromEnum  = cIntConv . fromEnum
+
+#if __GLASGOW_HASKELL__ < 902
+{-# INLINE intToInt32# #-}
+intToInt32# :: Int# -> Int#
+intToInt32# = narrow32Int#
+
+{-# INLINE wordToWord32# #-}
+wordToWord32# :: Word# -> Word#
+wordToWord32# = narrow32Word#
+#endif
+#if __GLASGOW_HASKELL__ < 904
+{-# INLINE intToInt64# #-}
+intToInt64# :: Int# -> Int#
+intToInt64# x = x
+
+{-# INLINE wordToWord64# #-}
+wordToWord64# :: Word# -> Word#
+wordToWord64# x = x
+#endif
 
diff --git a/src/Foreign/CUDA/Path.chs b/src/Foreign/CUDA/Path.chs
--- a/src/Foreign/CUDA/Path.chs
+++ b/src/Foreign/CUDA/Path.chs
@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Path
--- Copyright : [2017..2020] Trevor L. McDonell
+-- Copyright : [2017..2023] Trevor L. McDonell
 -- License   : BSD
 --
 --------------------------------------------------------------------------------
diff --git a/src/Foreign/CUDA/Ptr.hs b/src/Foreign/CUDA/Ptr.hs
--- a/src/Foreign/CUDA/Ptr.hs
+++ b/src/Foreign/CUDA/Ptr.hs
@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Ptr
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Data pointers on the host and device. These can be shared freely between the
diff --git a/src/Foreign/CUDA/Runtime.hs b/src/Foreign/CUDA/Runtime.hs
--- a/src/Foreign/CUDA/Runtime.hs
+++ b/src/Foreign/CUDA/Runtime.hs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Top level bindings to the C-for-CUDA runtime API
diff --git a/src/Foreign/CUDA/Runtime/Device.chs b/src/Foreign/CUDA/Runtime/Device.chs
--- a/src/Foreign/CUDA/Runtime/Device.chs
+++ b/src/Foreign/CUDA/Runtime/Device.chs
@@ -11,7 +11,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime.Device
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Device management routines
diff --git a/src/Foreign/CUDA/Runtime/Error.chs b/src/Foreign/CUDA/Runtime/Error.chs
--- a/src/Foreign/CUDA/Runtime/Error.chs
+++ b/src/Foreign/CUDA/Runtime/Error.chs
@@ -4,7 +4,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime.Error
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Error handling functions
diff --git a/src/Foreign/CUDA/Runtime/Event.chs b/src/Foreign/CUDA/Runtime/Event.chs
--- a/src/Foreign/CUDA/Runtime/Event.chs
+++ b/src/Foreign/CUDA/Runtime/Event.chs
@@ -6,7 +6,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Driver.Event
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Event management for C-for-CUDA runtime environment
diff --git a/src/Foreign/CUDA/Runtime/Exec.chs b/src/Foreign/CUDA/Runtime/Exec.chs
--- a/src/Foreign/CUDA/Runtime/Exec.chs
+++ b/src/Foreign/CUDA/Runtime/Exec.chs
@@ -6,7 +6,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime.Exec
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Kernel execution control for C-for-CUDA runtime interface
diff --git a/src/Foreign/CUDA/Runtime/Marshal.chs b/src/Foreign/CUDA/Runtime/Marshal.chs
--- a/src/Foreign/CUDA/Runtime/Marshal.chs
+++ b/src/Foreign/CUDA/Runtime/Marshal.chs
@@ -5,7 +5,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime.Marshal
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Memory management for CUDA devices
diff --git a/src/Foreign/CUDA/Runtime/Stream.chs b/src/Foreign/CUDA/Runtime/Stream.chs
--- a/src/Foreign/CUDA/Runtime/Stream.chs
+++ b/src/Foreign/CUDA/Runtime/Stream.chs
@@ -3,7 +3,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime.Stream
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Stream management routines
diff --git a/src/Foreign/CUDA/Runtime/Texture.chs b/src/Foreign/CUDA/Runtime/Texture.chs
--- a/src/Foreign/CUDA/Runtime/Texture.chs
+++ b/src/Foreign/CUDA/Runtime/Texture.chs
@@ -3,7 +3,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime.Texture
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Texture references
diff --git a/src/Foreign/CUDA/Runtime/Utils.chs b/src/Foreign/CUDA/Runtime/Utils.chs
--- a/src/Foreign/CUDA/Runtime/Utils.chs
+++ b/src/Foreign/CUDA/Runtime/Utils.chs
@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Foreign.CUDA.Runtime.Utils
--- Copyright : [2009..2020] Trevor L. McDonell
+-- Copyright : [2009..2023] Trevor L. McDonell
 -- License   : BSD
 --
 -- Utility functions
diff --git a/src/Text/Show/Describe.hs b/src/Text/Show/Describe.hs
--- a/src/Text/Show/Describe.hs
+++ b/src/Text/Show/Describe.hs
@@ -1,7 +1,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module    : Text.Show.Describe
--- Copyright : [2016..2020] Trevor L. McDonell
+-- Copyright : [2016..2023] Trevor L. McDonell
 -- License   : BSD
 --
 --------------------------------------------------------------------------------
