aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-08-17 16:29:17 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-08-17 12:29:17 -0400
commit287662c58d04ac37d8cd4730e377860abf1328df (patch)
treef9ea4292525b8104d3d05fe63d1401a8123ec65d /gcc/cp
parent0d2a8b1b82b35370545d9fe9784d466314a9adf2 (diff)
downloadgcc-287662c58d04ac37d8cd4730e377860abf1328df.zip
gcc-287662c58d04ac37d8cd4730e377860abf1328df.tar.gz
gcc-287662c58d04ac37d8cd4730e377860abf1328df.tar.bz2
init.c (build_offset_ref): Don't mess with error_mark_node.
* init.c (build_offset_ref): Don't mess with error_mark_node. * lex.c (do_scoped_id): Use cp_error. * rtti.c (get_tinfo_fn): Don't mess with the context for now. From-SVN: r21792
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/init.c2
-rw-r--r--gcc/cp/lex.c3
-rw-r--r--gcc/cp/rtti.c12
4 files changed, 9 insertions, 15 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3f3fa49..1379f07 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+1998-08-17 Jason Merrill <jason@yorick.cygnus.com>
+
+ * init.c (build_offset_ref): Don't mess with error_mark_node.
+ * lex.c (do_scoped_id): Use cp_error.
+
+ * rtti.c (get_tinfo_fn): Don't mess with the context for now.
+
1998-08-17 Benjamin Kosnik <bkoz@loony.cygnus.com>
* decl.c (grokdeclarator): Allow anonymous types to be cv-qualified.
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 78b6c5d..9d1e05b 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1529,7 +1529,7 @@ build_offset_ref (type, name)
if (TREE_CODE (type) == NAMESPACE_DECL)
{
t = lookup_namespace_name (type, name);
- if (! type_unknown_p (t))
+ if (t != error_mark_node && ! type_unknown_p (t))
{
mark_used (t);
t = convert_from_reference (t);
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 3271965..2aae5b9 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -3048,8 +3048,7 @@ do_scoped_id (token, parsing)
else
{
if (IDENTIFIER_NAMESPACE_VALUE (token) != error_mark_node)
- error ("undeclared variable `%s' (first use here)",
- IDENTIFIER_POINTER (token));
+ cp_error ("`::%D' undeclared (first use here)", token);
id = error_mark_node;
/* Prevent repeated error messages. */
SET_IDENTIFIER_NAMESPACE_VALUE (token, error_mark_node);
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index a86d6ed..0087bc3 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -369,18 +369,6 @@ get_tinfo_fn (type)
DECL_MUTABLE_P (d) = 1;
TREE_TYPE (name) = copy_to_permanent (type);
- /* We set DECL_CONTEXT for the benefit of backend stuff that wants to
- know what type this artificial function is associated with. dllexport
- handling, for instance. This is a kludge, and the
- DECL_NO_STATIC_CHAIN bit is necessary to keep local classes from
- breaking. The DECL_IGNORED_P bit keeps dwarf2 from breaking. */
- if (IS_AGGR_TYPE (type))
- {
- DECL_CONTEXT (d) = type;
- DECL_NO_STATIC_CHAIN (d) = 1;
- DECL_IGNORED_P (d) = 1;
- }
-
pushdecl_top_level (d);
make_function_rtl (d);
assemble_external (d);