r369830 - NFC: Rename some sanitizer related lifetime checks

David Zarzycki via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 24 00:18:22 PDT 2019


This seems to have broken building on Red Hat Fedora Linux 30 (x86_64). Was this expected?

FAIL: Clang :: CodeGenCXX/lifetime-sanitizer.cpp (7750 of 50751)
******************** TEST 'Clang :: CodeGenCXX/lifetime-sanitizer.cpp' FAILED ********************
Script:
--
: 'RUN: at line 1';   /tmp/_update_lc/r/bin/clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 /home/dave/s/lp/clang/test/CodeGenCXX/lifetime-sanitizer.cpp |       /tmp/_update_lc/r/bin/FileCheck /home/dave/s/lp/clang/test/CodeGenCXX/lifetime-sanitizer.cpp -check-prefixes=CHECK,CHECK-O0 --implicit-check-not=llvm.lifetime
: 'RUN: at line 3';   /tmp/_update_lc/r/bin/clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0      -fsanitize=address -fsanitize-address-use-after-scope /home/dave/s/lp/clang/test/CodeGenCXX/lifetime-sanitizer.cpp |      /tmp/_update_lc/r/bin/FileCheck /home/dave/s/lp/clang/test/CodeGenCXX/lifetime-sanitizer.cpp -check-prefixes=CHECK,LIFETIME
--
Exit Code: 1

Command Output (stderr):
--
/home/dave/s/lp/clang/test/CodeGenCXX/lifetime-sanitizer.cpp:30:18: error: CHECK-LABEL: expected string not found in input
 // CHECK-LABEL: cond.true:
                 ^
<stdin>:21:8: note: scanning from here
 br i1 %7, label %8, label %10
       ^
<stdin>:25:6: note: possible intended match here
 store i1 true, i1* %4, align 1
     ^



> On Aug 24, 2019, at 2:31 AM, Vitaly Buka via cfe-commits <cfe-commits at lists.llvm.org> wrote:
> 
> Author: vitalybuka
> Date: Fri Aug 23 18:31:38 2019
> New Revision: 369830
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=369830&view=rev
> Log:
> NFC: Rename some sanitizer related lifetime checks
> 
> Added:
>    cfe/trunk/test/CodeGen/lifetime-sanitizer.c
>    cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp
> Removed:
>    cfe/trunk/test/CodeGen/lifetime-asan.c
>    cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp
> 
> Removed: cfe/trunk/test/CodeGen/lifetime-asan.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-asan.c?rev=369829&view=auto
> ==============================================================================
> --- cfe/trunk/test/CodeGen/lifetime-asan.c (original)
> +++ cfe/trunk/test/CodeGen/lifetime-asan.c (removed)
> @@ -1,21 +0,0 @@
> -// 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
> -
> -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* {{.*}})
> -    char A[10];
> -    return bar(A, 1);
> -    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}})
> -  } else {
> -    // CHECK-ASAN-USE-AFTER-SCOPE: @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* {{.*}})
> -  }
> -}
> 
> Added: cfe/trunk/test/CodeGen/lifetime-sanitizer.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-sanitizer.c?rev=369830&view=auto
> ==============================================================================
> --- cfe/trunk/test/CodeGen/lifetime-sanitizer.c (added)
> +++ cfe/trunk/test/CodeGen/lifetime-sanitizer.c Fri Aug 23 18:31:38 2019
> @@ -0,0 +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=LIFETIME
> +
> +extern int bar(char *A, int n);
> +
> +// CHECK-O0-NOT: @llvm.lifetime.start
> +int foo(int n) {
> +  if (n) {
> +    // LIFETIME: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}})
> +    char A[10];
> +    return bar(A, 1);
> +    // LIFETIME: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}})
> +  } else {
> +    // LIFETIME: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}})
> +    char A[20];
> +    return bar(A, 2);
> +    // LIFETIME: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}})
> +  }
> +}
> 
> Removed: cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp?rev=369829&view=auto
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp (removed)
> @@ -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();
> -}
> 
> Added: cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp?rev=369830&view=auto
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp (added)
> +++ cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp Fri Aug 23 18:31:38 2019
> @@ -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();
> +}
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list