26 lines
440 B
C++
26 lines
440 B
C++
#include <cstdint>
|
|
|
|
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;
|
|
}
|