From 98ddffc1c10f62fca6e92b358b0a6d4398add660 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Tue, 14 Sep 2004 12:35:28 +0000 Subject: [PATCH] * pt.c (unify): Replace gcc_unreachable with gcc_assert. From-SVN: r87491 --- gcc/cp/ChangeLog | 6 +++++- gcc/cp/pt.c | 42 +++++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6d53c933a49..a54f556869a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2004-09-14 Nathan Sidwell + + * pt.c (unify): Replace gcc_unreachable with gcc_assert. + 2004-09-13 Mark Mitchell PR c++/16162 @@ -520,7 +524,6 @@ 2004-08-25 Nathan Sidwell - * 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 * decl.c (cxx_init_decl_processing): Adjust diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 90efa06d7cc..e7d44f2ae70 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -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 - void foo(S, S); + template + void foo(S, S); - 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; } } -- 2.30.2