cp-tree.h (build_enumerator): Take the enumeration type as a paramter.
authorMark Mitchell <mark@markmitchell.com>
Fri, 28 Aug 1998 15:43:58 +0000 (15:43 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Fri, 28 Aug 1998 15:43:58 +0000 (15:43 +0000)
commit079e1098abe30722bb612e4b3bc673e969f0c72d
tree01906c60f2f79be105f47fb3279d31cbf6f01a9a
parentec8b2a13642c7b6b75f6a949776076f1c1c879c6
cp-tree.h (build_enumerator): Take the enumeration type as a paramter.

* cp-tree.h (build_enumerator): Take the enumeration type as a
paramter.
* decl.c (finish_enum): Don't set the TREE_TYPE for the
enumeration constant values if we're processing_template_decls.
Don't set the type for the CONST_DECLs either; that's done in
build_enumerator. (
(build_enumerator): Take the enumeration type as a
paramter.
* lex.c (do_identifier): Don't resolve enumeration constants while
processing template declarations, even if they happen to be
TEMPLATE_PARM_INDEXs.
* parse.y (current_enum_type): New variable.
(primary): Don't allow statement-expression in local classes just
as we don't in global classes.
(structsp): Use current_enum_type.
(enum_list): Likewise.
* pt.c (tsubst_enum): Don't check for NOP_EXPRs introduced by
finish_enum; they no longer occur.

From-SVN: r22060
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/lex.c
gcc/cp/parse.y
gcc/cp/pt.c
gcc/testsuite/g++.old-deja/g++.pt/enum10.C [new file with mode: 0644]