-
Notifications
You must be signed in to change notification settings - Fork 279
Known Limitations of Translation
Daniel Kolsoi edited this page Aug 31, 2018
·
19 revisions
This document is to track things that we know the translator can't handle, as well as things it probably won't ever handle.
- bitfields
- variadic function definitions (blocked by Rust language)
- some static initializers (blocked by Rust language)
- preserving comments (WIP)
-
long double
and_Complex
types (partially blocked by Rust language)
- GNU packed structs (Rust has
#[repr(packed)]
compatible with#[repr(C)]
) -
inline
functions (Rust has#[inline]
) -
restrict
pointers (Rust has references) - inline assembly
- macros
- SIMD/vector types
-
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.