You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
480 B
21 lines
480 B
// RUN: %clang_cc1 -std=c++11 -fsanitize=vptr -emit-llvm %s -o - -triple wasm32-unknown-emscripten | FileCheck %s
|
|
|
|
struct S {
|
|
virtual ~S() {}
|
|
int a;
|
|
};
|
|
|
|
struct T : S {
|
|
int b;
|
|
};
|
|
|
|
// CHECK-LABEL: @_Z15bad_static_castv
|
|
void bad_static_cast() {
|
|
S s;
|
|
// CHECK: br i1 %[[NONNULL:.*]], label %[[CONT:.*]], label %[[MISS:.*]], !prof
|
|
// CHECK: [[MISS]]:
|
|
// CHECK: call void @__ubsan_handle_dynamic_type_cache_miss_abort
|
|
// CHECK: [[CONT]]:
|
|
T &r = static_cast<T &>(s);
|
|
}
|