Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-12-09 Thread Jason Merrill
OK. Jason

[Dodji Seketeli] Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-12-07 Thread Dodji Seketeli
ssed bootstrap and testing on x86_64-unknown-linux-gnu against trunk. From: Dodji Seketeli Date: Sat, 26 Nov 2011 11:50:43 +0100 Subject: [PATCH] PR c++/51289 - ICE with alias template for bound template template parm gcc/cp/ PR c++/51289 * cp-tree.h (TYPE_TEMPLATE_INFO): R

Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-12-02 Thread Dodji Seketeli
inux-gnu against trunk. From: Dodji Seketeli Date: Sat, 26 Nov 2011 11:50:43 +0100 Subject: [PATCH] PR c++/51289 - ICE with alias template for bound template template parm gcc/cp/ PR c++/51289 * cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to

Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-11-30 Thread Dodji Seketeli
Jason Merrill writes: > I guess let's check DECL_ORIGINAL_TYPE instead of TREE_TYPE for alias > templates. Like the below that I am currently bootstrapping? From: Dodji Seketeli Date: Sat, 26 Nov 2011 11:50:43 +0100 Subject: [PATCH] PR c++/51289 - ICE with alias template for bou

Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-11-30 Thread Jason Merrill
On 11/30/2011 06:32 AM, Dodji Seketeli wrote: Here is an example of what I had in mind for keeping the walking of the underlying type there: template struct S {}; template using A = S;//#1<-- I think we should error here. We certainly should; we do need to walk the pattern

Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-11-30 Thread Dodji Seketeli
Jason Merrill writes: > On 11/29/2011 10:41 AM, Dodji Seketeli wrote: >> + cp_walk_tree (&DECL_ORIGINAL_TYPE (TYPE_NAME (t)), >> +&find_parameter_packs_r, >> +ppd, ppd->visited); > > I still don't think we want to walk the underlying type, since it > isn't part of

Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-11-29 Thread Jason Merrill
On 11/29/2011 10:41 AM, Dodji Seketeli wrote: + cp_walk_tree (&DECL_ORIGINAL_TYPE (TYPE_NAME (t)), + &find_parameter_packs_r, + ppd, ppd->visited); I still don't think we want to walk the underlying type, since it isn't part of the syntactic form of the typ

Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-11-29 Thread Dodji Seketeli
Jason Merrill writes: > On 11/28/2011 11:54 AM, Dodji Seketeli wrote: >> @@ -3028,10 +3028,12 @@ find_parameter_packs_r (tree*tp, int *walk_subtrees, >> void* data) >> >> case BOUND_TEMPLATE_TEMPLATE_PARM: >> /* Check the template itself. */ >> - cp_walk_tree (&TREE_TYPE (TY

Re: [PATCH] PR c++/51289 - ICE with alias template for bound template

2011-11-28 Thread Jason Merrill
On 11/28/2011 11:54 AM, Dodji Seketeli wrote: @@ -3028,10 +3028,12 @@ find_parameter_packs_r (tree*tp, int *walk_subtrees, void* data) case BOUND_TEMPLATE_TEMPLATE_PARM: /* Check the template itself. */ - cp_walk_tree (&TREE_TYPE (TYPE_TI_TEMPLATE (t)), + cp_walk_tree

[PATCH] PR c++/51289 - ICE with alias template for bound template

2011-11-28 Thread Dodji Seketeli
Hello, Consider this example: template class b> struct foo { template using type = b; template b funca() {} template type funcb() {}//#1 }; In #1, when lookup_template_class_1 builds the type of type we hit a kind of plumbing issue; near the en