This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: C++ ptrmemfun break if FUNCTION_BOUNDARY < 2 * BITS_PER_UNIT


In article <ork84ys5bq.fsf@guarana.lsd.ic.unicamp.br> you write:
>The C++ ABI v3 uses the least significant bit of the pfn to tell
>non-virtual from virtual functions.

There are also targets that use the low-order bit of the PC to determine
processor mode.  Two prominent examples are arm/thumb and mips/mips16.
If an address has the low bit set, then that means it is using the 16-bit
compressed instruction set instead of the normal 32-bit instruction set.

This is also a problem for word addressable machines.  In that case, all
bits of the address are significant, and there aren't any unused lower-bits
that can be used by the C++ front end.  There are several gcc ports to DSPs
that would have this problem.

Jim


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]