Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(531)

Unified Diff: gdb/testsuite/gdb.cp/exceptprint.cc

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/testsuite/gdb.cp/exception.exp ('k') | gdb/testsuite/gdb.cp/exceptprint.exp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/testsuite/gdb.cp/exceptprint.cc
diff --git a/gdb/testsuite/gdb.threads/thread-execl.c b/gdb/testsuite/gdb.cp/exceptprint.cc
similarity index 63%
copy from gdb/testsuite/gdb.threads/thread-execl.c
copy to gdb/testsuite/gdb.cp/exceptprint.cc
index 594e615eff41d8bfd02be020f0c90890e59a8c6f..994b5010d69d77e2ff24c73fe0f39cc900aa7056 100644
--- a/gdb/testsuite/gdb.threads/thread-execl.c
+++ b/gdb/testsuite/gdb.cp/exceptprint.cc
@@ -1,6 +1,6 @@
/* This testcase is part of GDB, the GNU debugger.
- Copyright 2009-2012 Free Software Foundation, Inc.
+ Copyright 2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,34 +15,51 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include <pthread.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-static const char *image;
+template<typename T>
+void
+throwit (T val)
+{
+ throw val;
+}
-void *
-thread_execler (void *arg)
+template<typename T>
+void
+rethrowit (T val)
{
- /* Exec ourselves again. */
- if (execl (image, image, NULL) == -1)
+ try
{
- perror ("execl");
- abort ();
+ try
+ {
+ throwit (val);
+ }
+ catch (...)
+ {
+ throw;
+ }
+ }
+ catch (...)
+ {
+ // Ignore.
}
-
- return NULL;
}
+struct maude
+{
+ int mv;
+
+ maude (int x) : mv (x) { }
+};
+
int
main (int argc, char **argv)
{
- pthread_t thread;
-
- image = argv[0];
+ maude mm (77);
+ maude &mmm (mm);
- pthread_create (&thread, NULL, thread_execler, NULL);
- pthread_join (thread, NULL);
+ rethrowit ("hi bob");
+ rethrowit (23);
+ rethrowit (mm);
+ rethrowit (mmm);
return 0;
}
« no previous file with comments | « gdb/testsuite/gdb.cp/exception.exp ('k') | gdb/testsuite/gdb.cp/exceptprint.exp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698