// RUN: %clang_cc1 -fsyntax-only -verify %s

void f()
{
  (void)typeid(int); // expected-error {{you need to include <typeinfo> before using the 'typeid' operator}}
}

namespace std {
  struct type_info { const char *name; };
}

void g()
{
  (void)typeid(int);
}

struct X; // expected-note 3{{forward declaration}}

void g1(X &x) {
  (void)typeid(X); // expected-error{{'typeid' of incomplete type 'X'}}
  (void)typeid(X&); // expected-error{{'typeid' of incomplete type 'X'}}
  (void)typeid(x); // expected-error{{'typeid' of incomplete type 'X'}}
}

void h(int i) {
  char V[i];
  typeid(V);        // expected-error{{'typeid' of variably modified type 'char [i]'}}
  typeid(char [i]); // expected-error{{'typeid' of variably modified type 'char [i]'}}
}

// expected-note@+1 {{read of object 'typeid(int).name' whose value is not known}}
constexpr const char *name = typeid(int).name; // expected-error {{constant expression}}
