blob: f1165adfad9f5b03096974927eb4bdd7d3f794a1 [file] [log] [blame]
// { 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-message "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-message "first entry" }
case 3 ... 5 : return i + 3; // { dg-error "duplicate" }
default: return f2 (i); // { dg-message "required" }
}
}