------- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-20 
21:42 -------
Confirmed, reduced testcase:
template<int>
struct g
{
  int operator()(int i){return i;}
};
template <int i1>
struct h
{
  int f(void)
  {
    g<i1> i;
    struct f1
    {
      int f(void){return i(0);}
    };
    f1 aa;
    aa.f();
  }
};
h<1> i;
void f() { i.f(); }

3.3.3 gave an error:
t1.cc: In member function `int h<i1>::f()::f1::f()':
t1.cc:16: error: use of `auto' variable from containing function
t1.cc:13: error:   `g<i1> i' declared here

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |accepts-invalid, ice-
                   |                            |checking, ice-on-invalid-
                   |                            |code
   Last reconfirmed|0000-00-00 00:00:00         |2005-05-20 21:42:02
               date|                            |
            Summary|Internal compiler error on  |[3.4/4.0/4.1 Regression]
                   |correct code                |Internal compiler error on
                   |                            |invalid code
   Target Milestone|---                         |3.4.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21685

Reply via email to