Adjust behaviour of gcd
[ghc-base.git] / System / CPUTime.hsc
index 5a7e696..90ff1e9 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, NondecreasingIndentation, ForeignFunctionInterface #-}
+
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.CPUTime
@@ -33,7 +35,9 @@ import CPUTime ( getCPUTime, cpuTimePrecision )
 #ifdef __GLASGOW_HASKELL__
 import Foreign hiding (unsafePerformIO)
 import Foreign.C
+#if !defined(CLK_TCK)
 import System.IO.Unsafe (unsafePerformIO)
+#endif
 
 #include "HsBaseConfig.h"
 
@@ -97,9 +101,9 @@ getCPUTime = do
     let ru_utime = (#ptr struct rusage, ru_utime) p_rusage
     let ru_stime = (#ptr struct rusage, ru_stime) p_rusage
     u_sec  <- (#peek struct timeval,tv_sec)  ru_utime :: IO CTime
-    u_usec <- (#peek struct timeval,tv_usec) ru_utime :: IO CTime
+    u_usec <- (#peek struct timeval,tv_usec) ru_utime :: IO CSUSeconds
     s_sec  <- (#peek struct timeval,tv_sec)  ru_stime :: IO CTime
-    s_usec <- (#peek struct timeval,tv_usec) ru_stime :: IO CTime
+    s_usec <- (#peek struct timeval,tv_usec) ru_stime :: IO CSUSeconds
     return ((realToInteger u_sec * 1000000 + realToInteger u_usec + 
              realToInteger s_sec * 1000000 + realToInteger s_usec) 
                 * 1000000)