]> granicus.if.org Git - clang/commitdiff
Updated test regex and flags
authorNaomi Musgrave <nmusgrave@google.com>
Thu, 30 Jul 2015 17:59:48 +0000 (17:59 +0000)
committerNaomi Musgrave <nmusgrave@google.com>
Thu, 30 Jul 2015 17:59:48 +0000 (17:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243669 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGClass.cpp
test/CodeGenCXX/sanitize-dtor-tail-call.cpp

index a078beb9da1ea2011f68c32adddc1955644331f4..0426f6992a2057dadfc5a15de4b1fcf9d6d8eff0 100644 (file)
@@ -1369,8 +1369,8 @@ static bool CanSkipVTablePointerInitialization(ASTContext &Context,
 
 // Generates function call for handling object poisoning, passing in
 // references to 'this' and its size as arguments.
-// Disables tail call elimination, to save emitted callback from
-// being optimized away.
+// Disables tail call elimination, to prevent the current stack frame from
+// disappearing from the stack trace.
 static void EmitDtorSanitizerCallback(CodeGenFunction &CGF,
                                       const CXXDestructorDecl *Dtor) {
   const ASTRecordLayout &Layout =
index c82f07463882ca4ba5e0ead435a77e10a7cbb9d9..8c92c55f6801f742a6490e58ddf00fab0f5e2fd8 100644 (file)
@@ -1,5 +1,5 @@
 // Test -fsanitize-memory-use-after-dtor
-// RUN: %clang_cc1 -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -std=c++11 -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -fsanitize=memory -fsanitize-memory-use-after-dtor -disable-llvm-optzns -std=c++11 -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
 
 struct Simple {
   int x_;
@@ -14,7 +14,6 @@ struct Simple {
 Simple s;
 // Simple internal member is poisoned by compiler-generated dtor
 // CHECK-LABEL: define {{.*}}SimpleD2Ev
-// CHECK: {{\s*}}call void @__sanitizer_dtor_callback
-// CHECK-NOT: {{\s*}}call void @__sanitizer_dtor_callback
-// CHECK-NOT: {{\s*}}tail call void @__sanitizer_dtor_callback
+// CHECK: {{^ *}}call void @__sanitizer_dtor_callback
+// CHECK-NOT: call void @__sanitizer_dtor_callback
 // CHECK: ret void