30 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-unknown-linux -fsyntax-only -verify -fno-rtti %s2 3namespace std {4 class type_info;5}6 7void f()8{9 (void)typeid(int); // expected-error {{use of typeid requires -frtti}}10}11 12namespace {13struct A {14 virtual ~A(){};15};16 17struct B : public A {18 B() : A() {}19};20}21 22bool isa_B(A *a) {23 return dynamic_cast<B *>(a) != 0; // expected-error {{use of dynamic_cast requires -frtti}}24}25 26void* getMostDerived(A* a) {27 // This cast does not use RTTI.28 return dynamic_cast<void *>(a);29}30