* linespec.c (decode_line_internal): Skip symtabs_from_filename

when we have a C++ qualified name.
This commit is contained in:
Tom Tromey 2012-02-10 17:31:34 +00:00
parent 4a2d9c0801
commit ff3c9849a7
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2012-02-10 Tom Tromey <tromey@redhat.com>
* linespec.c (decode_line_internal): Skip symtabs_from_filename
when we have a C++ qualified name.
2012-02-10 Pedro Alves <palves@redhat.com>
* inferior.c (inferior_pid_to_str): New.

View File

@ -912,9 +912,11 @@ decode_line_internal (struct linespec_state *self, char **argptr)
/* First things first: if ARGPTR starts with a filename, get its
symtab and strip the filename from ARGPTR.
Avoid calling symtab_from_filename if we know can,
it can be expensive. */
it can be expensive. We know we can avoid the call if we see a
single word (e.g., "break NAME") or if we see a qualified C++
name ("break QUAL::NAME"). */
if (*p != '\0')
if (*p != '\0' && !(p[0] == ':' && p[1] == ':'))
{
TRY_CATCH (file_exception, RETURN_MASK_ERROR)
{