On Tue, Jun 28, 2005 at 08:57:20AM -0400, Robert Dewar wrote:
> But the whole idea of hardware semantics is bogus, since you are
> assuming some connection between C and the hardware which does not
> exist. C is not an assembly language.

A non-negligible part of the use of C and even C++ is as a high-level,
somewhat portable assembly language.  Ignoring that part is not a very
good idea.

In particular, a very large number of C and C++ programs are written
with the assumptions:

- signed and unsigned types are modulo, except in loop induction
  variables where it's bad taste

- sizeof(int) == 4, sizeof(long long) == 8

- sizeof(long) == sizeof(void *) == sizeof(void (*)())

Break them and see your compiler rejected by pretty much everybody.

  OG.

Reply via email to