summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ipa/ipa-icf-5.C
blob: 57dcb782fc40fd45861f65d76900f8a3f130d18b (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
/* { dg-do compile } */
/* { dg-require-visibility "" } */
/* { dg-require-alias "" } */
/* { dg-options "-O2 -fdump-ipa-icf" } */

struct test
{
  int a;
  float b;
};

extern const struct test myarray __attribute__ ((visibility("hidden")));
extern const struct test myarray_alias __attribute__ ((visibility("hidden")));

const struct test myarray = {1, 1.5f};

extern const struct test myarray_alias __attribute__ ((alias ("myarray")));

int main()
{
  return myarray.a - myarray_alias.a;
}

/* { dg-final { scan-ipa-dump "Equal symbols: 0" "icf"  } } */
/* { dg-final { cleanup-ipa-dump "icf" } } */