aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-12-14 18:11:32 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-12-14 18:11:32 +0000
commit89c6e7ac34e495615ffe46106e955831a723970f (patch)
treee6e9944a368a540518b4ebb2656349811e9eb285 /gcc
parent9ac190b54e296f2f5a0997fc968dd580a8ba3545 (diff)
downloadgcc-89c6e7ac34e495615ffe46106e955831a723970f.zip
gcc-89c6e7ac34e495615ffe46106e955831a723970f.tar.gz
gcc-89c6e7ac34e495615ffe46106e955831a723970f.tar.bz2
dump.c (dequeue_and_dump): Dump DECL_NAMESPACE_ALIAS.
* dump.c (dequeue_and_dump): Dump DECL_NAMESPACE_ALIAS. * ir.texi (DECL_NAMESPACE_ALIAS): Document it. * error.c (dump_expr): Handle EXPR_WITH_FILE_LOCATION. From-SVN: r30925
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/dump.c5
-rw-r--r--gcc/cp/error.c4
-rw-r--r--gcc/cp/ir.texi14
4 files changed, 29 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 221dbd4..3f44c78 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+1999-12-14 Mark Mitchell <mark@codesourcery.com>
+
+ * dump.c (dequeue_and_dump): Dump DECL_NAMESPACE_ALIAS.
+ * ir.texi (DECL_NAMESPACE_ALIAS): Document it.
+
+ * error.c (dump_expr): Handle EXPR_WITH_FILE_LOCATION.
+
1999-12-14 Mumit Khan <khan@xraylith.wisc.edu>
* class.c (finish_base_struct): Allow multiple COM base classes
diff --git a/gcc/cp/dump.c b/gcc/cp/dump.c
index c042f0a..f66a5f1 100644
--- a/gcc/cp/dump.c
+++ b/gcc/cp/dump.c
@@ -600,7 +600,10 @@ dequeue_and_dump (di)
and therefore many other macros do not work on it. */
if (t == std_node)
break;
- dump_child ("dcls", cp_namespace_decls (t));
+ if (DECL_NAMESPACE_ALIAS (t))
+ dump_child ("alis", DECL_NAMESPACE_ALIAS (t));
+ else
+ dump_child ("dcls", cp_namespace_decls (t));
break;
case TEMPLATE_DECL:
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 2b7b4ea..e6d3084 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1817,6 +1817,10 @@ dump_expr (t, flags)
dump_expr (TREE_OPERAND (t, 0), flags);
break;
+ case EXPR_WITH_FILE_LOCATION:
+ dump_expr (EXPR_WFL_NODE (t), flags);
+ break;
+
case CONSTRUCTOR:
if (TREE_TYPE (t) && TYPE_PTRMEMFUNC_P (TREE_TYPE (t)))
{
diff --git a/gcc/cp/ir.texi b/gcc/cp/ir.texi
index cb6e138..f3b5039 100644
--- a/gcc/cp/ir.texi
+++ b/gcc/cp/ir.texi
@@ -617,6 +617,17 @@ same name.
This macro returns the enclosing namespace. The @code{DECL_CONTEXT} for
the @code{global_namespace} is @code{NULL_TREE}.
+@item DECL_NAMESPACE_ALIAS
+
+If this declaration is for a namespace alias, then
+@code{DECL_NAMESPACE_ALIAS} is the namespace for which this one is an
+alias.
+
+Do not attempt to use @code{cp_namespace_decls} for a namespace which is
+an alias. Instead, follow @code{DECL_NAMESPACE_ALIAS} links until you
+reach an ordinary, non-alias, namespace, and call
+@code{cp_namespace_decls} there.
+
@item cp_namespace_decls
This function will return the declarations contained in the namespace,
including types, overloaded functions, other namespaces, and so forth.
@@ -637,6 +648,9 @@ list, @xref{Declarations}. Some declarations will not appear on this
list. In particular, no @code{FIELD_DECL}, @code{LABEL_DECL}, or
@code{PARM_DECL} nodes will appear here.
+This function cannot be used with namespaces that have
+@code{DECL_NAMESPACE_ALIAS} set.
+
@end ftable
@c ---------------------------------------------------------------------