Home | History | Annotate | Line # | Download | only in gdb.opt
      1 /* Copyright 2024 Free Software Foundation, Inc.
      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 
     16 #include "attributes.h"
     17 
     18 volatile int global = 0;
     19 
     20 __attribute__((noinline)) ATTRIBUTE_NOCLONE void
     21 foo (int arg)
     22 {
     23   global += arg;
     24 }
     25 
     26 inline __attribute__((always_inline)) int
     27 bar (int val)
     28 {
     29   if (global == val)
     30     return 1;
     31   foo (1);
     32   return 1;
     33 }
     34 
     35 int
     36 main (void)
     37 {
     38   if ((global && bar (1)) || bar (2))
     39     return 0;
     40   return 1;
     41 }
     42