1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-ipa-icf" } */
3
4 struct A
5 {
6 };
7 template <class L, class R> A operator%(L, R);
8 template <class A0, class A1, class A2, class A3>
9 void make_tuple (A0 &, A1, A2, A3);
10 A
bar(int p1,char p2,int p3,double p4)11 bar (int p1, char p2, int p3, double p4)
12 {
13 A a;
14 make_tuple (p1, p2, p3, p4);
15 return "int; char; string; double; " % a;
16 }
17 A
foo(int p1,char p2,int p3,double p4)18 foo (int p1, char p2, int p3, double p4)
19 {
20 A b;
21 make_tuple (p1, p2, p3, p4);
22 return "int; char; string; double; " % b;
23 }
24
25 /* { dg-final { scan-ipa-dump "Equal symbols: 1" "icf" } } */
26