https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108516
--- Comment #5 from Levo DeLellis <levo.delellis at gmail dot com> --- Here's a testcase for the same problem struct T2 { bool a, b; }; static T2 test(); int myfunc() { auto [a, b] = test(); return ((int)a<<1) + b; }