https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68978
Bug ID: 68978 Summary: [6 Regression] bogus error: lvalue required as left operand of assignment Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Target Milestone: --- Boost-1.60 fails to compile: markus@x4 tmp % cat test.ii template <typename T> int toi() { int i = 0, c = 0, radix = 10, max = 0x7fffffff; if (max < ((i *= radix) += c)) return 0; return i; } markus@x4 tmp % g++ -c test.ii test.ii: In function ‘int toi()’: test.ii:3:30: error: lvalue required as left operand of assignment if (max < ((i *= radix) += c)) ^