public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/13588] New: catch throw and specific exceptions
@ 2012-01-11 18:35 tromey at redhat dot com
  2013-02-19  8:15 ` [Bug c++/13588] " noelgrandin at gmail dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: tromey at redhat dot com @ 2012-01-11 18:35 UTC (permalink / raw)
  To: gdb-prs

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

             Bug #: 13588
           Summary: catch throw and specific exceptions
           Product: gdb
           Version: unknown
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: c++
        AssignedTo: unassigned@sourceware.org
        ReportedBy: tromey@redhat.com
    Classification: Unclassified


At one point, "catch catch" and "catch throw" were documented
as taking an argument that would filter exceptions by type.
This was never implemented.
However, it would be very useful to have.

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
@ 2013-02-19  8:15 ` noelgrandin at gmail dot com
  2013-02-19  8:29 ` vmiklos at suse dot cz
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: noelgrandin at gmail dot com @ 2013-02-19  8:15 UTC (permalink / raw)
  To: gdb-prs

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

Noel Grandin <noelgrandin at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |noelgrandin at gmail dot
                   |                            |com

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
  2013-02-19  8:15 ` [Bug c++/13588] " noelgrandin at gmail dot com
@ 2013-02-19  8:29 ` vmiklos at suse dot cz
  2013-02-20 17:02 ` tromey at redhat dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vmiklos at suse dot cz @ 2013-02-19  8:29 UTC (permalink / raw)
  To: gdb-prs

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

Miklos Vajna <vmiklos at suse dot cz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmiklos at suse dot cz

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
  2013-02-19  8:15 ` [Bug c++/13588] " noelgrandin at gmail dot com
  2013-02-19  8:29 ` vmiklos at suse dot cz
@ 2013-02-20 17:02 ` tromey at redhat dot com
  2013-02-22 16:05 ` tromey at redhat dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at redhat dot com @ 2013-02-20 17:02 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #1 from Tom Tromey <tromey at redhat dot com> 2013-02-20 17:02:18 UTC ---
For "catch throw" it seems like we could get the needed
info relatively easily, by extracting the typeinfo argument
to __cxa_throw:

extern "C" void
__cxxabiv1::__cxa_throw (void *obj, std::type_info *tinfo,
             void (_GLIBCXX_CDTOR_CALLABI *dest) (void *))


It is less clear how to get this for "catch catch", though,
and this also doesn't handle re-throws.

Adding some SDT probes in libsupc++ would be simpler.

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
                   ` (2 preceding siblings ...)
  2013-02-20 17:02 ` tromey at redhat dot com
@ 2013-02-22 16:05 ` tromey at redhat dot com
  2013-02-22 19:48 ` tromey at redhat dot com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at redhat dot com @ 2013-02-22 16:05 UTC (permalink / raw)
  To: gdb-prs

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

Tom Tromey <tromey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |archer

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
                   ` (3 preceding siblings ...)
  2013-02-22 16:05 ` tromey at redhat dot com
@ 2013-02-22 19:48 ` tromey at redhat dot com
  2013-02-27 20:36 ` tromey at redhat dot com
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at redhat dot com @ 2013-02-22 19:48 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #2 from Tom Tromey <tromey at redhat dot com> 2013-02-22 19:48:37 UTC ---
See also PR 15176.

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
                   ` (4 preceding siblings ...)
  2013-02-22 19:48 ` tromey at redhat dot com
