public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/12936] New: function lookup class should not depend on its linkage name
@ 2011-06-27 15:03 jan.kratochvil at redhat dot com
2011-11-18 19:45 ` [Bug c++/12936] " tromey at redhat dot com
0 siblings, 1 reply; 2+ messages in thread
From: jan.kratochvil at redhat dot com @ 2011-06-27 15:03 UTC (permalink / raw)
To: gdb-prs
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.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug c++/12936] function lookup class should not depend on its linkage name
2011-06-27 15:03 [Bug c++/12936] New: function lookup class should not depend on its linkage name jan.kratochvil at redhat dot com
@ 2011-11-18 19:45 ` tromey at redhat dot com
0 siblings, 0 replies; 2+ messages in thread
From: tromey at redhat dot com @ 2011-11-18 19:45 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=12936
Tom Tromey <tromey at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at redhat dot com
--- Comment #1 from Tom Tromey <tromey at redhat dot com> 2011-11-18 19:45:18 UTC ---
It seems that the class here has two different names.
The function's canonical name is K<&S::m>::func().
But, the class is actually named K<S::m>.
(gdb) ptype K<&S::m>
No symbol "K<&S::m>" in current context.
(gdb) ptype K<S::m>
type = struct K<S::m> {
public:
void f(void);
}
Template parameter lookup works by peeling off the class name
(which is in itself bogus).
--
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.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-11-18 19:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-27 15:03 [Bug c++/12936] New: function lookup class should not depend on its linkage name jan.kratochvil at redhat dot com
2011-11-18 19:45 ` [Bug c++/12936] " tromey at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).