public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/12213] New: operator() does not work
@ 2010-11-12 21:23 tromey at redhat dot com
2013-10-31 19:30 ` [Bug c++/12213] " tromey at redhat dot com
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: tromey at redhat dot com @ 2010-11-12 21:23 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=12213
Summary: operator() does not work
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned@sourceware.org
ReportedBy: tromey@redhat.com
C++ operator() overloading does not work in gdb.
Try this program:
struct S {
int operator() (int x) { return x + 5; }
};
int main () {
S s;
return s(23);
}
When I try "print s(23)", I get:
(gdb) p s(23)
Invalid data type for function to be called.
--
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] 5+ messages in thread
* [Bug c++/12213] operator() does not work
2010-11-12 21:23 [Bug c++/12213] New: operator() does not work tromey at redhat dot com
@ 2013-10-31 19:30 ` tromey at redhat dot com
2023-12-28 11:48 ` ssbssa at sourceware dot org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: tromey at redhat dot com @ 2013-10-31 19:30 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=12213
Tom Tromey <tromey at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |16106
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/12213] operator() does not work
2010-11-12 21:23 [Bug c++/12213] New: operator() does not work tromey at redhat dot com
2013-10-31 19:30 ` [Bug c++/12213] " tromey at redhat dot com
@ 2023-12-28 11:48 ` ssbssa at sourceware dot org
2024-06-12 13:26 ` cvs-commit at gcc dot gnu.org
2024-06-12 13:28 ` ssbssa at sourceware dot org
3 siblings, 0 replies; 5+ messages in thread
From: ssbssa at sourceware dot org @ 2023-12-28 11:48 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=12213
Hannes Domani <ssbssa at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ssbssa at sourceware dot org
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/12213] operator() does not work
2010-11-12 21:23 [Bug c++/12213] New: operator() does not work tromey at redhat dot com
2013-10-31 19:30 ` [Bug c++/12213] " tromey at redhat dot com
2023-12-28 11:48 ` ssbssa at sourceware dot org
@ 2024-06-12 13:26 ` cvs-commit at gcc dot gnu.org
2024-06-12 13:28 ` ssbssa at sourceware dot org
3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-06-12 13:26 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=12213
--- Comment #1 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Hannes Domani <ssbssa@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=292b9a302933418abcb8b76b23e83af8028c659a
commit 292b9a302933418abcb8b76b23e83af8028c659a
Author: Hannes Domani <ssbssa@yahoo.de>
Date: Wed Jun 12 15:24:02 2024 +0200
Allow calling of user-defined function call operators
Currently it's not possible to call user-defined function call
operators, at least not without specifying operator() directly:
```
(gdb) l 1
1 struct S {
2 int operator() (int x) { return x + 5; }
3 };
4
5 int main () {
6 S s;
7
8 return s(23);
9 }
(gdb) p s(10)
Invalid data type for function to be called.
(gdb) p s.operator()(10)
$1 = 15
```
This now looks if an user-defined call operator is available when
trying to 'call' a struct value, and calls it instead, making this
possible:
```
(gdb) p s(10)
$1 = 15
```
The change in operation::evaluate_funcall is to make sure the type
fields are only used for function types, only they use them as the
argument types.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=12213
Approved-By: Tom Tromey <tom@tromey.com>
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/12213] operator() does not work
2010-11-12 21:23 [Bug c++/12213] New: operator() does not work tromey at redhat dot com
` (2 preceding siblings ...)
2024-06-12 13:26 ` cvs-commit at gcc dot gnu.org
@ 2024-06-12 13:28 ` ssbssa at sourceware dot org
3 siblings, 0 replies; 5+ messages in thread
From: ssbssa at sourceware dot org @ 2024-06-12 13:28 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=12213
Hannes Domani <ssbssa at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |16.1
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #2 from Hannes Domani <ssbssa at sourceware dot org> ---
Fixed.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-06-12 13:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-12 21:23 [Bug c++/12213] New: operator() does not work tromey at redhat dot com
2013-10-31 19:30 ` [Bug c++/12213] " tromey at redhat dot com
2023-12-28 11:48 ` ssbssa at sourceware dot org
2024-06-12 13:26 ` cvs-commit at gcc dot gnu.org
2024-06-12 13:28 ` ssbssa at sourceware dot org
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).