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