[gdb/testsuite] Factor out lib/valgrind.exp
[external/binutils.git] / gdb / testsuite / gdb.base / vla-ptr.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2014-2018 Free Software Foundation, Inc.
4
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17
18 #define SIZE 5
19
20 void
21 foo (int n, int vla_ptr[n])
22 {
23   return;         /* foo_bp */
24 }
25
26 void
27 bar (int *vla_ptr)
28 {
29   return;         /* bar_bp */
30 }
31
32 void
33 vla_func (int n)
34 {
35   int vla[n];
36   typedef int typedef_vla[n];
37   typedef_vla td_vla;
38   int i;
39
40   for (i = 0; i < n; i++)
41     {
42       vla[i] = 2+i;
43       td_vla[i] = 4+i;
44     }
45
46   foo(n, vla);
47   bar(vla);
48
49   return;         /* vla_func_bp */
50 }
51
52 int
53 main (void)
54 {
55   vla_func(SIZE);
56
57   return 0;
58 }