Home | History | Annotate | Line # | Download | only in gdb.base
      1 /* This testcase is part of GDB, the GNU debugger.
      2 
      3    Copyright 2018-2024 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   return 0;
     80 }
     81