1/* { dg-do compile } */
2/* { dg-options "-O2 -fdump-ipa-icf -fno-inline"  } */
3
4void destroy (void)
5{
6  __asm__ __volatile__ ("" : : : "memory");
7}
8
9void remove (void)
10{
11  __asm__ __volatile__ ("" : : : "memory");
12}
13
14void remove2 (void)
15{
16  __asm__ __volatile__ ("" : : : );
17}
18
19int main()
20{
21  destroy ();
22  remove ();
23  remove2 ();
24
25  return 0;
26}
27
28/* { dg-final { scan-ipa-dump "Semantic equality hit:remove->destroy" "icf"  } } */
29/* { dg-final { scan-ipa-dump "Equal symbols: 1" "icf"  } } */
30/* { dg-final { cleanup-ipa-dump "icf" } } */
31