[PR c++/84702] ICE with default tmpl arg of overload set
[official-gcc.git] / gcc / testsuite / g++.dg / ext / case-range2.C
blobf1165adfad9f5b03096974927eb4bdd7d3f794a1
1 // { dg-do compile }
2 // Tests if case ranges (a GNU extension) correctly emit messages
3 // about overlapping ranges.
4 // { dg-options "" }
6 const int low = -2;
7 const int high = 15;
9 template <typename T>
10 T f2 (T i)
12   switch (i)
13   {
14     case low ... high : return i + 1;  // { dg-message "previously" }
15     case 5 : return i + 2;             // { dg-error "duplicate" }
16     default : return 0;
17   }
20 int f (int i)
22   switch (i) {
23     case 1 ... 10: return i + 1;       // { dg-message "first entry" }
24     case 3 ... 5 : return i + 3;       // { dg-error "duplicate" }
25     default: return f2 (i);            // { dg-message "required" }
26   }