[C++ patch] PR 20420

Jason Merrill jason@redhat.com
Wed Aug 22 15:13:00 GMT 2012


On 08/22/2012 10:55 AM, Paolo Carlini wrote:
> . thus, in short, what is happening is that, for this testcase:
>
> class B
> {
> protected:
>    enum E { E1, E2, E3 };
> };
>
> class D : private B
> {
> public:
>    using B::E;
>
> private:
>    enum E { };
> };
>
> we parse the new declaration enum E { }; and we reach
> supplement_binding_1 before setting the underlying type of the new
> declaration. The old declaration is fine, would not ICE dependent_type_p.

So with your change would we still ICE if D were a template?  It seems 
like what we should be checking for is null underlying type.

Jason



More information about the Gcc-patches mailing list