From e821072cb901b2f12952a602a8cfe05c9f2ce995 Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Wed, 6 Jul 2022 18:29:54 +0200 Subject: [PATCH] unittests/ThunkLibs: Fix FunctionPointerParameter test --- unittests/ThunkLibs/generator.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/unittests/ThunkLibs/generator.cpp b/unittests/ThunkLibs/generator.cpp index f57ec1be9..f0b1c6f79 100644 --- a/unittests/ThunkLibs/generator.cpp +++ b/unittests/ThunkLibs/generator.cpp @@ -280,10 +280,15 @@ SourceWithAST Fixture::run_thunkgen_guest(std::string_view prelude, std::string_ run_tool(std::make_unique(libname, output_filenames), full_code, silent); std::string result = + "#include \n" "#define MAKE_THUNK(lib, name, hash) extern \"C\" int fexthunks_##lib##_##name(void*);\n" - "#define FEX_PACKFN_LINKAGE\n"; + "#define MAKE_CALLBACK(lib, name, ...) static uint8_t fexcallback_##lib##_##name[32] = {};\n" + "#define FEX_PACKFN_LINKAGE\n" + "template\n" + "Target *HostTrampolineForGuestcall(uint8_t HostPacker[32], Packer*, Target*);\n"; for (auto& filename : { output_filenames.thunks, + output_filenames.callback_unpacks, output_filenames.function_packs_public, output_filenames.function_packs, }) { @@ -406,13 +411,14 @@ TEST_CASE_METHOD(Fixture, "VersionedLibrary") { // Parameter is a function pointer TEST_CASE_METHOD(Fixture, "FunctionPointerParameter") { - const auto output = run_thunkgen_guest("void func(int (*funcptr)(char, char));\n", + const auto output = run_thunkgen_guest("", + "void func(int (*funcptr)(char, char));\n" "template struct fex_gen_config {};\n" "template<> struct fex_gen_config {};\n"); CHECK_THAT(output, matches(functionDecl( - hasName("fexfn_pack_func_internal"), + hasName("fexfn_pack_func"), returns(asString("void")), parameterCountIs(1), hasParameter(0, hasType(asString("int (*)(char, char)")))