1 // RUN: %clang_cc1 -fsyntax-only -verify %s
5 (void)typeid(int); // expected-error {{you need to include <typeinfo> before using the 'typeid' operator}}
9 struct type_info
{ const char *name
; };
17 struct X
; // expected-note 3{{forward declaration}}
20 (void)typeid(X
); // expected-error{{'typeid' of incomplete type 'X'}}
21 (void)typeid(X
&); // expected-error{{'typeid' of incomplete type 'X'}}
22 (void)typeid(x
); // expected-error{{'typeid' of incomplete type 'X'}}
27 typeid(V
); // expected-error{{'typeid' of variably modified type 'char[i]'}}
28 typeid(char [i
]); // expected-error{{'typeid' of variably modified type 'char[i]'}}
31 // expected-note@+1 {{read of object 'typeid(int).name' whose value is not known}}
32 constexpr const char *name
= typeid(int).name
; // expected-error {{constant expression}}