summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-7.C
blob: 71ed6cae851b7a3a8731f496487e08c40ad86527 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* { dg-do compile } */
/* { dg-options "-Wstrict-aliasing=2 -O2" } */

int a[2];

double *foo1(void)
{
  return (double *)a; /* { dg-warning "strict-aliasing" } */
}

double *foo2(void)
{
  return (double *)&a[0]; /* { dg-warning "strict-aliasing" } */
}

__complex__ double x;
int *bar(void)
{
  return (int *)&__imag__ x; /* { dg-warning "strict-aliasing" } */
}