aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cp-tree.h
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2003-06-20 02:40:37 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2003-06-20 02:40:37 +0000
commitf139561cce27d9b662b0a3b22d3dd6aa56ae1854 (patch)
treef39921e4f96d4b307cb115c1a2e04b29f5a15ee4 /gcc/cp/cp-tree.h
parent170b020fe4be4eadea27d389257778d952fb5a13 (diff)
downloadgcc-f139561cce27d9b662b0a3b22d3dd6aa56ae1854.zip
gcc-f139561cce27d9b662b0a3b22d3dd6aa56ae1854.tar.gz
gcc-f139561cce27d9b662b0a3b22d3dd6aa56ae1854.tar.bz2
re PR c++/9649 (ICE in finish_member_declaration at cp/semantics.c:1850 when redeclaring a static member variable)
PR c++/9649 * cp-tree.h (pushdecl_class_level): Change prototype. (push_class_level_binding): Likewise. * decl.c (add_binding): Reject duplicate static data members. (pushdecl_class_level): Return a value indicating whether or not the binding was valid. (push_class_level_binding): Likewise. * semantics.c (finish_member_declaration): Don't keep invalid declarations. PR c++/9649 * g++.dg/template/static4.C: New test. * g++.old-deja/g++.other/anon7.C: Remove spurious error messages. From-SVN: r68240
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r--gcc/cp/cp-tree.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index bfb7e0f..6bc6f6f 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3638,11 +3638,11 @@ extern int decls_match (tree, tree);
extern int duplicate_decls (tree, tree);
extern tree pushdecl_top_level (tree);
extern tree pushdecl_top_level_and_finish (tree, tree);
-extern void pushdecl_class_level (tree);
+extern bool pushdecl_class_level (tree);
extern tree pushdecl_namespace_level (tree);
extern tree push_using_decl (tree, tree);
extern tree push_using_directive (tree);
-extern void push_class_level_binding (tree, tree);
+extern bool push_class_level_binding (tree, tree);
extern tree implicitly_declare (tree);
extern tree declare_local_label (tree);
extern tree define_label (const char *, int, tree);