#include <stdio.h>
#include <stddef.h>
template< int base_offs > struct pin {
int y1;
};
struct wrap {
int x1;
char x2;
char base1[0];
pin< offsetof(wrap,base1) > r3;
char base2[0];
pin< offsetof(wrap,base2) > r4;
};
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRkZWYuaD4KCnRlbXBsYXRlPCBpbnQgYmFzZV9vZmZzID4gc3RydWN0IHBpbiB7CiAgaW50IHkxOwp9OwoKc3RydWN0IHdyYXAgewogIGludCB4MTsKICBjaGFyIHgyOwoKICBjaGFyIGJhc2UxWzBdOwogIHBpbjwgb2Zmc2V0b2Yod3JhcCxiYXNlMSkgPiByMzsKCiAgY2hhciBiYXNlMlswXTsKICBwaW48IG9mZnNldG9mKHdyYXAsYmFzZTIpID4gcjQ7Cn07CgoKCg==
In file included from prog.cpp:2:0:
prog.cpp:13:8: error: invalid use of incomplete type ‘struct wrap’
pin< offsetof(wrap,base1) > r3;
^
prog.cpp:8:8: error: forward declaration of ‘struct wrap’
struct wrap {
^
prog.cpp:13:29: error: template argument 1 is invalid
pin< offsetof(wrap,base1) > r3;
^
In file included from prog.cpp:2:0:
prog.cpp:16:8: error: invalid use of incomplete type ‘struct wrap’
pin< offsetof(wrap,base2) > r4;
^
prog.cpp:8:8: error: forward declaration of ‘struct wrap’
struct wrap {
^
prog.cpp:16:29: error: template argument 1 is invalid
pin< offsetof(wrap,base2) > r4;
^