Commit 43694e8b by Jason Merrill Committed by Jason Merrill

PR c++/67164 - clean up dead code

	* pt.c (iterative_hash_template_arg, template_args_equal): Don't
	handle ARGUMENT_PACK_SELECT.

From-SVN: r238507
parent 30bfa234
2016-07-19 Jason Merrill <jason@redhat.com>
PR c++/67164
* pt.c (iterative_hash_template_arg, template_args_equal): Don't
handle ARGUMENT_PACK_SELECT.
2016-07-18 Jakub Jelinek <jakub@redhat.com>
PR c++/70869
......
......@@ -1704,9 +1704,7 @@ iterative_hash_template_arg (tree arg, hashval_t val)
STRIP_NOPS (arg);
if (TREE_CODE (arg) == ARGUMENT_PACK_SELECT)
/* We can get one of these when re-hashing a previous entry in the middle
of substituting into a pack expansion. Just look through it. */
arg = ARGUMENT_PACK_SELECT_FROM_PACK (arg);
gcc_unreachable ();
code = TREE_CODE (arg);
tclass = TREE_CODE_CLASS (code);
......@@ -7894,17 +7892,7 @@ template_args_equal (tree ot, tree nt)
return 1;
}
else if (ot && TREE_CODE (ot) == ARGUMENT_PACK_SELECT)
{
/* We get here probably because we are in the middle of substituting
into the pattern of a pack expansion. In that case the
ARGUMENT_PACK_SELECT temporarily replaces the pack argument we are
interested in. So we want to use the initial pack argument for
the comparison. */
ot = ARGUMENT_PACK_SELECT_FROM_PACK (ot);
if (nt && TREE_CODE (nt) == ARGUMENT_PACK_SELECT)
nt = ARGUMENT_PACK_SELECT_FROM_PACK (nt);
return template_args_equal (ot, nt);
}
gcc_unreachable ();
else if (TYPE_P (nt))
{
if (!TYPE_P (ot))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment