r369830 - NFC: Rename some sanitizer related lifetime checks

David Zarzycki via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 24 01:12:01 PDT 2019


Fix: r369843

Please confirm. Thanks!

> On Aug 24, 2019, at 8:18 AM, David Zarzycki <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> 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