1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
# This file is part of GNU cflow testsuite. -*- Autotest -*-
# Copyright (C) 2005-2025 Sergey Poznyakoff
#
# 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 the Free Software Foundation; either version 3, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AT_SETUP([included symbols])
AT_KEYWORDS([include])
AT_DATA([prog],[
int a;
long _b;
static int c;
static void
_bar(int x)
{
a = x;
}
int
foo(int y)
{
_b = y;
c = y;
_bar();
return 1;
}
int
main()
{
static int d = foo(2);
return d;
}
])
CFLOW_OPT([-v],[
CFLOW_CHECK_PROG([prog],
[main() <int main () at prog:22>:
foo() <int foo (int y) at prog:13>:
])])
CFLOW_OPT([-v -i_],[
CFLOW_CHECK_PROG([prog],
[main() <int main () at prog:22>:
foo() <int foo (int y) at prog:13>:
_bar() <void _bar (int x) at prog:7>:
])])
CFLOW_OPT([-v -ix],[
CFLOW_CHECK_PROG([prog],
[main() <int main () at prog:22>:
foo() <int foo (int y) at prog:13>:
c <int c at prog:4>
d <int d at prog:24>
])])
CFLOW_OPT([-v -ix_],[
CFLOW_CHECK_PROG([prog],
[main() <int main () at prog:22>:
foo() <int foo (int y) at prog:13>:
_b <long _b at prog:3>
c <int c at prog:4>
_bar() <void _bar (int x) at prog:7>:
a <int a at prog:2>
d <int d at prog:24>
])])
CFLOW_OPT([-v -ix_ -i^s],[
CFLOW_CHECK_PROG([prog],
[main() <int main () at prog:22>:
foo() <int foo (int y) at prog:13>:
_b <long _b at prog:3>
])])
AT_CLEANUP
|