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



--- Comment #6 from Paul Pluzhnikov <ppluzhnikov at google dot com> 2013-02-23 
23:06:18 UTC ---

(In reply to comment #4)

> I think the testcase is invalid



Looks like you are right, and it's been over-reduced.



> Shouldn't the below line be diagnosed, even if it is in a template ?

> F& name = x->value;



The error being that typeof(x->value) is A, not F, right?



If so, this corrected test case still triggers ICE:





class A

{

    virtual int String ();

};



class F: public A { };



template < typename V > class G

{

    V value;

};



class D

{

    template < int N > void Verify() {

      G<F>* x = 0;

      F& name = x->value;

      name.String();

    }

};

Reply via email to