* cp-support.h (cp_set_block_scope): Remove.
* dbxread.c: Include block.h.
(cp_set_block_scope): New function.
(process_one_symbol): Update.
* dwarf2read.c (read_func_scope): Use block_set_scope.
+2013-01-25 Tom Tromey <tromey@redhat.com>
+
+ * cp-namespace.c (cp_set_block_scope): Remove.
+ * cp-support.h (cp_set_block_scope): Remove.
+ * dbxread.c: Include block.h.
+ (cp_set_block_scope): New function.
+ (process_one_symbol): Update.
+ * dwarf2read.c (read_func_scope): Use block_set_scope.
+
2013-01-25 Pedro Alves <palves@redhat.com>
* remote.c (add_current_inferior_and_thread): Tweak comment.
using_directives = new;
}
-/* Record the namespace that the function defined by SYMBOL was
- defined in, if necessary. BLOCK is the associated block; use
- OBSTACK for allocation. */
-
-void
-cp_set_block_scope (const struct symbol *symbol,
- struct block *block,
- struct obstack *obstack,
- const char *processing_current_prefix,
- int processing_has_namespace_info)
-{
- if (processing_has_namespace_info)
- {
- block_set_scope
- (block, obstack_copy0 (obstack, processing_current_prefix,
- strlen (processing_current_prefix)),
- obstack);
- }
- else if (SYMBOL_DEMANGLED_NAME (symbol) != NULL)
- {
- /* Try to figure out the appropriate namespace from the
- demangled name. */
-
- /* FIXME: carlton/2003-04-15: If the function in question is
- a method of a class, the name will actually include the
- name of the class as well. This should be harmless, but
- is a little unfortunate. */
-
- const char *name = SYMBOL_DEMANGLED_NAME (symbol);
- unsigned int prefix_len = cp_entire_prefix_len (name);
-
- block_set_scope (block,
- obstack_copy0 (obstack, name, prefix_len),
- obstack);
- }
-}
-
/* Test whether or not NAMESPACE looks like it mentions an anonymous
namespace; return nonzero if so. */
int copy_names,
struct obstack *obstack);
-extern void cp_set_block_scope (const struct symbol *symbol,
- struct block *block,
- struct obstack *obstack,
- const char *processing_current_prefix,
- int processing_has_namespace_info);
-
extern void cp_scan_for_anonymous_namespaces (const struct symbol *symbol,
struct objfile *objfile);
#include "cp-abi.h"
#include "cp-support.h"
#include "psympriv.h"
+#include "block.h"
#include "gdb_assert.h"
#include "gdb_string.h"
}
\f
+/* Record the namespace that the function defined by SYMBOL was
+ defined in, if necessary. BLOCK is the associated block; use
+ OBSTACK for allocation. */
+
+static void
+cp_set_block_scope (const struct symbol *symbol,
+ struct block *block,
+ struct obstack *obstack)
+{
+ if (SYMBOL_DEMANGLED_NAME (symbol) != NULL)
+ {
+ /* Try to figure out the appropriate namespace from the
+ demangled name. */
+
+ /* FIXME: carlton/2003-04-15: If the function in question is
+ a method of a class, the name will actually include the
+ name of the class as well. This should be harmless, but
+ is a little unfortunate. */
+
+ const char *name = SYMBOL_DEMANGLED_NAME (symbol);
+ unsigned int prefix_len = cp_entire_prefix_len (name);
+
+ block_set_scope (block,
+ obstack_copy0 (obstack, name, prefix_len),
+ obstack);
+ }
+}
+
/* This handles a single symbol from the symbol-file, building symbols
into a GDB symtab. It takes these arguments and an implicit argument.
/* For C++, set the block's scope. */
if (SYMBOL_LANGUAGE (new->name) == language_cplus)
- cp_set_block_scope (new->name, block, &objfile->objfile_obstack,
- "", 0);
+ cp_set_block_scope (new->name, block, &objfile->objfile_obstack);
/* May be switching to an assembler file which may not be using
block relative stabs, so reset the offset. */
/* For C++, set the block's scope. */
if (SYMBOL_LANGUAGE (new->name) == language_cplus)
cp_set_block_scope (new->name, block,
- &objfile->objfile_obstack,
- "", 0);
+ &objfile->objfile_obstack);
}
new = push_context (0, valu);
lowpc, highpc, objfile);
/* For C++, set the block's scope. */
- if (cu->language == language_cplus || cu->language == language_fortran)
- cp_set_block_scope (new->name, block, &objfile->objfile_obstack,
- determine_prefix (die, cu),
- processing_has_namespace_info);
+ if ((cu->language == language_cplus || cu->language == language_fortran)
+ && processing_has_namespace_info)
+ block_set_scope (block, determine_prefix (die, cu),
+ &objfile->objfile_obstack);
/* If we have address ranges, record them. */
dwarf2_record_block_ranges (die, block, baseaddr, cu);