summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20040917-1.c
blob: 73bc6c6479c666e81a4d1d4c8bed6866bd7875d5 (plain)
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
/* submitted by kenneth zadeck */

static int test_var;

/* the idea here is that not only is inlinable, inlinable but since it
   is static, the cgraph node will not be marked as output.  The
   current version of the code ignores these cgraph nodes.  */

void not_inlinable()  __attribute__((noinline));

static void  
inlinable ()
{
  test_var = -10;
}

void 
not_inlinable ()
{
  inlinable();
}

main ()
{
  test_var = 10;
  /* Variable test_var should be considered call-clobbered by the call
     to not_inlinable().  */
  not_inlinable ();
  if (test_var == 10)
    abort ();
  return 0;
}