1 /* This testcase is part of GDB, the GNU debugger.
3 It was copied from gcc repo, gcc/testsuite/gcc.target/aarch64/eh_return.c.
5 Copyright 2020-2023 Free Software Foundation, Inc.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 int val
, test
, failed
;
30 val
= (int)(long)p
& 7;
38 void *q
= __builtin_alloca (x
);
40 __builtin_eh_return (0, p
);
44 eh2a (int a
,int b
,int c
,int d
,int e
,int f
,int g
,int h
, void *p
)
46 val
= a
+ b
+ c
+ d
+ e
+ f
+ g
+ h
+ (int)(long)p
& 7;
52 eh2a (val
, val
, val
, val
, val
, val
, val
, val
, p
);
53 __builtin_eh_return (0, p
);
76 eh1 (continuation
, 100);
95 if (failed
|| test
!= 2)