- hygenic macros or at least inline functions (some in c99)
- explicit sized integer types (in c99)
- namespaces & imports rather than #include
- pointer restrictions (some in c99)
- runtime-variable length arrays without resorting to alloca (in c99)
- a backtick operator
- a jump convention without resorting to setjmp/longjmp