Finding operator delete[] is still problematic, without it the extension is a security hazard, so reverting until the problem with operator delete[] is figured out. This reverts the following PRs: Reland [MS][clang] Add support for vector deleting destructors (llvm#133451) [MS][clang] Make sure vector deleting dtor calls correct operator delete (llvm#133950) [MS][clang] Fix crash on deletion of array of pointers (llvm#134088) [clang] Do not diagnose unused deleted operator delete[] (llvm#134357) [MS][clang] Error about ambiguous operator delete[] only when required (llvm#135041)
23 lines
622 B
C++
23 lines
622 B
C++
// RUN: %clang_cc1 %s -fno-rtti-data -triple=i386-pc-win32 -o - -emit-llvm | FileCheck %s
|
|
|
|
// vftable shouldn't have RTTI data in it.
|
|
// CHECK-NOT: @"??_R4S@@6B@"
|
|
// CHECK: @"??_7S@@6B@" = linkonce_odr unnamed_addr constant { [1 x ptr] } { [1 x ptr] [ptr @"??_GS@@UAEPAXI@Z"] }, comdat
|
|
|
|
struct type_info;
|
|
namespace std { using ::type_info; }
|
|
|
|
struct S {
|
|
virtual ~S();
|
|
} s;
|
|
|
|
struct U : S {
|
|
virtual ~U();
|
|
};
|
|
|
|
extern S *getS();
|
|
|
|
const std::type_info &ti = typeid(*getS());
|
|
const U &u = dynamic_cast<U &>(*getS());
|
|
// CHECK: call ptr @__RTDynamicCast(ptr %{{.+}}, i32 0, ptr @"??_R0?AUS@@@8", ptr @"??_R0?AUU@@@8", i32 1)
|