@ 2013-02-27 20:36 ` tromey at redhat dot com
  2013-04-15 18:13 ` cvs-commit at gcc dot gnu.org
  2013-04-15 18:17 ` tromey at redhat dot com
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at redhat dot com @ 2013-02-27 20:36 UTC (permalink / raw)
  To: gdb-prs

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

Tom Tromey <tromey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at sourceware    |tromey at redhat dot com
                   |dot org                     |

--- Comment #3 from Tom Tromey <tromey at redhat dot com> 2013-02-27 20:36:34 UTC ---
Testing a patch.

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
                   ` (5 preceding siblings ...)
  2013-02-27 20:36 ` tromey at redhat dot com
@ 2013-04-15 18:13 ` cvs-commit at gcc dot gnu.org
  2013-04-15 18:17 ` tromey at redhat dot com
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2013-04-15 18:13 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> 2013-04-15 18:13:02 UTC ---
CVSROOT:    /cvs/src
Module name:    src
Changes by:    tromey@sourceware.org    2013-04-15 18:13:01

Modified files:
    gdb            : ChangeLog NEWS break-catch-throw.c cp-abi.c 
                     cp-abi.h gdb_regex.h gnu-v3-abi.c probe.c 
                     utils.c 
    gdb/doc        : ChangeLog gdb.texinfo 
    gdb/testsuite  : ChangeLog 
    gdb/testsuite/gdb.cp: exceptprint.exp 

Log message:
    PR c++/13588:
    * NEWS: Update.
    * break-catch-throw.c (struct exception_catchpoint)
    <exception_rx, pattern>: New fields.
    (fetch_probe_arguments, dtor_exception_catchpoint)
    (check_status_exception_catchpoint)
    (print_one_detail_exception_catchpoint): New functions.
    (handle_gnu_v3_exceptions): Add "except_rx" argument.
    Compile regular expression if needed.
    (extract_exception_regexp): New function.
    (catch_exception_command_1): Use extract_exception_regexp.
    (compute_exception): Use fetch_probe_arguments.
    (initialize_throw_catchpoint_ops): Set dtor, print_one_detail,
    and check_status fields.
    * cp-abi.c (cplus_typename_from_type_info): New function.
    * cp-abi.h (cplus_typename_from_type_info): Declare.
    (struct cp_abi_ops) <get_typename_from_type_info>: New field.
    * gdb_regex.h (compile_rx_or_error): Declare.
    * gnu-v3-abi.c (gnuv3_get_typename_from_type_info): Update
    comment.
    (init_gnuv3_ops): Set get_type_from_type_info field.
    * probe.c (compile_rx_or_error): Move...
    * utils.c (compile_rx_or_error): ... here.
    gdb/doc
    * gdb.texinfo (Set Catchpoints): Document regexp syntax for
    exception catchpoints.
    gdb/testsuite
    * gdb.cp/exceptprint.exp: Add regexp catchpoint tests.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.15417&r2=1.15418
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/NEWS.diff?cvsroot=src&r1=1.590&r2=1.591
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/break-catch-throw.c.diff?cvsroot=src&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/cp-abi.c.diff?cvsroot=src&r1=1.42&r2=1.43
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/cp-abi.h.diff?cvsroot=src&r1=1.27&r2=1.28
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdb_regex.h.diff?cvsroot=src&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gnu-v3-abi.c.diff?cvsroot=src&r1=1.84&r2=1.85
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/probe.c.diff?cvsroot=src&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/utils.c.diff?cvsroot=src&r1=1.297&r2=1.298
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/doc/ChangeLog.diff?cvsroot=src&r1=1.1446&r2=1.1447
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/doc/gdb.texinfo.diff?cvsroot=src&r1=1.1080&r2=1.1081
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.3626&r2=1.3627
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/exceptprint.exp.diff?cvsroot=src&r1=1.1&r2=1.2

-- 
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] 9+ messages in thread

* [Bug c++/13588] catch throw and specific exceptions
  2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
                   ` (6 preceding siblings ...)
  2013-04-15 18:13 ` cvs-commit at gcc dot gnu.org
@ 2013-04-15 18:17 ` tromey at redhat dot com
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at redhat dot com @ 2013-04-15 18:17 UTC (permalink / raw)
  To: gdb-prs

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

Tom Tromey <tromey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |7.7

--- Comment #5 from Tom Tromey <tromey at redhat dot com> 2013-04-15 18:17:34 UTC ---
Fix checked in.

-- 
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] 9+ messages in thread

end of thread, other threads:[~2013-04-15 18:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-11 18:35 [Bug c++/13588] New: catch throw and specific exceptions tromey at redhat dot com
2013-02-19  8:15 ` [Bug c++/13588] " noelgrandin at gmail dot com
2013-02-19  8:29 ` vmiklos at suse dot cz
2013-02-20 17:02 ` tromey at redhat dot com
2013-02-22 16:05 ` tromey at redhat dot com
2013-02-22 19:48 ` tromey at redhat dot com
2013-02-27 20:36 ` tromey at redhat dot com
2013-04-15 18:13 ` cvs-commit at gcc dot gnu.org
2013-04-15 18:17 ` 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).