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