summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/catch-undef-behavior.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2017-08-24 18:18:24 +0000
committerAdrian Prantl <aprantl@apple.com>2017-08-24 18:18:24 +0000
commit1b6d8713e4ec71e7aefec11e17a8bc3ff5c72d66 (patch)
treefba3803e954778141d1253b9a6dee93e5f7736ac /clang/test/CodeGenCXX/catch-undef-behavior.cpp
parent44ea3195968e552a2b4cb1020f6933271e7a4a36 (diff)
downloadbcm5719-llvm-1b6d8713e4ec71e7aefec11e17a8bc3ff5c72d66.tar.gz
bcm5719-llvm-1b6d8713e4ec71e7aefec11e17a8bc3ff5c72d66.zip
Revert "[ubsan] PR34266: When sanitizing the 'this' value for a member function that happens to be a lambda call operator, use the lambda's 'this' pointer, not the captured enclosing 'this' pointer (if any)."
This reverts commit r311589 because of bot breakage. http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan_check/4115/consoleFull#15752874848254eaf0-7326-4999-85b0-388101f2d404. llvm-svn: 311680
Diffstat (limited to 'clang/test/CodeGenCXX/catch-undef-behavior.cpp')
-rw-r--r--clang/test/CodeGenCXX/catch-undef-behavior.cpp21
1 files changed, 0 insertions, 21 deletions
diff --git a/clang/test/CodeGenCXX/catch-undef-behavior.cpp b/clang/test/CodeGenCXX/catch-undef-behavior.cpp
index 4733556c627..179c3341226 100644
--- a/clang/test/CodeGenCXX/catch-undef-behavior.cpp
+++ b/clang/test/CodeGenCXX/catch-undef-behavior.cpp
@@ -449,27 +449,6 @@ void upcast_to_vbase() {
}
}
-struct ThisAlign {
- void this_align_lambda();
-};
-void ThisAlign::this_align_lambda() {
- // CHECK-LABEL: define {{.*}}@"_ZZN9ThisAlign17this_align_lambdaEvENK3$_0clEv"
- // CHECK-SAME: (%{{.*}}* %[[this:[^)]*]])
- // CHECK: %[[this_addr:.*]] = alloca
- // CHECK: store %{{.*}}* %[[this]], %{{.*}}** %[[this_addr]],
- // CHECK: %[[this_inner:.*]] = load %{{.*}}*, %{{.*}}** %[[this_addr]],
- // CHECK: %[[this_outer_addr:.*]] = getelementptr inbounds %{{.*}}, %{{.*}}* %[[this_inner]], i32 0, i32 0
- // CHECK: %[[this_outer:.*]] = load %{{.*}}*, %{{.*}}** %[[this_outer_addr]],
- //
- // CHECK: %[[this_inner_isnonnull:.*]] = icmp ne %{{.*}}* %[[this_inner]], null
- // CHECK: %[[this_inner_asint:.*]] = ptrtoint %{{.*}}* %[[this_inner]] to i
- // CHECK: %[[this_inner_misalignment:.*]] = and i{{32|64}} %[[this_inner_asint]], {{3|7}},
- // CHECK: %[[this_inner_isaligned:.*]] = icmp eq i{{32|64}} %[[this_inner_misalignment]], 0
- // CHECK: %[[this_inner_valid:.*]] = and i1 %[[this_inner_isnonnull]], %[[this_inner_isaligned]],
- // CHECK: br i1 %[[this_inner_valid:.*]]
- [&] { return this; } ();
-}
-
namespace CopyValueRepresentation {
// CHECK-LABEL: define {{.*}} @_ZN23CopyValueRepresentation2S3aSERKS0_
// CHECK-NOT: call {{.*}} @__ubsan_handle_load_invalid_value
OpenPOWER on IntegriCloud