// PR c++/85963 | |
// { dg-additional-options -Wall } | |
template<typename T> | |
struct foo { | |
T val, alpha; | |
foo() : val(0), alpha(0) {} | |
}; | |
template<typename T> | |
inline void bar(const foo<T>& A, const foo<T>& B, foo<T>& 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<double> A,B,C; | |
bar(A,B,C); | |
return 0; | |
} | |