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.