/* Helper routines for D support in GDB.
- Copyright (C) 2014-2017 Free Software Foundation, Inc.
+ Copyright (C) 2014-2019 Free Software Foundation, Inc.
This file is part of GDB.
lang_this = lookup_language_this (language_def (language_d), block);
if (lang_this.symbol == NULL)
- return null_block_symbol;
+ return {};
type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (lang_this.symbol)));
classname = TYPE_NAME (type);
more that can be done. */
class_sym = lookup_global_symbol (classname.c_str (), block, domain);
if (class_sym.symbol == NULL)
- return null_block_symbol;
+ return {};
/* Look for a symbol named NESTED in this class. */
sym = d_lookup_nested_symbol (SYMBOL_TYPE (class_sym.symbol),
find_symbol_in_baseclass (struct type *parent_type, const char *name,
const struct block *block)
{
- struct block_symbol sym;
+ struct block_symbol sym = {};
int i;
- sym.symbol = NULL;
- sym.block = NULL;
-
for (i = 0; i < TYPE_N_BASECLASSES (parent_type); ++i)
{
struct type *base_type = TYPE_BASECLASS (parent_type, i);
case TYPE_CODE_MODULE:
{
int size;
- const char *parent_name = type_name_no_tag_or_error (saved_parent_type);
+ const char *parent_name = type_name_or_error (saved_parent_type);
struct block_symbol sym
= d_lookup_symbol_in_module (parent_name, nested_name,
block, VAR_DOMAIN, 0);
case TYPE_CODE_FUNC:
case TYPE_CODE_METHOD:
- return null_block_symbol;
+ return {};
default:
gdb_assert_not_reached ("called with non-aggregate type.");
}
}
- return null_block_symbol;
+ return {};
}
/* Searches for NAME in the current module, and by applying relevant
block = BLOCK_SUPERBLOCK (block);
}
- return null_block_symbol;
+ return {};
}
/* The D-specific version of name lookup for static and global names