// PR c++/85963 // { dg-additional-options -Wall } template struct foo { T val, alpha; foo() : val(0), alpha(0) {} }; template inline void bar(const foo& A, const foo& B, foo& C) { const bool use_alpha = true; const T alpha = use_alpha ? (A.alpha * B.alpha) : T(0); C.val = A.val * B.val; C.alpha = alpha; } int main() { foo A,B,C; bar(A,B,C); return 0; }