This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: does gcc support multiple sizes, or not?
> Well, I think it's in direct conflict with the C++ standard. If "X" is
> a 32-bit pointer type, and "x" is a value of type X, "Y" is a 16-bit
> pointer type, then:
>
> (X*)(Y*)x
>
> is supposed to get you back the value of "x", but I don't see how that
> can work, in general.
Where in the standard does it say that? I could only find references
to conversions to base classes. Plus, Borland C++ has had multiple
sized pointers since the 80's.
> You only need two classes of pointers if you expect people to use
> the second class in non-trivial expressions, i.e., dereference them,
> perform pointer arithmetic on them, etc.
Like the m16c, which lets you put additional less-frequently used data
in function memory? Perhaps, a table of strings, or some CRC lookups?