| Index: gdb/testsuite/gdb.arch/amd64-tailcall-noret.c
|
| diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse.c b/gdb/testsuite/gdb.arch/amd64-tailcall-noret.c
|
| similarity index 75%
|
| copy from gdb/testsuite/gdb.reverse/singlejmp-reverse.c
|
| copy to gdb/testsuite/gdb.arch/amd64-tailcall-noret.c
|
| index c9ebf37451ebcb8ee7e7894526c4c153dbc04ba8..6a84c76a616aeb646d7b1d64a4ff069a23abc2c6 100644
|
| --- a/gdb/testsuite/gdb.reverse/singlejmp-reverse.c
|
| +++ b/gdb/testsuite/gdb.arch/amd64-tailcall-noret.c
|
| @@ -1,6 +1,6 @@
|
| /* This testcase is part of GDB, the GNU debugger.
|
|
|
| - Copyright 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,28 +15,32 @@
|
| You should have received a copy of the GNU General Public License
|
| along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
| -volatile int v;
|
| +#include <stdlib.h>
|
|
|
| -static __attribute__ ((noinline, noclone)) void
|
| -g (void)
|
| +volatile int v = 1;
|
| +
|
| +static __attribute__ ((noinline, noclone, noreturn)) void
|
| +noret (int x, ...)
|
| {
|
| - v = 2;
|
| + abort ();
|
| }
|
|
|
| static __attribute__ ((noinline, noclone)) void
|
| -f (void)
|
| +mayret (int x)
|
| {
|
| - g ();
|
| + if (v)
|
| + noret (x);
|
| }
|
|
|
| -extern void nodebug (void);
|
| +static __attribute__ ((noinline, noclone)) void
|
| +tailcall (int x)
|
| +{
|
| + mayret (x);
|
| +}
|
|
|
| int
|
| main (void)
|
| {
|
| - v = 1;
|
| - f ();
|
| - nodebug ();
|
| - v = 3;
|
| + tailcall (1);
|
| return 0;
|
| }
|
|
|