This adds -no-opaque-pointers to clang tests whose output will change when opaque pointers are enabled by default. This is intended to be part of the migration approach described in https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322/9. The patch has been produced by replacing %clang_cc1 with %clang_cc1 -no-opaque-pointers for tests that fail with opaque pointers enabled. Worth noting that this doesn't cover all tests, there's a remaining ~40 tests not using %clang_cc1 that will need a followup change. Differential Revision: https://reviews.llvm.org/D123115
22 lines
841 B
C++
22 lines
841 B
C++
// RUN: %clang_cc1 -no-opaque-pointers -triple i686-windows-pc -emit-llvm -o - -mconstructor-aliases -O1 -disable-llvm-passes %s | FileCheck %s
|
|
|
|
struct Base { virtual ~Base(); };
|
|
struct Derived : Base {
|
|
virtual ~Derived();
|
|
static Derived inst;
|
|
};
|
|
|
|
Base::~Base(){}
|
|
Derived::~Derived(){}
|
|
Derived Derived::inst;
|
|
|
|
// CHECK: @"??1Derived@@UAE@XZ" = dso_local unnamed_addr alias void (%struct.Derived*), bitcast (void (%struct.Base*)* @"??1Base@@UAE@XZ" to void (%struct.Derived*)*)
|
|
|
|
// CHECK: define dso_local x86_thiscallcc void @"??1Base@@UAE@XZ"
|
|
// CHECK: define internal void @"??__E?inst@Derived@@2U1@A@@YAXXZ"
|
|
// CHECK: call i32 @atexit(void ()* @"??__F?inst@Derived@@2U1@A@@YAXXZ"
|
|
//
|
|
// CHECK: define internal void @"??__F?inst@Derived@@2U1@A@@YAXXZ"
|
|
// CHECK-NEXT: entry:
|
|
// CHECK-NEXT: call x86_thiscallcc void @"??1Derived@@UAE@XZ"
|