|
Revision tags: dev, v36.0.9, v44.0.1, v43.0.2, v36.0.8, v24.0.8, v44.0.0, v43.0.1, v42.0.2, v36.0.7, v24.0.7 |
|
| #
a46300a7 |
| 01-Apr-2026 |
Nick Fitzgerald <[email protected]> |
Add `eqref` support to the C and C++ APIs (#12914)
* Add `eqref` support to the C and C++ APIs
* fix doc build
|
| #
0dbb6f3d |
| 31-Mar-2026 |
Chris Fallin <[email protected]> |
Exceptions: implement C API. (#12861)
* Exceptions: implement C API.
This PR implements C (and C++) API support for Wasm exceptions, one final remaining hurdle (aside from fuzz-testing) for making
Exceptions: implement C API. (#12861)
* Exceptions: implement C API.
This PR implements C (and C++) API support for Wasm exceptions, one final remaining hurdle (aside from fuzz-testing) for making exceptions tier-1 and on-by-default.
* Review feedback, and add exnref case to `wasmtime_val_t`.
* Review feedback: GC feature guard.
* clang-format
* add docs to exn.hh.
* Remove tag size asserts: broken on 32-bit platforms, but not needed for correctness wrt C struct.
show more ...
|
|
Revision tags: v43.0.0, v42.0.1, v41.0.4, v42.0.0, v40.0.4, v36.0.6, v24.0.6, v41.0.3, v41.0.2, v41.0.1, v36.0.5, v40.0.3, v41.0.0, v36.0.4, v39.0.2, v40.0.2, v40.0.1, v40.0.0, v39.0.1, v39.0.0, v38.0.4, v37.0.3, v36.0.3, v24.0.5, v38.0.3, v38.0.2, v38.0.1, v37.0.2, v37.0.1, v37.0.0 |
|
| #
eaa01d7b |
| 02-Sep-2025 |
Till Schneidereit <[email protected]> |
[docs] Add C++ chapter and missing examples (#11569)
* [docs] Add C++ chapter and missing examples
This adds a chapter for C++ embedding. The chapter intro is rudimentary, but there are a bunch mor
[docs] Add C++ chapter and missing examples (#11569)
* [docs] Add C++ chapter and missing examples
This adds a chapter for C++ embedding. The chapter intro is rudimentary, but there are a bunch more examples now: I added C++ ports for everything that already had both a Rust and a C version available, matching the Rust version's behavior where applicable.
* [example] Fix paths in `examples/wasip1/main.c`
* [docs] Add entries for additional Rust and C embedding examples
These examples already existed, but didn't have entries in the docs.
It'll probably make sense to restructure all of this at some point and move the examples into language-specific folders.
* [docs] Remove references to Conan packages from README.md
These packages haven't been updated since Wasmtime 18, so we shouldn't link to them for now.
* Format cpp files
* Format even more cpp files
* Fix some warnings in C++ headers
* Simplify threads.cc example
* Update docs/examples-c-serialize.md
Co-authored-by: Nick Fitzgerald <[email protected]>
* [example] Don't try, do.
* [docs] Restore CMake link in README
* [docs] Improve examples/README.md
* [docs] Address review feedback
---------
Co-authored-by: Alex Crichton <[email protected]> Co-authored-by: Nick Fitzgerald <[email protected]>
show more ...
|
|
Revision tags: v36.0.2, v36.0.1, v36.0.0, v35.0.0, v24.0.4, v33.0.2, v34.0.2, v34.0.1, v33.0.1, v24.0.3, v32.0.1, v34.0.0, v33.0.0 |
|
| #
3a5dda5f |
| 28-Apr-2025 |
Alex Crichton <[email protected]> |
Split final C++ items out of `wasmtime.hh` (#10692)
* Split final C++ items out of `wasmtime.hh`
Now `wasmtime.hh` is just an "amalgamation" header to include everything, yay!
* Format files
* Tr
Split final C++ items out of `wasmtime.hh` (#10692)
* Split final C++ items out of `wasmtime.hh`
Now `wasmtime.hh` is just an "amalgamation" header to include everything, yay!
* Format files
* Try to fix MSVC
show more ...
|
| #
a045eaa9 |
| 28-Apr-2025 |
Alex Crichton <[email protected]> |
Run `clang-format` over more files (#10689)
We were already running it over most `*.c` files and other ones but forgot the `*.hh` and `*.cc` extensions which are being used for C++ bindings, so add
Run `clang-format` over more files (#10689)
We were already running it over most `*.c` files and other ones but forgot the `*.hh` and `*.cc` extensions which are being used for C++ bindings, so add those in and then run the formatter.
show more ...
|
| #
453bb9a4 |
| 28-Apr-2025 |
Alex Crichton <[email protected]> |
Split C++ Func/Table/Memory/Global to their own headers (#10688)
I did my best to separate out headers but I don't understand enough C++ to fully sever `val.hh` and `func.hh` so they sort of circula
Split C++ Func/Table/Memory/Global to their own headers (#10688)
I did my best to separate out headers but I don't understand enough C++ to fully sever `val.hh` and `func.hh` so they sort of circularly reference each other now.
show more ...
|
| #
ebc25c84 |
| 23-Apr-2025 |
Alex Crichton <[email protected]> |
Split out some more C++ types to their own headers (#10658)
* Move C++ WASI configuration to its own header
* Move C++ `Store` to its own file
I tried binding `wasmtime_store_epoch_deadline_callba
Split out some more C++ types to their own headers (#10658)
* Move C++ WASI configuration to its own header
* Move C++ `Store` to its own file
I tried binding `wasmtime_store_epoch_deadline_callback` in C++ but I don't know enough C++ to figure out the syntax for doing so.
* Move C++ Val to its own header
Also bind `AnyRef` while I'm here with some small tests.
show more ...
|
| #
d06f6517 |
| 22-Apr-2025 |
Alex Crichton <[email protected]> |
Move the C++ `Trap` and related types to its own header (#10647)
|
| #
1819edba |
| 22-Apr-2025 |
Alex Crichton <[email protected]> |
Move C++ Module/Engine types to their own headers (#10642)
* Move C++ Module/Engine types to their own headers
Add some #ifdef guards for Wasmtime features as well as some small tests.
* Remove tr
Move C++ Module/Engine types to their own headers (#10642)
* Move C++ Module/Engine types to their own headers
Add some #ifdef guards for Wasmtime features as well as some small tests.
* Remove trailing newline
show more ...
|
| #
d460709e |
| 22-Apr-2025 |
Alex Crichton <[email protected]> |
Move C++ `Config` to its own header (#10634)
Also bind APIs which were added since this was created. Also copy over some `#define` guards for the C methods into the C++ header as well. And finally u
Move C++ `Config` to its own header (#10634)
Also bind APIs which were added since this was created. Also copy over some `#define` guards for the C methods into the C++ header as well. And finally update tests for what's added.
show more ...
|
| #
62f60665 |
| 21-Apr-2025 |
Alex Crichton <[email protected]> |
Move various C++ type-related items to their own header (#10627)
* Move C++ `ValType` to its own header
And fill out some small tests
* Move C++ `GlobalType` to its own header
* Move C++ `TableTy
Move various C++ type-related items to their own header (#10627)
* Move C++ `ValType` to its own header
And fill out some small tests
* Move C++ `GlobalType` to its own header
* Move C++ `TableType` to its own file
With some small tests
* Move C++ `FuncType` to its own file
* Move C++ ImportType to its own file
* Move C++ `ExportType` to its own file
* Move C++ `ExternType` to its own file
show more ...
|
| #
34e2e54d |
| 21-Apr-2025 |
Alex Crichton <[email protected]> |
Move C++ `MemoryType` to its own header (#10623)
While here fill out its API a bit with a builder type and some tests.
|
| #
0467d6f9 |
| 21-Apr-2025 |
Alex Crichton <[email protected]> |
Sketch out merging the C/C++ APIs (#10600)
* Sketch out merging the C/C++ APIs
With the merging of the C++ API into this repository in #10582 it opens up some interesting questions about how to org
Sketch out merging the C/C++ APIs (#10600)
* Sketch out merging the C/C++ APIs
With the merging of the C++ API into this repository in #10582 it opens up some interesting questions about how to organize the C++ API. Externally it was all entirely a single file, but naturally this isn't great for evolution as it's just one giant tangled header. Instead this commit sketches out a possible different path forward which is to provide the C++ API as a sibling to the C API in preexisting header files. For example this moves the `Error` class to the `error.h` header file as an example.
My rough hope would be that in the long-term we could deprecate/remove the `wasmtime.hh` header file and instead "just" have all the C++ APIs in the normal header files (e.g. `wasmtime.h`). Additionally the split of the C API in separate header files would be amenable to a similar split of the C++ API too where the API you see is basically conditional on the language mode of whatever's including the headers.
I'll note though I've not seen prior art in doing this. I'm not aware of any other project which exports both a C and C++ API in its header files. That being said I'm not sure how many other projects would fall in such a bucket.
* Split out `error.hh` to its own file
show more ...
|
|
Revision tags: v32.0.0 |
|
| #
13ebd6f5 |
| 16-Apr-2025 |
MangoPeachGrape <[email protected]> |
c-api: Bring wasmtime-cpp into this repository (#10582)
* c-api: Bring wasmtime-cpp into this repository.
`wasmtime-cpp/include/wasmtime.hh` -> `/crates/c-api/include/` `wasmtime-cpp/tests/*` -> `/
c-api: Bring wasmtime-cpp into this repository (#10582)
* c-api: Bring wasmtime-cpp into this repository.
`wasmtime-cpp/include/wasmtime.hh` -> `/crates/c-api/include/` `wasmtime-cpp/tests/*` -> `/crates/c-api/tests/` `wasmtime-cpp/examples/*` -> `/examples/`
See discussion in #10566 for more context.
* Make tests disabled by default prtest:full
* Mention C++ API in the c-api README
* Enable C++ only for tests
* Add *.hh files to doxygen
This requires disabling warnings on undocumented, as `wasm.hh` has undocumeted structures
Also fix urls in `wasmtime.hh`
* Re-enable `WARN_IF_UNDOCUMENTED`
This required excluding `wasm.hh`, `wasmtime::detail` namespace, and some macros.
Also documented two overloads to `Func::call()`
show more ...
|