annotate gcc/testsuite/g++.dg/warn/Wunused-var-34.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 // PR c++/85963
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 // { dg-additional-options -Wall }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 template<typename T>
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 struct foo {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 T val, alpha;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 foo() : val(0), alpha(0) {}
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 template<typename T>
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 inline void bar(const foo<T>& A, const foo<T>& B, foo<T>& C) {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 const bool use_alpha = true;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 const T alpha = use_alpha ? (A.alpha * B.alpha) : T(0);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 C.val = A.val * B.val;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 C.alpha = alpha;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 int main() {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 foo<double> A,B,C;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 bar(A,B,C);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 return 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27