From 44e3b4e38808072ac9e605ab5a216ae54db8c5e4 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 17 Oct 2026 15:58:49 +0000 Subject: test(extern): call extern "C" functions from a user C++ object Co-Authored-By: Claude Sonnet 5.5 --- tests/i/extern-cc-object/program.cps | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 tests/i/extern-cc-object/program.cps (limited to 'tests/i/extern-cc-object/program.cps') diff --git a/tests/i/extern-cc-object/program.cps b/tests/i/extern-cc-object/program.cps new file mode 100644 index 0000000..6e09f77 --- /dev/null +++ b/tests/i/extern-cc-object/program.cps @@ -0,0 +1,13 @@ +// extern "C" symbols from a C++ object; the C++ names would otherwise be mangled. +INCLUDE_OBJ "lib.o" +INCLUDE_OBJ "__libc" +EXTERN "C" EXTERN_FUNCTION cc_sum() RETURNS C_INT +EXTERN "C" EXTERN_FUNCTION cc_add(C_INT) RETURNS C_INT +EXTERN "C" EXTERN_FUNCTION cc_text_length(C_STRING) RETURNS C_INT +EXTERN "C" EXTERN_PROCEDURE cc_say(C_STRING) +OUTPUT cc_sum() +OUTPUT cc_add((C_INT)5) +OUTPUT cc_add((C_INT)7) +OUTPUT cc_sum() +OUTPUT cc_text_length((C_STRING)"abc") +CALL cc_say((C_STRING)"hi from lib.cc") -- cgit v1.3.1-4-g156e