mips-tdep: Make FCRs always 32-bit
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.opt / inline-locals.c
CommitLineData
618f726f 1/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
edb3359d
DJ
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or
6 (at your option) any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
15
5283e9e1
TT
16/* This is only ever run if it is compiled with a new-enough GCC, but
17 we don't want the compilation to fail if compiled by some other
18 compiler. */
19#ifdef __GNUC__
20#define ATTR __attribute__((always_inline))
21#else
22#define ATTR
23#endif
24
edb3359d 25int x, y;
a48847ee 26volatile int z = 0;
edb3359d
DJ
27volatile int result;
28volatile int *array_p;
29
30void bar(void);
31
5283e9e1 32inline ATTR int func1(int arg1)
edb3359d
DJ
33{
34 int array[64];
35 array_p = array;
36 array[0] = result;
37 array[1] = arg1;
38 bar ();
39 return x * y + array_p[0] * arg1;
40}
41
5283e9e1 42inline ATTR int func2(int arg2)
edb3359d
DJ
43{
44 return x * func1 (arg2);
45}
46
47int main (void)
48{
49 int val;
50
51 x = 7;
52 y = 8;
53 bar ();
54
55 val = func1 (result);
56 result = val;
57
58 val = func2 (result);
59 result = val;
60
61 return 0;
62}
This page took 0.796543 seconds and 4 git commands to generate.