diff options
author | Jason Merrill <jason@redhat.com> | 2018-06-11 17:49:30 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2018-06-11 17:49:30 -0400 |
commit | c7e2d7adf0822ea58ca3d6e86fdc06572088f986 (patch) | |
tree | 6b81eb9e289a0a562fcd8df80cef13ec5792d1c3 /gcc/testsuite | |
parent | 8731c0fbbd9be59e0e8165ec6ad800c79ac46e2a (diff) | |
download | gcc-c7e2d7adf0822ea58ca3d6e86fdc06572088f986.zip gcc-c7e2d7adf0822ea58ca3d6e86fdc06572088f986.tar.gz gcc-c7e2d7adf0822ea58ca3d6e86fdc06572088f986.tar.bz2 |
PR c++/85963 - -Wunused-but-set with ?: in template.
* pt.c (tsubst_copy_and_build) [COND_EXPR]: Call mark_rvalue_use.
From-SVN: r261458
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/g++.dg/warn/Wunused-var-34.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/warn/Wunused-var-34.C b/gcc/testsuite/g++.dg/warn/Wunused-var-34.C new file mode 100644 index 0000000..52c7151 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-var-34.C @@ -0,0 +1,27 @@ +// 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; +} + |