testsuite: update mangling
[official-gcc.git] / gcc / testsuite / g++.dg / cpp2a / array-conv7.C
blob1ea1a69c2ff6c2c98a702be424aab16f32e1e728
1 // PR c++/69531 - DR 1307, Overload resolution based on size of array init-list.
2 // { dg-do run { target c++20 } }
4 int f(int const(&)[]) { return 1; }
5 int f(int const(&)[2]) { return 2; }
7 int f2(int const(&)[]) { return 1; }
8 int f2(int const(&)[1]) { return 2; }
10 int f3(int const(&)[]) { return 1; }
11 int f3(int const(&)[1]) { return 2; }
12 int f3(int const(&)[2]) { return 3; }
14 int main ()
16   if (f ({}) != 1)
17     __builtin_abort ();
18   if (f ({1}) != 1)
19     __builtin_abort ();
20   if (f ({1, 2}) != 2)
21     __builtin_abort ();
23   if (f2 ({}) != 1)
24     __builtin_abort ();
25   if (f2 ({1}) != 2)
26     __builtin_abort ();
28   if (f3 ({}) != 1)
29     __builtin_abort ();
30   if (f3 ({1}) != 2)
31     __builtin_abort ();
32   if (f3 ({1, 2}) != 3)
33     __builtin_abort ();