An open API service indexing awesome lists of open source software.

https://github.com/cub3d/wasm89

C89 WASM, escape vendor toolchains
https://github.com/cub3d/wasm89

Last synced: 5 months ago
JSON representation

C89 WASM, escape vendor toolchains

Awesome Lists containing this project

README

          

## Wasm89 - Wasm for bad compilers

This is a port of [wac-esp](https://github.com/grassel/wac-esp) with the following changes to support bad/outdated c89/c90 compilers, for when you have to deal with outdated vendor toolchains.

### Changes:
- Removed dependency on `stdint.h`
- Doesn't need `snprintf`
- Comments style changed from `//` to `/*`
- Removed ESP specific code
- Replaced `clz`/`popcnt`/etc builtins with slow c versions
- Replaced c89 missing float ops
- Moved inline variable definitions to start of function
- Added `extern "C"` guards for use from c++
- Added support for "Sign Extention Extension"
- Add test environment
- Passes a large amount of WG-1.0

### Compiler requirements:
This currently requires the following non-standard features, pull requests to change this are welcome:
- A 64 bit integer type `long long` / `_int64`
- Parser support for variadic macros (or remove all the logs)

### Compiler support:
- clang
- gcc
- MSVC 2008 or newer (Tested with 15.0.21022.08)

### Architecture support:
- ARMv4T
- ARM64
- x86
- x86_64