aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2022-05-12 16:52:06 -0400
committerPatrick Palka <ppalka@redhat.com>2022-05-12 16:52:06 -0400
commit3e948d645bc9086eee28407fcc67d05b3450bb78 (patch)
treeb455149506a401eb0f8438ebdd7e7c93789fdffb /gcc/c-family
parent995060aa5eb85a9a6d06c5cf9e87650522ccee3f (diff)
downloadgcc-3e948d645bc9086eee28407fcc67d05b3450bb78.zip
gcc-3e948d645bc9086eee28407fcc67d05b3450bb78.tar.gz
gcc-3e948d645bc9086eee28407fcc67d05b3450bb78.tar.bz2
c++: tighten TMPL_ARGS_LEVEL macro
This patch makes TMPL_ARGS_LEVEL verify the level argument is valid when the one-dimensional vector case. Doing so uncovered a couple of latent issues: in try_class_unification, we weren't correctly copying targs when it's two-dimensional, and in unify_pack_expansion it seems an inequality test needs to be reversed. This patch fixes both issues, and in passing makes the former function free the temporary copy of targs. gcc/cp/ChangeLog: * cp-tree.h (TMPL_ARGS_LEVEL): Assert LEVEL is 1 when TMPL_ARGS_HAVE_MULTIPLE_LEVELS is false. * pt.cc (try_class_unification): Correctly copy multidimensional targs. Free the copy of targs. (unify_pack_expansion): Fix level comparison.
Diffstat (limited to 'gcc/c-family')
0 files changed, 0 insertions, 0 deletions