Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / torture / pr71792.C
blob607774d755de99c2d3a407a981a5a31933b84419
1 // { dg-do run { target c++11 } }
2 // PR C++/71792
4 class some_class
6 public:
7   unsigned int np              : 4;
8   unsigned int nc              : 8;
9   unsigned int nc0             : 1;
12 template<bool what>
13 static void test_bug (const some_class &mp) {
14   if (what) {
15     int t = 0;
16     for (auto i = mp.nc0; i < mp.nc; i++) {
17       if (t != i) __builtin_abort ();
18       t++;
19     }
20   }
23 static void test_ok (const some_class &mp) {
24   int t = 0;
25   for (auto i = mp.nc0; i < mp.nc; i++) {
26     if (t != i) __builtin_abort ();
27     t++;
28   }
31 int main ()
33   some_class mp;
34   mp.nc0 = 0;
35   mp.nc = 9;
36   mp.np = 3;
38   test_bug<true> (mp);
39   test_ok (mp);
41   return 0;