diff options
author | Jason Merrill <jason@redhat.com> | 2018-02-01 13:44:41 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2018-02-01 13:44:41 -0500 |
commit | bfa28724748054a50075ce6f39b18c5ce111c73c (patch) | |
tree | 5e44dbeaafb2ae29a6c4461ab649a19da05c0c4b /gcc/cp/cp-tree.h | |
parent | 6a92e0534b50ca5e97b325137044b502cceff99e (diff) | |
download | gcc-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.h | 6 |
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) \ |