This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/12936] New: function lookup class should not depend on itslinkage name


http://sourceware.org/bugzilla/show_bug.cgi?id=12936

           Summary: function lookup class should not depend on its linkage
                    name
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned@sourceware.org
        ReportedBy: jan.kratochvil@redhat.com


struct S {
  static void m (int x) {}
};
template<void (*T) (int)>
struct K {
  void f () { T (0); }
};
int main () {
  K<&S::m> k;
  k.f ();
}
------------------------------------------------------------------------------
K<&S::m>::f (this=0x7fffffffdc9f) at tmplmembernot.C:6
6      void f () { T (0); }
(gdb) p T
No symbol "T" in current context.
(gdb) ptype T
No symbol "T" in current context.

expected:
(gdb) ptype T
type = void (int)
 - `print T' is another problem - GDB PR c++/12933

cp_lookup_symbol_imports_or_template uses namespaces from
`SYMBOL_NATURAL_NAME (function)' which may come demangled from
DW_AT_linkage_name and it may not match parent
DW_TAG_structure_type->DW_AT_name such as due to:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49546

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]