summaryrefslogtreecommitdiff
path: root/testsuite/tests/codeGen/should_compile/cg011.hs
blob: 09e5497d611386d54a42e7adcd7d6e85579310c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
{-# LANGUAGE CPP, MagicHash, BlockArguments, UnboxedTuples #-}

-- Tests compilation for atomic exchange primop.

module M where

import GHC.Exts (atomicExchangeWordAddr#, Word#, Addr#, State# )

swap :: Addr# -> Word# -> State# s -> (# #)
swap ptr val s = case (atomicExchangeWordAddr# ptr val s) of
            (# s2, old_val #) -> (# #)