xref: /llvm-project/clang/test/SemaCXX/type-traits-incomplete.cpp (revision 98e674c9f16d677d95c67bc130e267fae331e43c)
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 struct S; // expected-note 6 {{forward declaration of 'S'}}
4 
f()5 void f() {
6   __is_pod(S); // expected-error{{incomplete type 'S' used in type trait expression}}
7   __is_pod(S[]); // expected-error{{incomplete type 'S' used in type trait expression}}
8 
9   __is_trivially_copyable(S); // expected-error{{incomplete type 'S' used in type trait expression}}
10   __is_trivially_copyable(S[]); // expected-error{{incomplete type 'S' used in type trait expression}}
11 
12   __is_trivially_relocatable(S); // expected-error{{incomplete type 'S' used in type trait expression}}
13   __is_trivially_relocatable(S[]); // expected-error{{incomplete type 'S' used in type trait expression}}
14 }
15