From 8009e6548be50413b798ee904e15962a782a07c4 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus <oleg.grenrus@iki.fi> Date: Fri, 30 Oct 2020 15:25:48 +0200 Subject: [PATCH] Add forward declarations to ForeignLib tests --- cabal-testsuite/PackageTests/ForeignLibs/UseLib.c | 6 ++++++ .../PackageTests/ForeignLibs/csrc/MyForeignLibWrapper.c | 5 +++-- .../PackageTests/ForeignLibs/my-foreign-lib.cabal | 2 ++ cabal-testsuite/PackageTests/ForeignLibs/setup.test.hs | 3 ++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/cabal-testsuite/PackageTests/ForeignLibs/UseLib.c b/cabal-testsuite/PackageTests/ForeignLibs/UseLib.c index 65770da638..2ed882fe9a 100644 --- a/cabal-testsuite/PackageTests/ForeignLibs/UseLib.c +++ b/cabal-testsuite/PackageTests/ForeignLibs/UseLib.c @@ -1,4 +1,10 @@ #include <stdio.h> +#include <stdbool.h> + +/* Forward declarations */ +bool myForeignLibInit(); +void myForeignLibExit(); +void sayHi(); int main() { diff --git a/cabal-testsuite/PackageTests/ForeignLibs/csrc/MyForeignLibWrapper.c b/cabal-testsuite/PackageTests/ForeignLibs/csrc/MyForeignLibWrapper.c index 2660c6a335..3347c970e7 100644 --- a/cabal-testsuite/PackageTests/ForeignLibs/csrc/MyForeignLibWrapper.c +++ b/cabal-testsuite/PackageTests/ForeignLibs/csrc/MyForeignLibWrapper.c @@ -1,7 +1,8 @@ #include <stdlib.h> +#include <stdbool.h> #include "HsFFI.h" -HsBool myForeignLibInit(void){ +bool myForeignLibInit(void){ int argc = 2; char *argv[] = { "+RTS", "-A32m", NULL }; char **pargv = argv; @@ -11,7 +12,7 @@ HsBool myForeignLibInit(void){ // do any other initialization here and // return false if there was a problem - return HS_BOOL_TRUE; + return true; } void myForeignLibExit(void){ diff --git a/cabal-testsuite/PackageTests/ForeignLibs/my-foreign-lib.cabal b/cabal-testsuite/PackageTests/ForeignLibs/my-foreign-lib.cabal index dd5ce745cf..8b63dc24e9 100644 --- a/cabal-testsuite/PackageTests/ForeignLibs/my-foreign-lib.cabal +++ b/cabal-testsuite/PackageTests/ForeignLibs/my-foreign-lib.cabal @@ -20,6 +20,7 @@ foreign-library myforeignlib other-modules: MyForeignLib.Hello MyForeignLib.SomeBindings + MyForeignLib.AnotherVal build-depends: base, my-foreign-lib hs-source-dirs: src c-sources: csrc/MyForeignLibWrapper.c @@ -34,6 +35,7 @@ foreign-library versionedlib other-modules: MyForeignLib.Hello MyForeignLib.SomeBindings + MyForeignLib.AnotherVal build-depends: base, my-foreign-lib hs-source-dirs: src c-sources: csrc/MyForeignLibWrapper.c diff --git a/cabal-testsuite/PackageTests/ForeignLibs/setup.test.hs b/cabal-testsuite/PackageTests/ForeignLibs/setup.test.hs index 24032abf49..81d7105eb6 100644 --- a/cabal-testsuite/PackageTests/ForeignLibs/setup.test.hs +++ b/cabal-testsuite/PackageTests/ForeignLibs/setup.test.hs @@ -35,7 +35,8 @@ main = setupAndCabalTest . recordMode DoNotRecord $ do -- Link a C program against the library _ <- runProgramM gccProgram - [ "-o", "uselib" + [ "-std=c11", "-Wall" + , "-o", "uselib" , "UseLib.c" , "-l", "myforeignlib" , "-L", flibdir installDirs ] -- GitLab