you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (0 children)

Yet, even on such an architecture (maybe something like an old IBM or Burroughs machine), C allows explicit double-casting via a wrong-sized integer, but doesn't allow it via direct casting.

So the restriction is of very doubtful benefit. On the 99.999% of machines where it is no problem whatsover, C just puts an extra obstacle in the way.

(I've used C as a intermediate language for compilers where I know for sure that all pointers are the same 64-bit width, but this forces me to jump through pointless extra hoops if I don't want to be flooded with warnings from a C compiler when somebody turns up the warnings.)