{
   for (; block != NULL; block = block->superblock ())
     {
-      if (BLOCK_NAMESPACE (block) != NULL
-         && BLOCK_NAMESPACE (block)->scope != NULL)
-       return BLOCK_NAMESPACE (block)->scope;
+      if (block->namespace_info () != NULL
+         && block->namespace_info ()->scope != NULL)
+       return block->namespace_info ()->scope;
     }
 
   return "";
 {
   block_initialize_namespace (block, obstack);
 
-  BLOCK_NAMESPACE (block)->scope = scope;
+  block->namespace_info ()->scope = scope;
 }
 
 /* This returns the using directives list associated with BLOCK, if
 struct using_direct *
 block_using (const struct block *block)
 {
-  if (block == NULL || BLOCK_NAMESPACE (block) == NULL)
+  if (block == NULL || block->namespace_info () == NULL)
     return NULL;
   else
-    return BLOCK_NAMESPACE (block)->using_decl;
+    return block->namespace_info ()->using_decl;
 }
 
 /* Set BLOCK's using member to USING; if needed, allocate memory via
 {
   block_initialize_namespace (block, obstack);
 
-  BLOCK_NAMESPACE (block)->using_decl = using_decl;
+  block->namespace_info ()->using_decl = using_decl;
 }
 
-/* If BLOCK_NAMESPACE (block) is NULL, allocate it via OBSTACK and
+/* If block->namespace_info () is NULL, allocate it via OBSTACK and
    initialize its members to zero.  */
 
 static void
 block_initialize_namespace (struct block *block, struct obstack *obstack)
 {
-  if (BLOCK_NAMESPACE (block) == NULL)
-    BLOCK_NAMESPACE (block) = new (obstack) struct block_namespace_info ();
+  if (block->namespace_info () == NULL)
+    block->set_namespace_info (new (obstack) struct block_namespace_info ());
 }
 
 /* Return the static block associated to BLOCK.  Return NULL if block
 
   void set_multidict (multidictionary *multidict)
   { m_multidict = multidict; }
 
+  /* Return this block's namespace info.  */
+  block_namespace_info *namespace_info () const
+  { return m_namespace_info; }
+
+  /* Set this block's namespace info.  */
+  void set_namespace_info (block_namespace_info *namespace_info)
+  { m_namespace_info = namespace_info; }
+
   /* Addresses in the executable code that are in this block.  */
 
   CORE_ADDR m_start;
   /* Contains information about namespace-related info relevant to this block:
      using directives and the current namespace scope.  */
 
-  struct block_namespace_info *namespace_info;
+  struct block_namespace_info *m_namespace_info;
 
   /* Address ranges for blocks with non-contiguous ranges.  If this
      is NULL, then there is only one range which is specified by
   struct compunit_symtab *compunit_symtab;
 };
 
-#define BLOCK_NAMESPACE(bl)    (bl)->namespace_info
-
 /* Accessor for ranges field within block BL.  */
 
 #define BLOCK_RANGES(bl)       (bl)->ranges