<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Vitaly,<div class=""><br class=""></div><div class="">Thanks for fixing this! And I’m sorry about accidentally disabling the test entirely by adding “REQUIRES: assertions” instead of “REQUIRES: asserts”.</div><div class=""><br class=""></div><div class="">Dave<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 27, 2019, at 1:10 AM, Vitaly Buka <<a href="mailto:vitalybuka@google.com" class="">vitalybuka@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">fixed with r369992</div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 26, 2019 at 1:16 PM Vitaly Buka <<a href="mailto:vitalybuka@google.com" class="">vitalybuka@google.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div class="">Thank for the try, but it's not the fix as it just disabled the test everywhere as no one sets "assertions".</div><div class="">Also I am not sure how the patch can break the test, it just renamed the files. Which bot was that?<br class=""></div><div class="">Is it possible that your local checkout just had the test disabled?</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 24, 2019 at 1:12 AM David Zarzycki <<a href="mailto:dave@znu.io" target="_blank" class="">dave@znu.io</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Fix: r369843<br class="">
<br class="">
Please confirm. Thanks!<br class="">
<br class="">
> On Aug 24, 2019, at 8:18 AM, David Zarzycki <<a href="mailto:dave@znu.io" target="_blank" class="">dave@znu.io</a>> wrote:<br class="">
> <br class="">
> This seems to have broken building on Red Hat Fedora Linux 30 (x86_64). Was this expected?<br class="">
> <br class="">
> FAIL: Clang :: CodeGenCXX/lifetime-sanitizer.cpp (7750 of 50751)<br class="">
> ******************** TEST 'Clang :: CodeGenCXX/lifetime-sanitizer.cpp' FAILED ********************<br class="">
> Script:<br class="">
> --<br class="">
> : '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<br class="">
> : '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<br class="">
> --<br class="">
> Exit Code: 1<br class="">
> <br class="">
> Command Output (stderr):<br class="">
> --<br class="">
> /home/dave/s/lp/clang/test/CodeGenCXX/lifetime-sanitizer.cpp:30:18: error: CHECK-LABEL: expected string not found in input<br class="">
> // CHECK-LABEL: cond.true:<br class="">
>                 ^<br class="">
> <stdin>:21:8: note: scanning from here<br class="">
> br i1 %7, label %8, label %10<br class="">
>       ^<br class="">
> <stdin>:25:6: note: possible intended match here<br class="">
> store i1 true, i1* %4, align 1<br class="">
>     ^<br class="">
> <br class="">
> <br class="">
> <br class="">
>> On Aug 24, 2019, at 2:31 AM, Vitaly Buka via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a>> wrote:<br class="">
>> <br class="">
>> Author: vitalybuka<br class="">
>> Date: Fri Aug 23 18:31:38 2019<br class="">
>> New Revision: 369830<br class="">
>> <br class="">
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=369830&view=rev" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project?rev=369830&view=rev</a><br class="">
>> Log:<br class="">
>> NFC: Rename some sanitizer related lifetime checks<br class="">
>> <br class="">
>> Added:<br class="">
>>   cfe/trunk/test/CodeGen/lifetime-sanitizer.c<br class="">
>>   cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp<br class="">
>> Removed:<br class="">
>>   cfe/trunk/test/CodeGen/lifetime-asan.c<br class="">
>>   cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp<br class="">
>> <br class="">
>> Removed: cfe/trunk/test/CodeGen/lifetime-asan.c<br class="">
>> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-asan.c?rev=369829&view=auto" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-asan.c?rev=369829&view=auto</a><br class="">
>> ==============================================================================<br class="">
>> --- cfe/trunk/test/CodeGen/lifetime-asan.c (original)<br class="">
>> +++ cfe/trunk/test/CodeGen/lifetime-asan.c (removed)<br class="">
>> @@ -1,21 +0,0 @@<br class="">
>> -// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 %s | FileCheck %s -check-prefix=CHECK-O0<br class="">
>> -// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 \<br class="">
>> -// RUN:     -fsanitize=address -fsanitize-address-use-after-scope %s | \<br class="">
>> -// RUN:     FileCheck %s -check-prefix=CHECK-ASAN-USE-AFTER-SCOPE<br class="">
>> -<br class="">
>> -extern int bar(char *A, int n);<br class="">
>> -<br class="">
>> -// CHECK-O0-NOT: @llvm.lifetime.start<br class="">
>> -int foo(int n) {<br class="">
>> -  if (n) {<br class="">
>> -    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}})<br class="">
>> -    char A[10];<br class="">
>> -    return bar(A, 1);<br class="">
>> -    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}})<br class="">
>> -  } else {<br class="">
>> -    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}})<br class="">
>> -    char A[20];<br class="">
>> -    return bar(A, 2);<br class="">
>> -    // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}})<br class="">
>> -  }<br class="">
>> -}<br class="">
>> <br class="">
>> Added: cfe/trunk/test/CodeGen/lifetime-sanitizer.c<br class="">
>> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-sanitizer.c?rev=369830&view=auto" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-sanitizer.c?rev=369830&view=auto</a><br class="">
>> ==============================================================================<br class="">
>> --- cfe/trunk/test/CodeGen/lifetime-sanitizer.c (added)<br class="">
>> +++ cfe/trunk/test/CodeGen/lifetime-sanitizer.c Fri Aug 23 18:31:38 2019<br class="">
>> @@ -0,0 +1,21 @@<br class="">
>> +// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 %s | FileCheck %s -check-prefix=CHECK-O0<br class="">
>> +// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 \<br class="">
>> +// RUN:     -fsanitize=address -fsanitize-address-use-after-scope %s | \<br class="">
>> +// RUN:     FileCheck %s -check-prefix=LIFETIME<br class="">
>> +<br class="">
>> +extern int bar(char *A, int n);<br class="">
>> +<br class="">
>> +// CHECK-O0-NOT: @llvm.lifetime.start<br class="">
>> +int foo(int n) {<br class="">
>> +  if (n) {<br class="">
>> +    // LIFETIME: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}})<br class="">
>> +    char A[10];<br class="">
>> +    return bar(A, 1);<br class="">
>> +    // LIFETIME: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}})<br class="">
>> +  } else {<br class="">
>> +    // LIFETIME: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}})<br class="">
>> +    char A[20];<br class="">
>> +    return bar(A, 2);<br class="">
>> +    // LIFETIME: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}})<br class="">
>> +  }<br class="">
>> +}<br class="">
>> <br class="">
>> Removed: cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp<br class="">
>> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp?rev=369829&view=auto" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp?rev=369829&view=auto</a><br class="">
>> ==============================================================================<br class="">
>> --- cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp (original)<br class="">
>> +++ cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp (removed)<br class="">
>> @@ -1,42 +0,0 @@<br class="">
>> -// 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<br class="">
>> -// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 \<br class="">
>> -// RUN:     -fsanitize=address -fsanitize-address-use-after-scope %s | \<br class="">
>> -// RUN:     FileCheck %s -check-prefixes=CHECK,CHECK-ASAN-USE-AFTER-SCOPE<br class="">
>> -<br class="">
>> -extern int bar(char *A, int n);<br class="">
>> -<br class="">
>> -struct X { X(); ~X(); int *p; };<br class="">
>> -struct Y { Y(); int *p; };<br class="">
>> -<br class="">
>> -extern "C" void a(), b(), c(), d();<br class="">
>> -<br class="">
>> -// CHECK-LABEL: @_Z3foo<br class="">
>> -void foo(int n) {<br class="">
>> -  // CHECK: call void @a()<br class="">
>> -  a();<br class="">
>> -<br class="">
>> -  // CHECK: call void @b()<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 false<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 false<br class="">
>> -  // CHECK: br i1<br class="">
>> -  //<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 true<br class="">
>> -  // CHECK: call void @_ZN1XC<br class="">
>> -  // CHECK: br label<br class="">
>> -  //<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: store i1 true<br class="">
>> -  // CHECK: call void @_ZN1YC<br class="">
>> -  // CHECK: br label<br class="">
>> -  //<br class="">
>> -  // CHECK: call void @c()<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: br i1<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: br i1<br class="">
>> -  // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end<br class="">
>> -  b(), (n ? X().p : Y().p), c();<br class="">
>> -<br class="">
>> -  // CHECK: call void @d()<br class="">
>> -  d();<br class="">
>> -}<br class="">
>> <br class="">
>> Added: cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp<br class="">
>> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp?rev=369830&view=auto" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp?rev=369830&view=auto</a><br class="">
>> ==============================================================================<br class="">
>> --- cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp (added)<br class="">
>> +++ cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp Fri Aug 23 18:31:38 2019<br class="">
>> @@ -0,0 +1,50 @@<br class="">
>> +// RUN: %clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 %s | \<br class="">
>> +// RUN:      FileCheck %s -check-prefixes=CHECK,CHECK-O0 --implicit-check-not=llvm.lifetime<br class="">
>> +// RUN: %clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 \<br class="">
>> +// RUN:     -fsanitize=address -fsanitize-address-use-after-scope %s | \<br class="">
>> +// RUN:     FileCheck %s -check-prefixes=CHECK,LIFETIME<br class="">
>> +<br class="">
>> +extern int bar(char *A, int n);<br class="">
>> +<br class="">
>> +struct X {<br class="">
>> +  X();<br class="">
>> +  ~X();<br class="">
>> +  int *p;<br class="">
>> +};<br class="">
>> +struct Y {<br class="">
>> +  Y();<br class="">
>> +  int *p;<br class="">
>> +};<br class="">
>> +<br class="">
>> +extern "C" void a(), b(), c(), d();<br class="">
>> +<br class="">
>> +// CHECK-LABEL: @_Z3foo<br class="">
>> +void foo(int n) {<br class="">
>> +  // CHECK-LABEL: call void @a()<br class="">
>> +  a();<br class="">
>> +<br class="">
>> +  // CHECK-LABEL: call void @b()<br class="">
>> +  // CHECK: store i1 false<br class="">
>> +  // CHECK-LABEL: br i1<br class="">
>> +  //<br class="">
>> +  // CHECK-LABEL: cond.true:<br class="">
>> +  // LIFETIME: @llvm.lifetime.start<br class="">
>> +  // LIFETIME: store i1 true<br class="">
>> +  // LIFETIME: call void @_ZN1XC<br class="">
>> +  // CHECK-LABEL: br label<br class="">
>> +  //<br class="">
>> +  // CHECK-LABEL: cond.false:<br class="">
>> +  // LIFETIME: @llvm.lifetime.start<br class="">
>> +  // LIFETIME: store i1 true<br class="">
>> +  // LIFETIME: call void @_ZN1YC<br class="">
>> +  // CHECK-LABEL: br label<br class="">
>> +  //<br class="">
>> +  // CHECK-LABEL: cond.end:<br class="">
>> +  // CHECK: call void @c()<br class="">
>> +  // LIFETIME: @llvm.lifetime.end<br class="">
>> +  // LIFETIME: @llvm.lifetime.end<br class="">
>> +  b(), (n ? X().p : Y().p), c();<br class="">
>> +<br class="">
>> +  // CHECK: call void @d()<br class="">
>> +  d();<br class="">
>> +}<br class="">
>> <br class="">
>> <br class="">
>> _______________________________________________<br class="">
>> cfe-commits mailing list<br class="">
>> <a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a><br class="">
>> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br class="">
> <br class="">
<br class="">
</blockquote></div>
</blockquote></div>
</div></blockquote></div><br class=""></div></body></html>