-- addDependentFile examples/golden/binding-specs/fun_arg/macro/array.h -- #include -- void hs_bindgen_2a6ef3a515232132 ( -- MyArray *arg1 -- ) -- { -- foo(*arg1); -- } -- void hs_bindgen_4449a68917cbc499 ( -- A *arg1 -- ) -- { -- fooA(*arg1); -- } -- void hs_bindgen_05766199d1b077bb ( -- B *arg1 -- ) -- { -- fooB(*arg1); -- } -- void hs_bindgen_969f916bf9590709 ( -- MyArray *arg1 -- ) -- { -- foo(*arg1); -- } -- void hs_bindgen_fb89f30695d9a112 ( -- A *arg1 -- ) -- { -- fooA(*arg1); -- } -- void hs_bindgen_6882cd6e82766148 ( -- B *arg1 -- ) -- { -- fooB(*arg1); -- } -- /* test_bindingspecsfun_argmacroar_Example_get_foo */ -- __attribute__ ((const)) -- void (*hs_bindgen_fc9d87cbca4127e4 (void)) ( -- MyArray arg1 -- ) -- { -- return &foo; -- } -- /* test_bindingspecsfun_argmacroar_Example_get_fooA */ -- __attribute__ ((const)) -- void (*hs_bindgen_0dbc306c53c94679 (void)) ( -- A arg1 -- ) -- { -- return &fooA; -- } -- /* test_bindingspecsfun_argmacroar_Example_get_fooB */ -- __attribute__ ((const)) -- void (*hs_bindgen_db0d885ae35d447f (void)) ( -- B arg1 -- ) -- { -- return &fooB; -- } {-| __C declaration:__ @MyArray@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 4:13@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} newtype MyArray = MyArray {unwrapMyArray :: (IncompleteArray CInt)} {- ^ __C declaration:__ @MyArray@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 4:13@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} deriving stock (Eq, Show) instance TyEq ty (CFieldType MyArray "unwrapMyArray") => HasField "unwrapMyArray" (Ptr MyArray) (Ptr ty) where getField = fromPtr (Proxy @"unwrapMyArray") instance HasCField MyArray "unwrapMyArray" where type CFieldType MyArray "unwrapMyArray" = IncompleteArray CInt offset# = \_ -> \_ -> 0 {-| __C declaration:__ @A@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 7:9@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} newtype A = A {unwrapA :: MyArray} {- ^ __C declaration:__ @A@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 7:9@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} deriving stock (Eq, Show) instance TyEq ty (CFieldType A "unwrapA") => HasField "unwrapA" (Ptr A) (Ptr ty) where getField = fromPtr (Proxy @"unwrapA") instance HasCField A "unwrapA" where type CFieldType A "unwrapA" = MyArray offset# = \_ -> \_ -> 0 {-| __C declaration:__ @B@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 8:9@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} newtype B = B {unwrapB :: A} {- ^ __C declaration:__ @B@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 8:9@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} deriving stock (Eq, Show) instance TyEq ty (CFieldType B "unwrapB") => HasField "unwrapB" (Ptr B) (Ptr ty) where getField = fromPtr (Proxy @"unwrapB") instance HasCField B "unwrapB" where type CFieldType B "unwrapB" = A offset# = \_ -> \_ -> 0 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_foo@ foreign import ccall safe "hs_bindgen_2a6ef3a515232132" hs_bindgen_2a6ef3a515232132_base :: Ptr Void -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_foo@ hs_bindgen_2a6ef3a515232132 :: Ptr MyArray -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_foo@ hs_bindgen_2a6ef3a515232132 = fromFFIType hs_bindgen_2a6ef3a515232132_base {-| __C declaration:__ @foo@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 5:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} foo :: Ptr MyArray -> IO Unit {-| __C declaration:__ @foo@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 5:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} foo = hs_bindgen_2a6ef3a515232132 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooA@ foreign import ccall safe "hs_bindgen_4449a68917cbc499" hs_bindgen_4449a68917cbc499_base :: Ptr Void -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooA@ hs_bindgen_4449a68917cbc499 :: Ptr A -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooA@ hs_bindgen_4449a68917cbc499 = fromFFIType hs_bindgen_4449a68917cbc499_base {-| __C declaration:__ @fooA@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 10:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooA :: Ptr A -> IO Unit {-| __C declaration:__ @fooA@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 10:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooA = hs_bindgen_4449a68917cbc499 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooB@ foreign import ccall safe "hs_bindgen_05766199d1b077bb" hs_bindgen_05766199d1b077bb_base :: Ptr Void -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooB@ hs_bindgen_05766199d1b077bb :: Ptr B -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Safe_fooB@ hs_bindgen_05766199d1b077bb = fromFFIType hs_bindgen_05766199d1b077bb_base {-| __C declaration:__ @fooB@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 11:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooB :: Ptr B -> IO Unit {-| __C declaration:__ @fooB@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 11:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooB = hs_bindgen_05766199d1b077bb -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_foo@ foreign import ccall unsafe "hs_bindgen_969f916bf9590709" hs_bindgen_969f916bf9590709_base :: Ptr Void -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_foo@ hs_bindgen_969f916bf9590709 :: Ptr MyArray -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_foo@ hs_bindgen_969f916bf9590709 = fromFFIType hs_bindgen_969f916bf9590709_base {-| __C declaration:__ @foo@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 5:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} foo :: Ptr MyArray -> IO Unit {-| __C declaration:__ @foo@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 5:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} foo = hs_bindgen_969f916bf9590709 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooA@ foreign import ccall unsafe "hs_bindgen_fb89f30695d9a112" hs_bindgen_fb89f30695d9a112_base :: Ptr Void -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooA@ hs_bindgen_fb89f30695d9a112 :: Ptr A -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooA@ hs_bindgen_fb89f30695d9a112 = fromFFIType hs_bindgen_fb89f30695d9a112_base {-| __C declaration:__ @fooA@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 10:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooA :: Ptr A -> IO Unit {-| __C declaration:__ @fooA@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 10:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooA = hs_bindgen_fb89f30695d9a112 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooB@ foreign import ccall unsafe "hs_bindgen_6882cd6e82766148" hs_bindgen_6882cd6e82766148_base :: Ptr Void -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooB@ hs_bindgen_6882cd6e82766148 :: Ptr B -> IO Unit -- __unique:__ @test_bindingspecsfun_argmacroar_Example_Unsafe_fooB@ hs_bindgen_6882cd6e82766148 = fromFFIType hs_bindgen_6882cd6e82766148_base {-| __C declaration:__ @fooB@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 11:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooB :: Ptr B -> IO Unit {-| __C declaration:__ @fooB@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 11:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooB = hs_bindgen_6882cd6e82766148 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_foo@ foreign import ccall unsafe "hs_bindgen_fc9d87cbca4127e4" hs_bindgen_fc9d87cbca4127e4_base :: IO (FunPtr Void) -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_foo@ hs_bindgen_fc9d87cbca4127e4 :: IO (FunPtr (MyArray -> IO Unit)) -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_foo@ hs_bindgen_fc9d87cbca4127e4 = fromFFIType hs_bindgen_fc9d87cbca4127e4_base {-# NOINLINE foo #-} {-| __C declaration:__ @foo@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 5:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} foo :: FunPtr (MyArray -> IO Unit) {-| __C declaration:__ @foo@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 5:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} foo = unsafePerformIO hs_bindgen_fc9d87cbca4127e4 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooA@ foreign import ccall unsafe "hs_bindgen_0dbc306c53c94679" hs_bindgen_0dbc306c53c94679_base :: IO (FunPtr Void) -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooA@ hs_bindgen_0dbc306c53c94679 :: IO (FunPtr (A -> IO Unit)) -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooA@ hs_bindgen_0dbc306c53c94679 = fromFFIType hs_bindgen_0dbc306c53c94679_base {-# NOINLINE fooA #-} {-| __C declaration:__ @fooA@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 10:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooA :: FunPtr (A -> IO Unit) {-| __C declaration:__ @fooA@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 10:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooA = unsafePerformIO hs_bindgen_0dbc306c53c94679 -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooB@ foreign import ccall unsafe "hs_bindgen_db0d885ae35d447f" hs_bindgen_db0d885ae35d447f_base :: IO (FunPtr Void) -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooB@ hs_bindgen_db0d885ae35d447f :: IO (FunPtr (B -> IO Unit)) -- __unique:__ @test_bindingspecsfun_argmacroar_Example_get_fooB@ hs_bindgen_db0d885ae35d447f = fromFFIType hs_bindgen_db0d885ae35d447f_base {-# NOINLINE fooB #-} {-| __C declaration:__ @fooB@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 11:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooB :: FunPtr (B -> IO Unit) {-| __C declaration:__ @fooB@ __defined at:__ @binding-specs\/fun_arg\/macro\/array.h 11:6@ __exported by:__ @binding-specs\/fun_arg\/macro\/array.h@ -} fooB = unsafePerformIO hs_bindgen_db0d885ae35d447f