let need_cast t1 t2 =
match unrollType t1, unrollType t2 with
| (TInt _| TEnum _| TPtr _), (TInt _| TEnum _| TPtr _)
| TFloat _, TFloat _
| TComp _, TComp _ ->
(try bitsSizeOf t1 <> bitsSizeOf t2
with SizeOfError _ -> true)
| _ -> true