#include class Base { int32_t a; }; class Class1 : Base { public: int32_t b; }; class EmptyBase { }; class Class2 : EmptyBase { public: int32_t b; }; int main(int argc, char **argv) { Class1 c1; Class2 c2; //% self.expect("expr offsetof(Base, a)", substrs=["= 0"]) //% self.expect("expr offsetof(Class1, b)", substrs=["= 4"]) //% self.expect("expr offsetof(Class2, b)", substrs=["= 0"]) return c1.b + c2.b; }