- C replacement meant for embedded programming only. It is not even trying to be a general purpose language.
- Focus is safety then convenience then compatibility with classic C.
- Based on C99 with restrictions and embedded/safety-specific extensions.
- GNU __attribute__ is standard, list of attributes will be defined.
- Easy migration of C code but not necessarily 1:1 compatible.
- Small subset of C runtime support.
- stdint.h
- stdbool.h (functionality is embedded in language)
- string.h
- math.h
- More?
- Inter-operable with C and C++. Meaning that C/C++ application should be able to use Safer C code.
- Safer C is able to call C code using an "unsafe call" mechanism.
- File extensions .ec, .eh.
- The compiler defines __saferc
- More?
Giovanni