diff options
Diffstat (limited to 'tests/typedef.at')
-rw-r--r-- | tests/typedef.at | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/typedef.at b/tests/typedef.at new file mode 100644 index 0000000..4f4b862 --- /dev/null +++ b/tests/typedef.at @@ -0,0 +1,59 @@ +# This file is part of GNU cflow testsuite. -*- Autotest -*- +# Copyright (C) 2019 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_BANNER([typedefs]) + +CFLOW_OPT([-x -it],[ +CFLOW_TEST([structs with same members],[typedef typedef00], +[typedef struct x { + char **foo; +} X; +typedef struct y { + char **foo; +} Y; +], +[X t prog:3 +Y t prog:6 +]) + +CFLOW_TEST([structs with tags matching typedef],[typedef typedef01], +[typedef struct X { + char **foo; +} X; +typedef struct Y { + char **foo; +} Y; +], +[X t prog:3 +Y t prog:6 +]) + +CFLOW_TEST([typedef to pointer],[typedef typedef02], +[typedef struct X { + char **foo; +} **X; +], +[X t prog:3 +]) + +CFLOW_TEST([modifiers],[typedef typedef03], +[typedef struct X const *Y; +], +[Y t prog:1 +]) + +]) + |