mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
f13e919678
Before this commit, MakeModelCastPass was assuming that it would never try to emit casts involving non-scalars, which don't compile in C. From now on, the semantic of ModelCast in understood to be bitcast, and it's valid also when involving non-scalar types. This may cause the emission of ModelCast that are then emitted in C as casts that don't compile. Since the LLVM-based decompilation pipeline is deprecated in favor of the clift-based decompilation pipeline, this is now considered acceptable, as long as the C backend prints a warning and a comment on the broken cast.