| /* PR middle-end/96295 - -Wmaybe-uninitialized warning for range operator | |
| with reference to an empty struct | |
| { dg-do compile } | |
| { dg-options "-Wall" } | |
| { dg-require-effective-target c++11 } */ | |
| struct I | |
| { | |
| bool operator!= (const I&) const; | |
| void* operator* () const; | |
| I& operator++ (); | |
| }; | |
| struct A | |
| { | |
| I begin () const { return I (); } | |
| I end () const { return I (); } | |
| }; | |
| void f (void) | |
| { | |
| for (void *p : A ()) // { dg-bogus "\\\[-Wmaybe-uninitialized" } | |
| { | |
| (void)p; | |
| } | |
| } |