annotate gcc/testsuite/g++.dg/warn/Wtype-limits4.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 2b5abeee2509
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 // PR c++/94938
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 // { dg-additional-options "-Wtype-limits" }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 template<unsigned N> struct B { unsigned arr[N]; };
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 template<> struct B<1u> { int arr[10]; };
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 template <unsigned N> bool
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 foo(B<N> l)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 int i = 0;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 return l.arr[i] < 0;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 j()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 B<1u> b;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 foo (b);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 B<2u> b2;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 // I think that in this instantiation we could warn, but it breaks
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 // gcc bootstrap (marek 5/2020).
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 foo (b2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 }