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