DJ Delorie wrote:
>> And back to my original answer: it's up to each language to decide
>> that.
> 
> Hence my original question: is it legal or not?  What did the C++
> developers decide?

The C++ standard implies that for all pointer-to-object types have the
same size and that all pointer-to-function types have the same size.
(Technically, it doesn't say that that; it says that you can convert T*
-> U* -> T* and get the original value.)  However, nothing in the
standard says that pointer-to-object types must have the same size as
pointer-to-function types.

In theory, I believe that G++ should permit the sizes to be different.
However, as far as I know, none of the G++ developers considered that
possibility, which probably means that we have made the assumption that
they are all the same size at some points.  I would consider places
where that assumption is made to be bugs in the front end.

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713

Reply via email to