Home | History | Annotate | Download | only in SemaCXX
      1 // RUN: %clang_cc1 -fsyntax-only -verify -fno-rtti %s
      2 
      3 namespace std {
      4   class type_info;
      5 }
      6 
      7 void f()
      8 {
      9   (void)typeid(int); // expected-error {{cannot use typeid with -fno-rtti}}
     10 }
     11 
     12 namespace {
     13 struct A {
     14   virtual ~A(){};
     15 };
     16 
     17 struct B : public A {
     18   B() : A() {}
     19 };
     20 }
     21 
     22 bool isa_B(A *a) {
     23   return dynamic_cast<B *>(a) != 0; // expected-error {{cannot use dynamic_cast with -fno-rtti}}
     24 }
     25 
     26 void* getMostDerived(A* a) {
     27   // This cast does not use RTTI.
     28   return dynamic_cast<void *>(a);
     29 }
     30