summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/20040223-1.c
blob: 71ddf099e7e60273f28355b4b002474e14ea6ee3 (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
33
34
35
36
37
38
39
40
41
/* GCC was not warning about taking the address of parameters or
   fields of struct parameters when returning them.  */
/* PR c/14156 */

/* { dg-do compile  } */


int * f( int a)
{
	return &a;/* { dg-warning "address" "" } */
}

int * g()
{
	int b = 0;
	return &b;/* { dg-warning "address" "" } */
}

struct ll
{
  int i;
};

int *h(struct ll c)
{
  return &c.i;/* { dg-warning "address" "" } */
}


struct ll d;

int *i()
{
  return &d.i;/* { dg-bogus "address" "" } */
}


int *j(struct ll *c)
{
  return &c->i; /* { dg-bogus "address" "" } */
}