diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-17 15:58:49 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-17 15:58:49 +0000 |
| commit | 44e3b4e38808072ac9e605ab5a216ae54db8c5e4 (patch) | |
| tree | 405cf75a3c71125ce7580a8cd8e12352f203a07f /tests/i/extern-cc-object/program.cps | |
| parent | 567d1c932284bdd53c60937ff6f4ce4a63d104bf (diff) | |
test(extern): call extern "C" functions from a user C++ object
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/i/extern-cc-object/program.cps')
| -rw-r--r-- | tests/i/extern-cc-object/program.cps | 13 |
1 files changed, 13 insertions, 0 deletions
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") |
