public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/14186] New: const volatile is ignored for TYPE_INSTANCE @ 2012-05-30 22:22 jan.kratochvil at redhat dot com 2012-06-19 20:42 ` [Bug c++/14186] " tromey at redhat dot com 2012-06-20 14:56 ` tromey at redhat dot com 0 siblings, 2 replies; 3+ messages in thread From: jan.kratochvil at redhat dot com @ 2012-05-30 22:22 UTC (permalink / raw) To: gdb-prs http://sourceware.org/bugzilla/show_bug.cgi?id=14186 Bug #: 14186 Summary: const volatile is ignored for TYPE_INSTANCE Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned@sourceware.org ReportedBy: jan.kratochvil@redhat.com Classification: Unclassified Trailing const or volatile get parsed by they are ignored. Output $3 should match $2, not $1. p 'CV::m(int)' $1 = {void (CV * const, CV::t)} 0x400944 <CV::m(int)> p 'CV::m(int) const' $2 = {void (const CV * const, CV::t)} 0x400952 <CV::m(int) const> p CV::m(int) const $3 = {void (CV * const, CV::t)} 0x400944 <CV::m(int)> KFAIL: gdb.cp/cpexprs.exp: p CV::m(int) const (PRMS: gdb/9999) former c-exp.y line: exp : exp '(' nonempty_typelist ')' const_or_volatile or new line: exp : exp '(' /* This is to save the value of arglist_len being accumulated by an outer function call. */ { start_arglist (); } arglist_final ')' const_or_volatile %prec ARROW just ignore that 'const_or_volatile'. -- 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] 3+ messages in thread
* [Bug c++/14186] const volatile is ignored for TYPE_INSTANCE 2012-05-30 22:22 [Bug c++/14186] New: const volatile is ignored for TYPE_INSTANCE jan.kratochvil at redhat dot com @ 2012-06-19 20:42 ` tromey at redhat dot com 2012-06-20 14:56 ` tromey at redhat dot com 1 sibling, 0 replies; 3+ messages in thread From: tromey at redhat dot com @ 2012-06-19 20:42 UTC (permalink / raw) To: gdb-prs http://sourceware.org/bugzilla/show_bug.cgi?id=14186 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> 2012-06-19 20:42:16 UTC --- I looked into this a bit. I have a partial patch. It is turning out to be pretty ugly to pass the cv-qualifiers from the parser down through OP_SCOPE to value_aggregate_elt. -- 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] 3+ messages in thread
* [Bug c++/14186] const volatile is ignored for TYPE_INSTANCE 2012-05-30 22:22 [Bug c++/14186] New: const volatile is ignored for TYPE_INSTANCE jan.kratochvil at redhat dot com 2012-06-19 20:42 ` [Bug c++/14186] " tromey at redhat dot com @ 2012-06-20 14:56 ` tromey at redhat dot com 1 sibling, 0 replies; 3+ messages in thread From: tromey at redhat dot com @ 2012-06-20 14:56 UTC (permalink / raw) To: gdb-prs http://sourceware.org/bugzilla/show_bug.cgi?id=14186 --- Comment #2 from Tom Tromey <tromey at redhat dot com> 2012-06-20 14:55:38 UTC --- Created attachment 6461 --> http://sourceware.org/bugzilla/attachment.cgi?id=6461 start of a patch Here's the start of a patch. It has some unnecessary stuff in it, since I was hacking around a bit. But some parts should be ok, like the c-exp.y change. The TYPE_INSTANCE code seems very suspect to me. The parser production just uses 'exp' -- but this means all kinds of weird things can be parsed here. (On further reflection I wish I hadn't allowed this extension...) Also the code in eval.c does not use cleanups, so it can leak memory on errors. The fundamental problem I hit is that rank_one_type does not consider cv-qualifiers. So, even after getting the qualifiers all the way through, we still get the wrong answer; and I didn't want to try fixing this problem yet. The cv-qualifier problem could be hacked around in compare_parameters, but that seemed too hackish for me. -- 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] 3+ messages in thread
end of thread, other threads:[~2012-06-20 14:56 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-05-30 22:22 [Bug c++/14186] New: const volatile is ignored for TYPE_INSTANCE jan.kratochvil at redhat dot com 2012-06-19 20:42 ` [Bug c++/14186] " tromey at redhat dot com 2012-06-20 14:56 ` 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).