Commit 98ddffc1 by Nathan Sidwell Committed by Nathan Sidwell

* pt.c (unify): Replace gcc_unreachable with gcc_assert.

From-SVN: r87491
parent 8e3c61c5
2004-09-14 Nathan Sidwell <nathan@codesourcery.com>
* pt.c (unify): Replace gcc_unreachable with gcc_assert.
2004-09-13 Mark Mitchell <mark@codesourcery.com>
PR c++/16162
......@@ -520,7 +524,6 @@
2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
* call.c (convert_class_to_reference): Adjust build_int_cst calls.
(build_user_type_conversion_1, convert_like_real,
build_java_interface_fn_ref, build_special_member_call): Likewise.
......@@ -546,6 +549,7 @@
* repo.c (extract_string): Reset backquote after one character.
(get_base_filename): Fix indentation.
2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
* decl.c (cxx_init_decl_processing): Adjust
......
......@@ -10109,36 +10109,32 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict)
return 1;
default:
if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (parm))))
{
/* We're looking at an expression. This can happen with
something like:
gcc_assert (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (parm))));
/* We must be looking at an expression. This can happen with
something like:
template <int I>
void foo(S<I>, S<I + 2>);
template <int I>
void foo(S<I>, S<I + 2>);
This is a "nondeduced context":
This is a "nondeduced context":
[deduct.type]
[deduct.type]
The nondeduced contexts are:
The nondeduced contexts are:
--A type that is a template-id in which one or more of
the template-arguments is an expression that references
a template-parameter.
--A type that is a template-id in which one or more of
the template-arguments is an expression that references
a template-parameter.
In these cases, we assume deduction succeeded, but don't
actually infer any unifications. */
In these cases, we assume deduction succeeded, but don't
actually infer any unifications. */
if (!uses_template_parms (parm)
&& !template_args_equal (parm, arg))
return 1;
else
return 0;
}
gcc_unreachable ();
return 1;
if (!uses_template_parms (parm)
&& !template_args_equal (parm, arg))
return 1;
else
return 0;
}
}
......
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