| // { dg-do compile } | |
| class Signal | |
| { | |
| public: | |
| int m_Mode; | |
| }; | |
| class Ctx | |
| { | |
| public: | |
| bool m_Invert; | |
| void DoSomething(); | |
| }; | |
| class Test | |
| { | |
| void TestIce( Ctx& ctx, Signal* sig); | |
| }; | |
| void Test::TestIce( Ctx& ctx, Signal* sig) | |
| { | |
| int invert = false; | |
| if( ! ctx.m_Invert) | |
| invert = ! invert; | |
| switch( sig->m_Mode) | |
| { | |
| case 1: | |
| invert = ! invert; | |
| break; | |
| case 2: | |
| invert = true; | |
| break; | |
| } | |
| if( invert) | |
| ctx.DoSomething(); | |
| } |