
-fno-rtti-data makes it so that vtables emitted in the current TU lack RTTI data. This means that dynamic_cast usually fails at runtime. Users of the existing cxx_rtti feature expect all of RTTI to work, not just some of it. Chromium bug for context: http://crbug.com/518191 llvm-svn: 244922
13 lines
350 B
C++
13 lines
350 B
C++
// RUN: %clang_cc1 -E %s -o - | FileCheck --check-prefix=CHECK-RTTI %s
|
|
// RUN: %clang_cc1 -E -fno-rtti %s -o - | FileCheck --check-prefix=CHECK-NO-RTTI %s
|
|
// RUN: %clang_cc1 -E -fno-rtti-data %s -o - | FileCheck --check-prefix=CHECK-NO-RTTI %s
|
|
|
|
#if __has_feature(cxx_rtti)
|
|
int foo();
|
|
#else
|
|
int bar();
|
|
#endif
|
|
|
|
// CHECK-RTTI: foo
|
|
// CHECK-NO-RTTI: bar
|