cp-tree.h (IDENTIFIER_TYPENAME_P): Use OPERATOR_TYPENAME_FORMAT here.
authorMark Mitchell <mark@markmitchell.com>
Wed, 6 Jan 1999 23:38:05 +0000 (23:38 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Wed, 6 Jan 1999 23:38:05 +0000 (23:38 +0000)
commit4c57111494f2ec72b9c8d7f246f8a3b269b53a47
tree54971386a4f6d1b749198b7ad7cac52a63c0a7d5
parent70186b342c44e983d7005488b9427f0d00907ae8
cp-tree.h (IDENTIFIER_TYPENAME_P): Use OPERATOR_TYPENAME_FORMAT here.

        * cp-tree.h (IDENTIFIER_TYPENAME_P): Use OPERATOR_TYPENAME_FORMAT
here.
(lang_type): Add is_partial_instantiation.  Decrease width of
dummy.
(PARTIAL_INSTANTIATION_P): New macro.
(OPERATOR_TYPENAME_P): Remove.
* decl.c (unary_op_p): Use IDENTIFIER_TYPENAME_P, not
OPERATOR_TYPENAME_P.
(grok_op_properties): Likewise.
* friend.c (do_friend): Handle friends that are member functions
correctly.
* lex.c (init_parse): Use OPERATOR_TYPENAME_FORMAT.
* pt.c (instantiate_class_template): Rework for clarity.  Avoid
leaving TYPE_BEING_DEFINED set in obscure cases.  Don't do
any more partial instantiation than is absolutely necessary for
implicit typename.  Set PARTIAL_INSTANTIATION_P.
(tsubst_decl): Use IDENTIFIER_TYPENAME_P.
* semantics.c (begin_class_definition): Handle partial
specializations of a type that was previously partially
instantiated.

From-SVN: r24548
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/friend.c
gcc/cp/lex.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/testsuite/g++.old-deja/g++.pt/friend39.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/spec27.C [new file with mode: 0644]