/* { dg-do compile } */ typedef bool Bool; struct CString { CString (const char * =__null); CString & operator += (const CString &); }; struct THotKey { short Key; Bool Control; Bool Shift; Bool Alt; }; THotKey m_HotKey; THotKey GetHotKey () { return m_HotKey; } void Serialize () { THotKey inHotKey (GetHotKey()); CString outCombinaison (inHotKey.Control ? ((inHotKey.Alt || inHotKey.Shift) ? "ctrl+" : "ctrl") : __null); outCombinaison += inHotKey.Alt ? inHotKey.Shift ? "alt+" : "alt" : ""; outCombinaison += inHotKey.Shift ? "shift" : ""; }