Known Limitations of Translation

November 16, 2025 ยท View on GitHub

This document tracks things that we know the translator can't handle, as well as things it probably won't ever handle.

Partially implemented, experimental

  • variadic function definitions and macros that operate on va_lists
  • preserving comments
  • long double type (Linux only)

Unimplemented

Unimplemented, might be implementable

Likely won't ever support

  • longjmp/setjmp: Although there are LLVM intrinsics for these, it is unclear how these interact with Rust (esp. idiomatic Rust).
  • jumps into and out of statement expressions: We support GNU C statement expressions, but we can not handle jumping into or out of these. Both entry and exit into the expression have to be through the usual fall-through evaluation of the expression.