https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72796
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-08-03 CC| |jason at redhat dot com Ever confirmed|0 |1 --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Markus Trippelsdorf from comment #1) > markus@x4 js % cat jsarray.ii > struct a; > template <int> struct b { typedef a c; }; > struct d { > void e(int); > }; > struct a : d { > void e(int) = delete; > }; > template <int f> struct g : b<f>::c { > g(int) { this->d::e(0); } > }; > struct h : g<0> { > using i = g; > h() : i(0) {} > }; > > markus@x4 js % g++ -c jsarray.ii > jsarray.ii: In instantiation of ‘g<f>::g(int) [with int f = 0]’: > jsarray.ii:14:12: required from here > jsarray.ii:10:12: error: use of deleted function ‘void a::e(int)’ > g(int) { this->d::e(0); } > ^~~~ > jsarray.ii:7:8: note: declared here > void e(int) = delete; > ^ Great, I triggered creduce before leaving work. Looks we've already have a test-case ;) Started with: r236221: /home/marxin/Programming/testcases/pr72796.cc:10:21: error: ‘d’ is not a base of ‘g<f>’ g(int) { this->d::e(0); } which changed in r237558 to the aforementioned error message.