https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78986

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-09-24
                 CC|                            |msebor at gcc dot gnu.org
            Summary|template inner classes are  |[7/8/9 Regression] template
                   |not affected by visibility  |inner classes are not
                   |specifiers                  |affected by access
                   |                            |specifiers
     Ever confirmed|0                           |1
      Known to fail|                            |4.8.3, 4.9.3, 5.3.0, 7.2.0,
                   |                            |8.2.0, 9.0

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed.  The test case in comment #0 has never been diagnosed by G++.  The
following slightly modified test case, however, is rejected by G++ 5 but
accepted by 6 and later.

class B { struct T {}; };
class D: B { template<typename> struct U: T {}; };
D::U<int> d;

Bisection points to r231354 as the cause of the regression:

r231354 | jason | 2015-12-06 23:35:14 -0500 (Sun, 06 Dec 2015) | 4 lines

        Fix parse/no-type-defn1.C with -std=c++1z.

        * parser.c (struct tentative_firewall): New.
        (cp_parser_template_id, cp_parser_decltype_expr): Use it.

Reply via email to