Non-trivial type ... mapped message printed twice

Hi,
When building a simple program like below with the trunk Clang
I see a warning “warning: Non-trivial type …” printed twice. Is this
intentional?

#include

class A {
public:
A() {};
};

int main()
{
A a[100];
#pragma omp target teams distribute parallel for map(to: a[0:100])
for(int i=0; i<10; i++) {
}
}

First time it is printed when the code is compiled for the host, the second time when compjled for the device.

Best regards,
Alexey Bataev

Alexey,

Is it documented somewhere in the code as to the criteria of the triviality of a mapping?

It is documented in c++ standard.

Best regards,
Alexey Bataev