| // PR c++/35056 | |
| // { dg-do compile } | |
| // { dg-options "-O2" } | |
| enum EBorderStyle { bla = 1 }; | |
| inline bool compare_ref(const unsigned int &t, const EBorderStyle &u) | |
| { return t == u; } | |
| inline bool compare_val(const unsigned int t, const EBorderStyle u) | |
| { return t == u; } | |
| struct S { | |
| unsigned m_style : 4; | |
| }; | |
| void call_ref (S *s, EBorderStyle v) | |
| { if (!compare_ref(s->m_style, v)) s->m_style = v; } | |
| void call_val (S *s, EBorderStyle v) | |
| { if (!compare_val(s->m_style, v)) s->m_style = v; } |