2a1532adb4b29e73b8b4b2986e219f754c8a453c
[openbsd] /
1 #include <bitset>
2 #include <stdio.h>
3
4 template<std::size_t N>
5 void fill(std::bitset<N> &b) {
6   b.set();
7   b[0] = b[1] = false;
8   for (std::size_t i = 2; i < N; ++i) {
9     for (std::size_t j = 2*i; j < N; j+=i)
10       b[j] = false;
11   }
12 }
13
14 template<std::size_t N>
15 void by_ref_and_ptr(std::bitset<N> &ref, std::bitset<N> *ptr) {
16     // Check ref and ptr
17     return;
18 }
19
20 int main() {
21   std::bitset<0> empty;
22   std::bitset<13> small;
23   fill(small);
24   std::bitset<200> large;
25   fill(large);
26   by_ref_and_ptr(small, &small); // break here
27   by_ref_and_ptr(large, &large);
28   return 0;
29 }