r369830 - NFC: Rename some sanitizer related lifetime checks

David Zarzycki via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 26 23:39:16 PDT 2019


Hi Vitaly,

Thanks for fixing this! And I’m sorry about accidentally disabling the test entirely by adding “REQUIRES: assertions” instead of “REQUIRES: asserts”.

Dave

> On Aug 27, 2019, at 1:10 AM, Vitaly Buka <vitalybuka at google.com> wrote:
> 
> fixed with r369992
> 
> On Mon, Aug 26, 2019 at 1:16 PM Vitaly Buka <vitalybuka at google.com <mailto:vitalybuka at google.com>> wrote:
> Thank for the try, but it's not the fix as it just disabled the test everywhere as no one sets "assertions".
> Also I am not sure how the patch can break the test, it just renamed the files. Which bot was that?
> Is it possible that your local checkout just had the test disabled?
> 
> On Sat, Aug 24, 2019 at 1:12 AM David Zarzycki <dave at znu.io <mailto:dave at znu.io>> wrote:
> Fix: r369843
> 
> Please confirm. Thanks!
> 
> > On Aug 24, 2019, at 8:18 AM, David Zarzycki <dave at znu.io <mailto:dave at znu.io>> wrote:
> > 
> > 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 <mailto: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 <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 <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 <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 <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 <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 <mailto:cfe-commits at lists.llvm.org>
> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits <https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
> > 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190827/53a73895/attachment-0001.html>


More information about the cfe-commits mailing list