diff options
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/pt.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c72954d..cb59877 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2015-07-06 Jason Merrill <jason@redhat.com> + + * pt.c (argument_pack_element_is_expansion_p): A decl pack is an + expansion. + 2015-07-02 Jason Merrill <jason@redhat.com> PR c++/66743 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index e819b69..0302de1 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -9838,6 +9838,9 @@ argument_pack_element_is_expansion_p (tree arg_pack, int i) if (i >= TREE_VEC_LENGTH (vec)) return 0; tree elt = TREE_VEC_ELT (vec, i); + if (DECL_P (elt)) + /* A decl pack is itself an expansion. */ + elt = TREE_TYPE (elt); if (!PACK_EXPANSION_P (elt)) return 0; if (PACK_EXPANSION_EXTRA_ARGS (elt)) |