OSDN Git Service

cp/ChangeLog:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / ext / case-range2.C
1 // { dg-do compile }
2 // Tests if case ranges (a GNU extension) correctly emit messages
3 // about overlapping ranges.
4 // { dg-options "" }
5
6 const int low = -2;
7 const int high = 15;
8
9 template <typename T>
10 T f2 (T i)
11 {
12   switch (i)
13   {
14     case low ... high : return i + 1;  // { dg-error "" }
15     case 5 : return i + 2;             // { dg-error "duplicate" }
16     default : return 0;
17   }
18 }
19
20 int f (int i)
21 {
22   switch (i) {
23     case 1 ... 10: return i + 1;       // { dg-error "" }
24     case 3 ... 5 : return i + 3;       // { dg-error "duplicate" }
25     default: return f2 (i);            // { dg-error "" }
26   }
27 }