1 // RUN: %clang_cc1 -std=c++11 -fsanitize=vptr -emit-llvm %s -o - -triple wasm32-unknown-emscripten | FileCheck %s
2 
3 struct S {
~SS4   virtual ~S() {}
5   int a;
6 };
7 
8 struct T : S {
9   int b;
10 };
11 
12 // CHECK-LABEL: @_Z15bad_static_castv
bad_static_cast()13 void bad_static_cast() {
14   S s;
15   // CHECK: br i1 %[[NONNULL:.*]], label %[[CONT:.*]], label %[[MISS:.*]], !prof
16   // CHECK: [[MISS]]:
17   // CHECK: call void @__ubsan_handle_dynamic_type_cache_miss_abort
18   // CHECK: [[CONT]]:
19   T &r = static_cast<T &>(s);
20 }
21