aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/iresolve.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-06-22 15:44:45 -0400
committerGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-17 13:14:38 -0300
commitfe0ea182f878ee8b31305380ea651002d57b4f8e (patch)
treebb3c6549fc7d0e9e810fbf62fb45af043525abbc /gcc/fortran/iresolve.c
parentd2990b6e5c52b2bca385dd1748ddeab380f86712 (diff)
downloadgcc-fe0ea182f878ee8b31305380ea651002d57b4f8e.zip
gcc-fe0ea182f878ee8b31305380ea651002d57b4f8e.tar.gz
gcc-fe0ea182f878ee8b31305380ea651002d57b4f8e.tar.bz2
c++: Improve CTAD for aggregates [PR93976]
P2082R1 adjusted the rules for class template argument deduction for an aggregate to better handle arrays and pack expansions. gcc/cp/ChangeLog: PR c++/93976 Implement C++20 P2082R1, Fixing CTAD for aggregates. * cp-tree.h (TPARMS_PRIMARY_TEMPLATE): Split out from... (DECL_PRIMARY_TEMPLATE): ...here. (builtin_guide_p): Declare. * decl.c (reshape_init_class): Handle bases of a template. (reshape_init_r): An array with dependent bound takes a single initializer. * pt.c (tsubst_default_argument): Shortcut {}. (unify_pack_expansion): Allow omitted arguments to trailing pack. (builtin_guide_p): New. (collect_ctor_idx_types): Give a trailing pack a {} default argument. Handle arrays better. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/class-deduction-aggr3.C: New test. * g++.dg/cpp2a/class-deduction-aggr4.C: New test.
Diffstat (limited to 'gcc/fortran/iresolve.c')
0 files changed, 0 insertions, 0 deletions