1 /* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2018-2019 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 typedef int entier; 19 20 int info_qt_inc = 0; 21 entier info_qt_ent = 0; 22 23 static void 24 setup_done (void) 25 { 26 } 27 28 static void 29 setup (char arg_c, int arg_i, int arg_j) 30 { 31 char loc_arg_c = arg_c; 32 int loc_arg_i = arg_i; 33 int loc_arg_j = arg_j; 34 35 info_qt_inc += loc_arg_c + loc_arg_i + loc_arg_j; 36 setup_done (); 37 } 38 39 void info_fun1 (void) 40 { 41 info_qt_inc++; 42 info_qt_ent++; 43 } 44 45 int info_fun2 (char c) 46 { 47 info_qt_inc += c; 48 return info_qt_inc; 49 } 50 51 int info_fun2bis (char c) 52 { 53 info_qt_inc += c; 54 return info_qt_inc; 55 } 56 57 entier info_fun2xxx (char arg_c, int arg_i, int arg_j) 58 { 59 info_qt_inc += arg_c + arg_i + arg_j; 60 return info_qt_inc; 61 } 62 63 entier info_fun2yyy (char arg_c, int arg_i, int arg_j) 64 { 65 setup (arg_c, arg_i, arg_j); 66 info_qt_inc += arg_c + arg_i + arg_j; 67 return info_qt_inc; 68 } 69 70 int 71 main (int argc, char **argv, char **envp) 72 { 73 info_fun1 (); 74 (void) info_fun2 ('a'); 75 (void) info_fun2bis ('b'); 76 (void) info_fun2xxx ('c', 1, 2); 77 (void) info_fun2yyy ('d', 3, 4); 78 } 79