#include #include #define container_of(ptr, type, member) ({ \ const typeof(((type*)0)->member)* __mptr = (ptr); \ (type*)((char*)__mptr - offsetof(type, member)); }) struct A; struct B; struct A { char m0; int m1; struct B* m2; }; struct B { int m0; char m1; short m2; struct A* m3; float m4; struct A m5; struct B* m6; } __attribute__((slr)); int main(int argc, char** argv) { // TODO return 0; }