From b9fcef213e2f4b4c24830361b8af8ce3482ac022 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Wed, 19 Oct 2016 20:28:35 +0000 Subject: [PATCH] [ubsan] Re-work check lines to try to appease a bot (NFC) This bot does not produce the IR I expect -- it's missing some 'handler.dynamic_type_cache_miss:' labels. We don't need to rely on those labels, so get rid of them in hopes of making the bot happy. http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/55493 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284639 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGenCXX/ubsan-devirtualized-calls.cpp | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/test/CodeGenCXX/ubsan-devirtualized-calls.cpp b/test/CodeGenCXX/ubsan-devirtualized-calls.cpp index 7b5ffa2b76..c5663f6bdb 100644 --- a/test/CodeGenCXX/ubsan-devirtualized-calls.cpp +++ b/test/CodeGenCXX/ubsan-devirtualized-calls.cpp @@ -39,53 +39,46 @@ struct Derived4 final : Base1 { void t1() { Derived1 d1; static_cast(&d1)->f1(); //< Devirt Base1::f1 to Derived1::f1. - // CHECK: handler.dynamic_type_cache_miss: - // CHECK-NEXT: %[[D1:[0-9]+]] = ptrtoint %struct.Derived1* %d1 to i64, !nosanitize - // CHECK-NEXT: call void @{{[_a-z]+}}({{.*}} [[UBSAN_TI_DERIVED1_1]] {{.*}}, i64 %[[D1]] + // CHECK: %[[D1:[0-9]+]] = ptrtoint %struct.Derived1* %d1 to i64, !nosanitize + // CHECK-NEXT: call void @__ubsan_handle_dynamic_type_cache{{[_a-z]*}}({{.*}} [[UBSAN_TI_DERIVED1_1]] {{.*}}, i64 %[[D1]] } // CHECK-LABEL: define void @_Z2t2v void t2() { Derived2 d2; static_cast(&d2)->f1(); //< Devirt Base1::f1 to Derived2::f1. - // CHECK: handler.dynamic_type_cache_miss: - // CHECK-NEXT: %[[D2_1:[0-9]+]] = ptrtoint %struct.Derived2* %d2 to i64, !nosanitize - // CHECK-NEXT: call void @{{[_a-z]+}}({{.*}} [[UBSAN_TI_DERIVED2_1]] {{.*}}, i64 %[[D2_1]] + // CHECK: %[[D2_1:[0-9]+]] = ptrtoint %struct.Derived2* %d2 to i64, !nosanitize + // CHECK-NEXT: call void @__ubsan_handle_dynamic_type_cache{{[_a-z]*}}({{.*}} [[UBSAN_TI_DERIVED2_1]] {{.*}}, i64 %[[D2_1]] } // CHECK-LABEL: define void @_Z2t3v void t3() { Derived2 d2; static_cast(&d2)->f1(); //< Devirt Base2::f1 to Derived2::f1. - // CHECK: handler.dynamic_type_cache_miss: - // CHECK-NEXT: %[[D2_2:[0-9]+]] = ptrtoint %struct.Derived2* %d2 to i64, !nosanitize - // CHECK-NEXT: call void @{{[_a-z]+}}({{.*}} [[UBSAN_TI_DERIVED2_2]] {{.*}}, i64 %[[D2_2]] + // CHECK: %[[D2_2:[0-9]+]] = ptrtoint %struct.Derived2* %d2 to i64, !nosanitize + // CHECK-NEXT: call void @__ubsan_handle_dynamic_type_cache{{[_a-z]*}}({{.*}} [[UBSAN_TI_DERIVED2_2]] {{.*}}, i64 %[[D2_2]] } // PR13127-LABEL: define void @_Z2t4v void t4() { Base1 p; Derived3 *badp = static_cast(&p); //< Check that &p isa Derived3. - // PR13127: handler.dynamic_type_cache_miss // PR13127: %[[P1:[0-9]+]] = ptrtoint %struct.Derived3* {{%[0-9]+}} to i64, !nosanitize - // PR13127-NEXT: call void @{{[_a-z]+}}({{.*}} [[UBSAN_TI_DERIVED3]] {{.*}}, i64 %[[P1]] + // PR13127-NEXT: call void @__ubsan_handle_dynamic_type_cache{{[_a-z]*}}({{.*}} [[UBSAN_TI_DERIVED3]] {{.*}}, i64 %[[P1]] static_cast(badp)->f1(); //< No devirt, test 'badp isa Base1'. - // PR13127: handler.dynamic_type_cache_miss // PR13127: %[[BADP1:[0-9]+]] = ptrtoint %struct.Base1* {{%[0-9]+}} to i64, !nosanitize - // PR13127-NEXT: call void @{{[_a-z]+}}({{.*}} [[UBSAN_TI_BASE1]] {{.*}}, i64 %[[BADP1]] + // PR13127-NEXT: call void @__ubsan_handle_dynamic_type_cache{{[_a-z]*}}({{.*}} [[UBSAN_TI_BASE1]] {{.*}}, i64 %[[BADP1]] } // PR13127-LABEL: define void @_Z2t5v void t5() { Base1 p; Derived4 *badp = static_cast(&p); //< Check that &p isa Derived4. - // PR13127: handler.dynamic_type_cache_miss: // PR13127: %[[P1:[0-9]+]] = ptrtoint %struct.Derived4* {{%[0-9]+}} to i64, !nosanitize - // PR13127-NEXT: call void @{{[_a-z]+}}({{.*}} [[UBSAN_TI_DERIVED4_1]] {{.*}}, i64 %[[P1]] + // PR13127-NEXT: call void @__ubsan_handle_dynamic_type_cache{{[_a-z]*}}({{.*}} [[UBSAN_TI_DERIVED4_1]] {{.*}}, i64 %[[P1]] static_cast(badp)->f1(); //< Devirt Base1::f1 to Derived4::f1. - // PR13127: handler.dynamic_type_cache_miss1: // PR13127: %[[BADP1:[0-9]+]] = ptrtoint %struct.Derived4* {{%[0-9]+}} to i64, !nosanitize - // PR13127-NEXT: call void @{{[_a-z]+}}({{.*}} [[UBSAN_TI_DERIVED4_2]] {{.*}}, i64 %[[BADP1]] + // PR13127-NEXT: call void @__ubsan_handle_dynamic_type_cache{{[_a-z]*}}({{.*}} [[UBSAN_TI_DERIVED4_2]] {{.*}}, i64 %[[BADP1]] } -- 2.40.0