Tim Goetze wrote:
> Enter gcc version 3, which drops multi-line inline assembly support.
The following compiles fine with gcc 3.3.3:
void f()
{
__asm__ ("nop\n"
"nop\n");
}
> Enter gcc version 3, moving the vtable member to memory offset 0 of a
> derived type even if the base type is in C which doesn't know about
> vtables.
There are no memory layout guarantees for non-POD types.
If your external functions use the correct type (i.e., a pointer to
the base type), the compiler will automatically cast class pointers in
the correct way. Otherwise, you have to cast to the base type
yourself whenever you 'export' a pointer.
> Enter gcc version 4, which requires the templated types' constructor
> code be rewritten in the most nonsensical, misleading and ugly fashion
> possibly imaginable this side of Hungary and Redmond, WA, according to
> our (now not so very young anymore) hero.
Could you show some details? Probably the old code wasn't quite
correct according to The Standard(TM).
Regards,
Clemens
Received on Mon Jun 6 12:15:09 2005
This archive was generated by hypermail 2.1.8 : Mon Jun 06 2005 - 12:15:09 EEST