summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-8.C
blob: 497565eecdd0257598e5b18bca6500dca6725333 (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 -Wall" } */

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" } */
}