aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cp-tree.h
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2018-02-01 13:44:41 -0500
committerJason Merrill <jason@gcc.gnu.org>2018-02-01 13:44:41 -0500
commitbfa28724748054a50075ce6f39b18c5ce111c73c (patch)
tree5e44dbeaafb2ae29a6c4461ab649a19da05c0c4b /gcc/cp/cp-tree.h
parent6a92e0534b50ca5e97b325137044b502cceff99e (diff)
downloadgcc-bfa28724748054a50075ce6f39b18c5ce111c73c.zip
gcc-bfa28724748054a50075ce6f39b18c5ce111c73c.tar.gz
gcc-bfa28724748054a50075ce6f39b18c5ce111c73c.tar.bz2
PR c++/84126 - ICE with variadic generic lambda
PR c++/84036 PR c++/82249 * pt.c (tsubst_pack_expansion): Handle function parameter_packs in PACK_EXPANSION_EXTRA_ARGS. From-SVN: r257307
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r--gcc/cp/cp-tree.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 8983674..5f14e51 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3496,7 +3496,11 @@ extern void decl_shadowed_for_var_insert (tree, tree);
: &TYPE_MIN_VALUE_RAW (TYPE_PACK_EXPANSION_CHECK (NODE)))
/* Any additional template args to be applied when substituting into
- the pattern, set by tsubst_pack_expansion for partial instantiations. */
+ the pattern, set by tsubst_pack_expansion for partial instantiations.
+ If this is a TREE_LIST, the TREE_VALUE of the first element is the
+ usual template argument TREE_VEC, and the TREE_PURPOSE of later elements
+ are enclosing functions that provided function parameter packs we'll need
+ to map appropriately. */
#define PACK_EXPANSION_EXTRA_ARGS(NODE) \
*(TREE_CODE (NODE) == TYPE_PACK_EXPANSION \
? &TYPE_MAX_VALUE_RAW (NODE) \