bootstrap and testing on
x86_64-unknown-linux-gnu against trunk.
From: Dodji Seketeli do...@redhat.com
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
against trunk.
From: Dodji Seketeli do...@redhat.com
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
better
Jason Merrill ja...@redhat.com 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
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:
templateclass ... T
struct S {};
templateclass ... T
using A = ST;//#1-- I think we should error here.
We certainly should; we do
Jason Merrill ja...@redhat.com 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 do...@redhat.com
Date: Sat, 26 Nov 2011 11:50:43 +0100
Subject: [PATCH] PR c++/51289 - ICE with alias
Jason Merrill ja...@redhat.com 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
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 type
Hello,
Consider this example:
templatetypename a, template typename, typename class b
struct foo {
template typename t
using type = ba, t;
template typename t
ba, t funca() {}
template typename t
typet funcb() {}//#1
};
In #1, when
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