1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// { dg-do run { target c++11 } } struct base { int calc_avg() { return 42; } }; template <class T> struct nsdmi : T { nsdmi() {} int avg() { return avg_; } int avg_ = this->calc_avg(); }; int main() { nsdmi<base> x; if (x.avg() != 42) __builtin_abort(); }