From e151425087b6c0ee8c4d099bfc2d6d1268201db0 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Wed, 23 Oct 2024 20:47:31 -0400 Subject: Add WARP integration https://github.com/Vector35/warp/ --- plugins/warp/fixtures/src/library.c | 33 +++++++++++++++++++++++++++++++++ plugins/warp/fixtures/src/library.h | 11 +++++++++++ plugins/warp/fixtures/src/simple.c | 15 +++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 plugins/warp/fixtures/src/library.c create mode 100644 plugins/warp/fixtures/src/library.h create mode 100644 plugins/warp/fixtures/src/simple.c (limited to 'plugins/warp/fixtures/src') diff --git a/plugins/warp/fixtures/src/library.c b/plugins/warp/fixtures/src/library.c new file mode 100644 index 00000000..66a84ad5 --- /dev/null +++ b/plugins/warp/fixtures/src/library.c @@ -0,0 +1,33 @@ +#include + +#include "library.h" + +int myFunction(int x) +{ + printf("%d\n", x); + return x; +} + +int recursiveFunc(int x); +int otherFunction(int x) +{ + x += 5; + if (x < 10) return otherFunction(x); + return recursiveFunc(x); +} + +int recursiveFunc(int x) +{ + if (x <= 0) return 0; + return x + otherFunction(x - 1); +} + +struct MyStruct myFunction2(int x) +{ + printf("MyStruct %d\n", x); + struct MyStruct myStruct; + myStruct.a = recursiveFunc(x); + myStruct.b = x * 10; + myStruct.c = "my struct"; + return myStruct; +} \ No newline at end of file diff --git a/plugins/warp/fixtures/src/library.h b/plugins/warp/fixtures/src/library.h new file mode 100644 index 00000000..ec7a6e63 --- /dev/null +++ b/plugins/warp/fixtures/src/library.h @@ -0,0 +1,11 @@ +#pragma once + +struct MyStruct { + int a; + int b; + const char* c; + struct MyStruct* d; +}; + +int myFunction(int x); +struct MyStruct myFunction2(int x); \ No newline at end of file diff --git a/plugins/warp/fixtures/src/simple.c b/plugins/warp/fixtures/src/simple.c new file mode 100644 index 00000000..6e7fbd43 --- /dev/null +++ b/plugins/warp/fixtures/src/simple.c @@ -0,0 +1,15 @@ +#include + +#include "library.h" + +int simple() { + printf("This is main!\n"); + + printf("calling myFunction\n"); + int returnVal = myFunction(55); + + printf("calling myFunction2\n"); + struct MyStruct myStruct = myFunction2(returnVal); + + return myStruct.b; +} \ No newline at end of file -- cgit v1.3.1