blob: ef8f6d4546a0c0a848dbf519dc0ece1dc4436e08 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Wunused" } */
void
f1 (void)
{
int a; /* { dg-warning "set but not used" } */
int b;
int c;
c = 1;
a = b = c;
}
void
f2 (int x)
{
int a; /* { dg-warning "set but not used" } */
int b;
int c; /* { dg-warning "set but not used" } */
c = (a = x, b = x);
}
int
f3 (int x)
{
int a;
return a = x;
}
int
f4 (int x)
{
int a;
a = x;
return a;
}
void
f5 (int x)
{
int a[2]; /* { dg-warning "set but not used" } */
int b;
int *c, d[2];
c = d;
b = x;
a[b] = 1;
c[b] = 1;
}
int
f6 (int x)
{
int a[2];
int b;
b = x;
a[b] = 1;
return a[b];
}
void
f7 (int x, int *p)
{
int *a[2];
a[x] = p;
a[x][x] = x;
}
struct S { int i; };
void
f8 (void)
{
struct S s; /* { dg-warning "set but not used" } */
s.i = 6;
}
int
f9 (void)
{
struct S s;
s.i = 6;
return s.i;
}
struct S
f10 (void)
{
struct S s;
s.i = 6;
return s;
}
extern int foo11 (int *);
void
f11 (void)
{
int a[2];
foo11 (a);
}
void
f12 (void)
{
int a;
a = 1;
a; /* { dg-warning "no effect" } */
}
void
f13 (void (*x) (void))
{
void (*a) (void);
a = x;
a ();
}
void
f14 (void (*x) (void))
{
void (*a) (void); /* { dg-warning "set but not used" } */
a = x;
}
extern void foo15 (int *);
void
f15 (void)
{
int a[10];
int *b = a + 2;
foo15 (b);
}
extern void foo16 (int **);
void
f16 (void)
{
int a[10];
int *b[] = { a, a + 2 };
foo16 (b);
}
void
f17 (int x)
{
long a; /* { dg-warning "set but not used" } */
int b;
a = b = x;
}
void
f18 (int x)
{
int a; /* { dg-warning "set but not used" } */
int b;
a = (char) (b = x);
}
int
f19 (int x, int y, int z)
{
int a;
int b;
a = x;
b = y;
return z ? a : b;
}
int *
f20 (int x)
{
static int a[] = { 3, 4, 5, 6 };
static int b[] = { 4, 5, 6, 7 };
static int c[] = { 5, 6, 7, 8 }; /* { dg-warning "set but not used" } */
c[1] = 1;
return x ? a : b;
}