30 lines
959 B
Markdown
30 lines
959 B
Markdown
# exp-6 C FFI Scalar Imports Alpha Fixture
|
|
|
|
This fixture is experimental compiler-supported coverage for
|
|
`.llm/EXP_6_C_FFI_SCALAR_IMPORTS_ALPHA.md`.
|
|
|
|
It is current compiler support after matching Slovo and Glagol exp-6 gates.
|
|
|
|
The fixture covers one imported C function:
|
|
|
|
```slo
|
|
(import_c c_add ((lhs i32) (rhs i32)) -> i32)
|
|
```
|
|
|
|
The Slovo wrapper calls it only inside lexical `unsafe`:
|
|
|
|
```slo
|
|
(unsafe
|
|
(c_add 40 2))
|
|
```
|
|
|
|
`slovo.toml` makes the fixture usable through project-mode native build gates.
|
|
The top-level test intentionally exercises the exp-6 test-runner boundary: the
|
|
interpreter-style test runner must report that C imports are unsupported for
|
|
direct test execution, while hosted native build uses the local `c_add.c`
|
|
companion as an explicit link input.
|
|
|
|
No pointer types, allocation, deallocation, raw-memory operations, ownership or
|
|
lifetime model, generated header, library output, C exports, or stable ABI
|
|
promise is part of this fixture.
|