* source.c (select_source_symtab): Make sure we skip namespace
authorLuis Machado <luisgpm@br.ibm.com>
Mon, 30 Jun 2008 13:52:07 +0000 (13:52 +0000)
committerLuis Machado <luisgpm@br.ibm.com>
Mon, 30 Jun 2008 13:52:07 +0000 (13:52 +0000)
        symtabs when showing cpp source code.

gdb/ChangeLog
gdb/source.c

index 32e09ac2477f11caedfee0023a3213e127e75cc0..cea722e10132c1024b0986e51745442fa8ece786 100644 (file)
@@ -1,3 +1,8 @@
+2008-06-30  Luis Machado  <luisgpm@br.ibm.com>
+
+       * source.c (select_source_symtab): Make sure we skip namespace
+       symtabs when showing cpp source code.
+
 2008-06-30  Hans-Peter Nilsson  <hp@axis.com>
 
        * MAINTAINERS (Authorized committers): Fix my email address.
index fc5fe0b0f168b57e9112e1a10bb94362ecd019d4..e0ae0b179fd8c3221b0c09ce10d7200629fa65c7 100644 (file)
@@ -250,7 +250,8 @@ select_source_symtab (struct symtab *s)
        return;
     }
 
-  /* All right; find the last file in the symtab list (ignoring .h's).  */
+  /* Alright; find the last file in the symtab list (ignoring .h's
+     and namespace symtabs).  */
 
   current_source_line = 1;
 
@@ -260,14 +261,15 @@ select_source_symtab (struct symtab *s)
        {
          const char *name = s->filename;
          int len = strlen (name);
-         if (!(len > 2 && strcmp(&name[len - 2], ".h") == 0))
+         if (!(len > 2 && (strcmp (&name[len - 2], ".h") == 0
+             || strcmp (name, "<<C++-namespaces>>") == 0)))
            current_source_symtab = s;
        }
     }
   if (current_source_symtab)
     return;
 
-  /* Howabout the partial symbol tables? */
+  /* How about the partial symbol tables?  */
 
   for (ofp = object_files; ofp != NULL; ofp = ofp->next)
     {
@@ -275,7 +277,8 @@ select_source_symtab (struct symtab *s)
        {
          const char *name = ps->filename;
          int len = strlen (name);
-         if (!(len > 2 && strcmp (&name[len - 2], ".h") == 0))
+         if (!(len > 2 && (strcmp (&name[len - 2], ".h") == 0
+             || strcmp (name, "<<C++-namespaces>>") == 0)))
            cs_pst = ps;
        }
     }