Fix: r369843 Please confirm. Thanks!
> On Aug 24, 2019, at 8:18 AM, David Zarzycki <d...@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@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@lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits