PR c++/19203, implement DR 214
authorNathan Sidwell <nathan@codesourcery.com>
Thu, 31 Mar 2005 17:36:17 +0000 (17:36 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Thu, 31 Mar 2005 17:36:17 +0000 (17:36 +0000)
commitdda0439880fee40a90309ed74446c29a3ca08a05
tree5ecfece501acdb1b2be881d9444e863d74730ab4
parent27954bdbc3051fbf6adfdc8675fa33f36da7c292
PR c++/19203, implement DR 214

cp:
PR c++/19203, implement DR 214
* call.c (joust): Use more_specialized_fn.
* cp-tree.h (DEDUCE_ORDER): Remove.
(more_specialized): Replace with ...
(more_specialized_fn): ... this.
* pt.c (maybe_adjust_types_for_deduction): Remove DEDUCE_ORDER
case.
(type_unification_real): Remove DEDUCE_ORDER case.
(more_specialized): Replace with ...
(more_specialized_fn): ... this.  Implement DR 214.
(most_specialized_instantiation): Use get_bindings_real directly.
testsuite:
PR c++/19203, DR 214
* g++.dg/parse/ambig3.C: Not ambiguous.
* g++.dg/template/spec20.C: New.
* g++.dg/template/spec21.C: New.

From-SVN: r97336
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/ambig3.C
gcc/testsuite/g++.dg/template/spec20.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/spec21.C [new file with mode: 0644]