Open
Description
Reproducer:
https://godbolt.org/z/4vscKvhW9
template <typename T>
class I { };
struct R { R () {}; ~R () {}; I<int> r; };
struct T { T () {}; virtual ~T () {}; I<int> t; };
struct A : public R, virtual public T { A () {} I<int> a; void m1 (const I<int> &, const I<int> &); };
void A::m1 (const I<int> &x)
{
int w = 0;
#pragma omp parallel for reduction(|:w)
for (a = x; A::a < 10; a++)
w |= (1 << *A::a);
}