dump.c (dequeue_and_dump): Dump DECL_NAMESPACE_ALIAS.
authorMark Mitchell <mark@codesourcery.com>
Tue, 14 Dec 1999 18:11:32 +0000 (18:11 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 14 Dec 1999 18:11:32 +0000 (18:11 +0000)
* 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

gcc/cp/ChangeLog
gcc/cp/dump.c
gcc/cp/error.c
gcc/cp/ir.texi

index 221dbd447e643ebbc86e0cbf41b2886e776e4c27..3f44c780f057c6234b8c5ea9d6b0a6374851478d 100644 (file)
@@ -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
index c042f0a26df754efefc2902d4881fb920dc2dfff..f66a5f1c8e24a65937d89b21c3a9cbecb493402b 100644 (file)
@@ -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:
index 2b7b4eae3dcaf34a9b3e52b6141abb67015da220..e6d3084c7314bd183badfee62fadaf97517b43e4 100644 (file)
@@ -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)))
        {
index cb6e1385d1fd88fbc8877d62d5f10f2f375e5a6e..f3b50396aaeed90d260fc132a56e3de5304a5774 100644 (file)
@@ -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 ---------------------------------------------------------------------