mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-01-06 03:38:32 +00:00
* linespec.c (decode_line_internal): Don't call symtabs_from_filename
if we know we don't have a file name to look for.
This commit is contained in:
parent
fc1ab1a0ff
commit
136e1c3078
@ -1,3 +1,8 @@
|
||||
2012-01-17 Doug Evans <dje@google.com>
|
||||
|
||||
* linespec.c (decode_line_internal): Don't call symtabs_from_filename
|
||||
if we know we don't have a file name to look for.
|
||||
|
||||
2012-01-17 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* dwarf2-frame.c (dwarf2_frame_cfa): Throw NOT_AVAILABLE_ERROR, if
|
||||
|
@ -894,32 +894,44 @@ decode_line_internal (struct linespec_state *self, char **argptr)
|
||||
first_half = p = locate_first_half (argptr, &is_quote_enclosed);
|
||||
|
||||
/* First things first: if ARGPTR starts with a filename, get its
|
||||
symtab and strip the filename from ARGPTR. */
|
||||
TRY_CATCH (file_exception, RETURN_MASK_ERROR)
|
||||
{
|
||||
self->file_symtabs = symtabs_from_filename (argptr, p, is_quote_enclosed,
|
||||
&self->user_filename);
|
||||
}
|
||||
symtab and strip the filename from ARGPTR.
|
||||
Avoid calling symtab_from_filename if we know can,
|
||||
it can be expensive. */
|
||||
|
||||
if (VEC_empty (symtab_p, self->file_symtabs))
|
||||
if (*p != '\0')
|
||||
{
|
||||
TRY_CATCH (file_exception, RETURN_MASK_ERROR)
|
||||
{
|
||||
self->file_symtabs = symtabs_from_filename (argptr, p,
|
||||
is_quote_enclosed,
|
||||
&self->user_filename);
|
||||
}
|
||||
|
||||
if (file_exception.reason >= 0)
|
||||
{
|
||||
/* Check for single quotes on the non-filename part. */
|
||||
is_quoted = (**argptr
|
||||
&& strchr (get_gdb_completer_quote_characters (),
|
||||
**argptr) != NULL);
|
||||
if (is_quoted)
|
||||
end_quote = skip_quoted (*argptr);
|
||||
|
||||
/* Locate the next "half" of the linespec. */
|
||||
first_half = p = locate_first_half (argptr, &is_quote_enclosed);
|
||||
}
|
||||
|
||||
if (VEC_empty (symtab_p, self->file_symtabs))
|
||||
{
|
||||
/* A NULL entry means to use GLOBAL_DEFAULT_SYMTAB. */
|
||||
VEC_safe_push (symtab_p, self->file_symtabs, NULL);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* A NULL entry means to use GLOBAL_DEFAULT_SYMTAB. */
|
||||
VEC_safe_push (symtab_p, self->file_symtabs, NULL);
|
||||
}
|
||||
|
||||
if (file_exception.reason >= 0)
|
||||
{
|
||||
/* Check for single quotes on the non-filename part. */
|
||||
is_quoted = (**argptr
|
||||
&& strchr (get_gdb_completer_quote_characters (),
|
||||
**argptr) != NULL);
|
||||
if (is_quoted)
|
||||
end_quote = skip_quoted (*argptr);
|
||||
|
||||
/* Locate the next "half" of the linespec. */
|
||||
first_half = p = locate_first_half (argptr, &is_quote_enclosed);
|
||||
}
|
||||
|
||||
/* Check if this is an Objective-C method (anything that starts with
|
||||
a '+' or '-' and a '['). */
|
||||
if (is_objc_method_format (p))
|
||||
|
Loading…
Reference in New Issue
Block a user