]> granicus.if.org Git - clang/commitdiff
NFC: Rename some sanitizer related lifetime checks
authorVitaly Buka <vitalybuka@google.com>
Sat, 24 Aug 2019 01:31:38 +0000 (01:31 +0000)
committerVitaly Buka <vitalybuka@google.com>
Sat, 24 Aug 2019 01:31:38 +0000 (01:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@369830 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/lifetime-sanitizer.c [moved from test/CodeGen/lifetime-asan.c with 52% similarity]
test/CodeGenCXX/lifetime-asan.cpp [deleted file]
test/CodeGenCXX/lifetime-sanitizer.cpp [new file with mode: 0644]

similarity index 52%
rename from test/CodeGen/lifetime-asan.c
rename to test/CodeGen/lifetime-sanitizer.c
index c5f25a2eaf75718154e2b9351d087e74c92f64ff..7979c2679a9bf3a01b3a10e96a90c0c1a35c9c57 100644 (file)
@@ -1,21 +1,21 @@
 // RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 %s | FileCheck %s -check-prefix=CHECK-O0
 // RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 \
 // RUN:     -fsanitize=address -fsanitize-address-use-after-scope %s | \
-// RUN:     FileCheck %s -check-prefix=CHECK-ASAN-USE-AFTER-SCOPE
+// RUN:     FileCheck %s -check-prefix=LIFETIME
 
 extern int bar(char *A, int n);
 
 // CHECK-O0-NOT: @llvm.lifetime.start
 int foo(int n) {
   if (n) {
-    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}})
+    // LIFETIME: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}})
     char A[10];
     return bar(A, 1);
-    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}})
+    // LIFETIME: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}})
   } else {
-    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}})
+    // LIFETIME: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}})
     char A[20];
     return bar(A, 2);
-    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}})
+    // LIFETIME: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}})
   }
 }
diff --git a/test/CodeGenCXX/lifetime-asan.cpp b/test/CodeGenCXX/lifetime-asan.cpp
deleted file mode 100644 (file)
index 9ccb28c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 %s | FileCheck %s -check-prefixes=CHECK,CHECK-O0 --implicit-check-not=llvm.lifetime
-// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 \
-// RUN:     -fsanitize=address -fsanitize-address-use-after-scope %s | \
-// RUN:     FileCheck %s -check-prefixes=CHECK,CHECK-ASAN-USE-AFTER-SCOPE
-
-extern int bar(char *A, int n);
-
-struct X { X(); ~X(); int *p; };
-struct Y { Y(); int *p; };
-
-extern "C" void a(), b(), c(), d();
-
-// CHECK-LABEL: @_Z3foo
-void foo(int n) {
-  // CHECK: call void @a()
-  a();
-
-  // CHECK: call void @b()
-  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 false
-  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 false
-  // CHECK: br i1
-  //
-  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start
-  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 true
-  // CHECK: call void @_ZN1XC
-  // CHECK: br label
-  //
-  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start
-  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 true
-  // CHECK: call void @_ZN1YC
-  // CHECK: br label
-  //
-  // CHECK: call void @c()
-  // CHECK-ASAN-USE-AFTER-SCOPE: br i1
-  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end
-  // CHECK-ASAN-USE-AFTER-SCOPE: br i1
-  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end
-  b(), (n ? X().p : Y().p), c();
-
-  // CHECK: call void @d()
-  d();
-}
diff --git a/test/CodeGenCXX/lifetime-sanitizer.cpp b/test/CodeGenCXX/lifetime-sanitizer.cpp
new file mode 100644 (file)
index 0000000..8b6cb7d
--- /dev/null
@@ -0,0 +1,50 @@
+// RUN: %clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 %s | \
+// RUN:      FileCheck %s -check-prefixes=CHECK,CHECK-O0 --implicit-check-not=llvm.lifetime
+// RUN: %clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 \
+// RUN:     -fsanitize=address -fsanitize-address-use-after-scope %s | \
+// RUN:     FileCheck %s -check-prefixes=CHECK,LIFETIME
+
+extern int bar(char *A, int n);
+
+struct X {
+  X();
+  ~X();
+  int *p;
+};
+struct Y {
+  Y();
+  int *p;
+};
+
+extern "C" void a(), b(), c(), d();
+
+// CHECK-LABEL: @_Z3foo
+void foo(int n) {
+  // CHECK-LABEL: call void @a()
+  a();
+
+  // CHECK-LABEL: call void @b()
+  // CHECK: store i1 false
+  // CHECK-LABEL: br i1
+  //
+  // CHECK-LABEL: cond.true:
+  // LIFETIME: @llvm.lifetime.start
+  // LIFETIME: store i1 true
+  // LIFETIME: call void @_ZN1XC
+  // CHECK-LABEL: br label
+  //
+  // CHECK-LABEL: cond.false:
+  // LIFETIME: @llvm.lifetime.start
+  // LIFETIME: store i1 true
+  // LIFETIME: call void @_ZN1YC
+  // CHECK-LABEL: br label
+  //
+  // CHECK-LABEL: cond.end:
+  // CHECK: call void @c()
+  // LIFETIME: @llvm.lifetime.end
+  // LIFETIME: @llvm.lifetime.end
+  b(), (n ? X().p : Y().p), c();
+
+  // CHECK: call void @d()
+  d();
+}