blob: de1f2a7e7630abc183ea9acc7411168463041252 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// { dg-do compile }
// Tests if case ranges (a GNU extension) correctly emit messages
// about overlapping ranges.
// { dg-options "" }
const int low = -2;
const int high = 15;
template <typename T>
T f2 (T i)
{
switch (i)
{
case low ... high : return i + 1; // { dg-error "previously" }
case 5 : return i + 2; // { dg-error "duplicate" }
default : return 0;
}
}
int f (int i)
{
switch (i) {
case 1 ... 10: return i + 1; // { dg-error "first entry" }
case 3 ... 5 : return i + 3; // { dg-error "duplicate" }
default: return f2 (i); // { dg-message "instantiated" }
}
}
|