This is an archive of the discontinued LLVM Phabricator instance.

[Clang 15.0.1] Downgrade implicit int and implicit function declaration to warning only
ClosedPublic

Authored by aaron.ballman on Sep 13 2022, 12:26 PM.

Details

Summary

The changes in Clang 15.0.0 which enabled these diagnostics as a warning which defaulted to an error caused disruption for people working on distributions such as Gentoo. There was an explicit request to downgrade these to be warning-only in Clang 15.0.1 with the expectation that Clang 16 will default the diagnostics to an error.

See https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 for more details on the discussion.

Diff Detail

Event Timeline

aaron.ballman created this revision.Sep 13 2022, 12:26 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 13 2022, 12:26 PM
Herald added a subscriber: jdoerfert. · View Herald Transcript
aaron.ballman requested review of this revision.Sep 13 2022, 12:26 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 13 2022, 12:26 PM

@thieta and @tstellar -- because these changes are expected to go into the 15.0.1 branch, not the current main branch, it wasn't clear to me what the best way to go about the review (whether I should submit a Phab request or make a fork of Clang and submit a GitHub pull request), but given the tight schedule I put this up as a Phab review that we can hopefully validate quickly. I'd appreciate some help getting this tested on more configurations though, as precommit CI won't be able to run on these changes to inform me of what tests I missed because I'm on Windows.

I think the easiest way to handle this is that when you have it approved here - push it to fork on GitHub based on the release branch and create a GitHub issue and write /branch aballman/llvm-project/my_branch in a comment and it will queue up the cherry pick.

I think the easiest way to handle this is that when you have it approved here - push it to fork on GitHub based on the release branch and create a GitHub issue and write /branch aballman/llvm-project/my_branch in a comment and it will queue up the cherry pick.

Thanks for the suggestion, I'll do that once we have agreement here.

Adding in more reviewers for greater visibility.

jyknight accepted this revision.Sep 13 2022, 2:44 PM

Looks correct to me.

This revision is now accepted and ready to land.Sep 13 2022, 2:44 PM
MaskRay accepted this revision.Sep 13 2022, 7:52 PM

Thanks for doing this. I'm going to test it in 2-3 hours and get back to you.

mgorny requested changes to this revision.Sep 14 2022, 2:34 AM

I'm seeing test failures with this patch applied:

Failed Tests (3):
  Clang :: CodeGen/PowerPC/builtins-ppc-p8vector.c
  Clang :: CodeGen/builtins-arm-msvc-compat-only.c
  Clang :: CodeGen/neon-crypto.c

Overall, they all look like they were relying on the -Werror=... behavior.

Test failure details:

This revision now requires changes to proceed.Sep 14 2022, 2:34 AM

Hmm, I just realized that I've tested on top of 15.0.0. If commits already on top of release/15.x branch already fix that, I'm sorry!

nikic added a subscriber: nikic.EditedSep 14 2022, 2:53 AM

I tested this patch as well and saw the same failures as @mgorny. Here's the additional patch I had to apply to make this pass:

diff --git a/clang/test/CodeGen/PowerPC/builtins-ppc-p8vector.c b/clang/test/CodeGen/PowerPC/builtins-ppc-p8vector.c
index af3d5c7d066b..54d2c70c0aa5 100644
--- a/clang/test/CodeGen/PowerPC/builtins-ppc-p8vector.c
+++ b/clang/test/CodeGen/PowerPC/builtins-ppc-p8vector.c
@@ -143,7 +143,7 @@ void test1() {
   res_vui = vec_mergee(vui, vui);
 // CHECK: @llvm.ppc.altivec.vperm
 // CHECK-LE: @llvm.ppc.altivec.vperm
-// CHECK-PPC: error: call to undeclared function 'vec_mergee'
+// CHECK-PPC: warning: call to undeclared function 'vec_mergee'
 
   res_vbll = vec_mergee(vbll, vbll);
 // CHECK: @llvm.ppc.altivec.vperm
@@ -177,7 +177,7 @@ void test1() {
   res_vui = vec_mergeo(vui, vui);
 // CHECK: @llvm.ppc.altivec.vperm
 // CHECK-LE: @llvm.ppc.altivec.vperm
-// CHECK-PPC: error: call to undeclared function 'vec_mergeo'
+// CHECK-PPC: warning: call to undeclared function 'vec_mergeo'
 
   /* vec_cmpeq */
   res_vbll = vec_cmpeq(vbll, vbll);
@@ -403,7 +403,7 @@ void test1() {
   res_vsc = vec_cntlz(vsc);
 // CHECK: call <16 x i8> @llvm.ctlz.v16i8(<16 x i8> %{{.+}}, i1 false)
 // CHECK-LE: call <16 x i8> @llvm.ctlz.v16i8(<16 x i8> %{{.+}}, i1 false)
-// CHECK-PPC: error: call to undeclared function 'vec_cntlz'
+// CHECK-PPC: warning: call to undeclared function 'vec_cntlz'
 
   res_vuc = vec_cntlz(vuc);
 // CHECK: call <16 x i8> @llvm.ctlz.v16i8(<16 x i8> %{{.+}}, i1 false)
@@ -754,19 +754,19 @@ void test1() {
   res_vsi = vec_vpksdss(vsll, vsll);
 // CHECK: llvm.ppc.altivec.vpksdss
 // CHECK-LE: llvm.ppc.altivec.vpksdss
-// CHECK-PPC: error: call to undeclared function 'vec_vpksdss'
+// CHECK-PPC: warning: call to undeclared function 'vec_vpksdss'
 
   /* vec_vpksdus */
   res_vui = vec_vpksdus(vsll, vsll);
 // CHECK: llvm.ppc.altivec.vpksdus
 // CHECK-LE: llvm.ppc.altivec.vpksdus
-// CHECK-PPC: error: call to undeclared function 'vec_vpksdus'
+// CHECK-PPC: warning: call to undeclared function 'vec_vpksdus'
 
   /* vec_vpkudum */
   res_vsi = vec_vpkudum(vsll, vsll);
 // CHECK: vperm
 // CHECK-LE: vperm
-// CHECK-PPC: error: call to undeclared function 'vec_vpkudum'
+// CHECK-PPC: warning: call to undeclared function 'vec_vpkudum'
 
   res_vui = vec_vpkudum(vull, vull);
 // CHECK: vperm
@@ -775,13 +775,13 @@ void test1() {
   res_vui = vec_vpkudus(vull, vull);
 // CHECK: llvm.ppc.altivec.vpkudus
 // CHECK-LE: llvm.ppc.altivec.vpkudus
-// CHECK-PPC: error: call to undeclared function 'vec_vpkudus'
+// CHECK-PPC: warning: call to undeclared function 'vec_vpkudus'
 
   /* vec_vupkhsw */
   res_vsll = vec_vupkhsw(vsi);
 // CHECK: llvm.ppc.altivec.vupkhsw
 // CHECK-LE: llvm.ppc.altivec.vupklsw
-// CHECK-PPC: error: call to undeclared function 'vec_vupkhsw'
+// CHECK-PPC: warning: call to undeclared function 'vec_vupkhsw'
 
   res_vbll = vec_vupkhsw(vbi);
 // CHECK: llvm.ppc.altivec.vupkhsw
@@ -791,7 +791,7 @@ void test1() {
   res_vsll = vec_vupklsw(vsi);
 // CHECK: llvm.ppc.altivec.vupklsw
 // CHECK-LE: llvm.ppc.altivec.vupkhsw
-// CHECK-PPC: error: call to undeclared function 'vec_vupklsw'
+// CHECK-PPC: warning: call to undeclared function 'vec_vupklsw'
 
   res_vbll = vec_vupklsw(vbi);
 // CHECK: llvm.ppc.altivec.vupklsw
@@ -845,7 +845,7 @@ void test1() {
 // CHECK: xor <16 x i8> [[T1]], <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
 // CHECK-LE: [[T1:%.+]] = and <16 x i8>
 // CHECK-LE: xor <16 x i8> [[T1]], <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
-// CHECK-PPC: error: call to undeclared function 'vec_nand'
+// CHECK-PPC: warning: call to undeclared function 'vec_nand'
 
   res_vbc = vec_nand(vbc, vbc);
 // CHECK: [[T1:%.+]] = and <16 x i8>
@@ -937,7 +937,7 @@ void test1() {
 // CHECK: or <16 x i8> {{%.+}}, [[T1]]
 // CHECK-LE: [[T1:%.+]] = xor <16 x i8> {{%.+}}, <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
 // CHECK-LE: or <16 x i8> {{%.+}}, [[T1]]
-// CHECK-PPC: error: call to undeclared function 'vec_orc'
+// CHECK-PPC: warning: call to undeclared function 'vec_orc'
 
   res_vsc = vec_orc(vsc, vbc);
 // CHECK: [[T1:%.+]] = xor <16 x i8> {{%.+}}, <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
@@ -1166,7 +1166,7 @@ void test1() {
   res_vsll = vec_vbpermq(vuc, vuc);
 // CHECK: llvm.ppc.altivec.vbpermq
 // CHECK-LE: llvm.ppc.altivec.vbpermq
-// CHECK-PPC: error: call to undeclared function 'vec_vbpermq'
+// CHECK-PPC: warning: call to undeclared function 'vec_vbpermq'
 
   /* vec_vgbbd */
   res_vsc = vec_vgbbd(vsc);
@@ -1176,12 +1176,12 @@ void test1() {
   res_vuc = vec_vgbbd(vuc);
 // CHECK: llvm.ppc.altivec.vgbbd
 // CHECK-LE: llvm.ppc.altivec.vgbbd
-// CHECK-PPC: error: call to undeclared function 'vec_vgbbd'
+// CHECK-PPC: warning: call to undeclared function 'vec_vgbbd'
 
   res_vuc = vec_gb(vuc);
 // CHECK: llvm.ppc.altivec.vgbbd
 // CHECK-LE: llvm.ppc.altivec.vgbbd
-// CHECK-PPC: error: call to undeclared function 'vec_gb'
+// CHECK-PPC: warning: call to undeclared function 'vec_gb'
 
   res_vsll = vec_gbb(vsll);
 // CHECK: llvm.ppc.altivec.vgbbd
diff --git a/clang/test/CodeGen/builtins-arm-msvc-compat-only.c b/clang/test/CodeGen/builtins-arm-msvc-compat-only.c
index 42cc9d70a142..c2b021b31174 100644
--- a/clang/test/CodeGen/builtins-arm-msvc-compat-only.c
+++ b/clang/test/CodeGen/builtins-arm-msvc-compat-only.c
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -triple thumbv7-windows -fms-extensions -emit-llvm -o - %s \
 // RUN:     | FileCheck %s -check-prefix CHECK-MSVC
-// RUN: not %clang_cc1 -triple armv7-eabi -emit-llvm %s -o /dev/null 2>&1 \
+// RUN: %clang_cc1 -triple armv7-eabi -emit-llvm %s -o /dev/null 2>&1 \
 // RUN:     | FileCheck %s -check-prefix CHECK-EABI
 // REQUIRES: arm-registered-target
 
@@ -9,7 +9,7 @@ void emit() {
 }
 
 // CHECK-MSVC: call void asm sideeffect ".inst.n 0xDEFE", ""()
-// CHECK-EABI: error: call to undeclared function '__emit'
+// CHECK-EABI: warning: call to undeclared function '__emit'
 
 void emit_truncated() {
   __emit(0x11110000); // movs r0, r0
diff --git a/clang/test/CodeGen/neon-crypto.c b/clang/test/CodeGen/neon-crypto.c
index 916886574416..1b29b1a53096 100644
--- a/clang/test/CodeGen/neon-crypto.c
+++ b/clang/test/CodeGen/neon-crypto.c
@@ -14,7 +14,7 @@
 
 uint8x16_t test_vaeseq_u8(uint8x16_t data, uint8x16_t key) {
   // CHECK-LABEL: @test_vaeseq_u8
-  // CHECK-NO-CRYPTO: error: call to undeclared function 'vaeseq_u8'
+  // CHECK-NO-CRYPTO: warning: call to undeclared function 'vaeseq_u8'
   return vaeseq_u8(data, key);
   // CHECK: call <16 x i8> @llvm.{{arm.neon|aarch64.crypto}}.aese(<16 x i8> %data, <16 x i8> %key)
 }

@nikic, with your patch I still have CodeGen/PowerPC/builtins-ppc-p8vector.c failing.

nikic added a comment.Sep 14 2022, 3:39 AM

@mgorny Yeah, that was a testing fail on my side. I've updated it to a hopefully correct version.

Updated the failing tests caught during review (thank you!) and moved the release notes around and reworded them somewhat for clarity.

I tested this patch as well and saw the same failures as @mgorny.

Thank you, I think I've got those patched up, but with one difference:

<snip>
diff --git a/clang/test/CodeGen/neon-crypto.c b/clang/test/CodeGen/neon-crypto.c
index 916886574416..1b29b1a53096 100644
--- a/clang/test/CodeGen/neon-crypto.c
+++ b/clang/test/CodeGen/neon-crypto.c
@@ -14,7 +14,7 @@
 
 uint8x16_t test_vaeseq_u8(uint8x16_t data, uint8x16_t key) {
   // CHECK-LABEL: @test_vaeseq_u8
-  // CHECK-NO-CRYPTO: error: call to undeclared function 'vaeseq_u8'
+  // CHECK-NO-CRYPTO: warning: call to undeclared function 'vaeseq_u8'
   return vaeseq_u8(data, key);
   // CHECK: call <16 x i8> @llvm.{{arm.neon|aarch64.crypto}}.aese(<16 x i8> %data, <16 x i8> %key)
 }

Because this was the only error in the file, I changed the RUN line to remove the not in front of %clang_cc1, as that seemed like it would be necessary to get the test to pass as well.

@mgorny Yeah, that was a testing fail on my side. I've updated it to a hopefully correct version.

Ok, thanks. This version worked for me.

I tested this patch as well and saw the same failures as @mgorny.

Thank you, I think I've got those patched up, but with one difference:

<snip>
diff --git a/clang/test/CodeGen/neon-crypto.c b/clang/test/CodeGen/neon-crypto.c
index 916886574416..1b29b1a53096 100644
--- a/clang/test/CodeGen/neon-crypto.c
+++ b/clang/test/CodeGen/neon-crypto.c
@@ -14,7 +14,7 @@
 
 uint8x16_t test_vaeseq_u8(uint8x16_t data, uint8x16_t key) {
   // CHECK-LABEL: @test_vaeseq_u8
-  // CHECK-NO-CRYPTO: error: call to undeclared function 'vaeseq_u8'
+  // CHECK-NO-CRYPTO: warning: call to undeclared function 'vaeseq_u8'
   return vaeseq_u8(data, key);
   // CHECK: call <16 x i8> @llvm.{{arm.neon|aarch64.crypto}}.aese(<16 x i8> %data, <16 x i8> %key)
 }

Because this was the only error in the file, I changed the RUN line to remove the not in front of %clang_cc1, as that seemed like it would be necessary to get the test to pass as well.

I'm afraid this version fails:

FAIL: Clang :: CodeGen/neon-crypto.c (4802 of 15654)
******************** TEST 'Clang :: CodeGen/neon-crypto.c' FAILED ********************
Script:
--
: 'RUN: at line 1';   /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm-none-linux-gnueabi -target-feature +neon   -target-feature +sha2 -target-feature +aes   -target-cpu cortex-a57 -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c | /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
: 'RUN: at line 5';   /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon    -target-feature +sha2 -target-feature +aes    -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c | /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
: 'RUN: at line 8';   /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon    -S -O3 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c 2>&1 | /usr/lib/llvm/15/bin/FileCheck --check-prefix=CHECK-NO-CRYPTO /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
--
Exit Code: 1

Command Output (stderr):
--
+ : 'RUN: at line 1'
+ /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm-none-linux-gnueabi -target-feature +neon -target-feature +sha2 -target-feature +aes -target-cpu cortex-a57 -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ : 'RUN: at line 5'
+ /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -target-feature +sha2 -target-feature +aes -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ : 'RUN: at line 8'
+ /usr/lib/llvm/15/bin/FileCheck --check-prefix=CHECK-NO-CRYPTO /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -S -O3 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c

--

********************

I tested this patch as well and saw the same failures as @mgorny.

Thank you, I think I've got those patched up, but with one difference:

<snip>
diff --git a/clang/test/CodeGen/neon-crypto.c b/clang/test/CodeGen/neon-crypto.c
index 916886574416..1b29b1a53096 100644
--- a/clang/test/CodeGen/neon-crypto.c
+++ b/clang/test/CodeGen/neon-crypto.c
@@ -14,7 +14,7 @@
 
 uint8x16_t test_vaeseq_u8(uint8x16_t data, uint8x16_t key) {
   // CHECK-LABEL: @test_vaeseq_u8
-  // CHECK-NO-CRYPTO: error: call to undeclared function 'vaeseq_u8'
+  // CHECK-NO-CRYPTO: warning: call to undeclared function 'vaeseq_u8'
   return vaeseq_u8(data, key);
   // CHECK: call <16 x i8> @llvm.{{arm.neon|aarch64.crypto}}.aese(<16 x i8> %data, <16 x i8> %key)
 }

Because this was the only error in the file, I changed the RUN line to remove the not in front of %clang_cc1, as that seemed like it would be necessary to get the test to pass as well.

I'm afraid this version fails:

FAIL: Clang :: CodeGen/neon-crypto.c (4802 of 15654)
******************** TEST 'Clang :: CodeGen/neon-crypto.c' FAILED ********************
Script:
--
: 'RUN: at line 1';   /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm-none-linux-gnueabi -target-feature +neon   -target-feature +sha2 -target-feature +aes   -target-cpu cortex-a57 -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c | /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
: 'RUN: at line 5';   /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon    -target-feature +sha2 -target-feature +aes    -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c | /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
: 'RUN: at line 8';   /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon    -S -O3 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c 2>&1 | /usr/lib/llvm/15/bin/FileCheck --check-prefix=CHECK-NO-CRYPTO /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
--
Exit Code: 1

Command Output (stderr):
--
+ : 'RUN: at line 1'
+ /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm-none-linux-gnueabi -target-feature +neon -target-feature +sha2 -target-feature +aes -target-cpu cortex-a57 -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ : 'RUN: at line 5'
+ /usr/lib/llvm/15/bin/FileCheck /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -target-feature +sha2 -target-feature +aes -emit-llvm -O1 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ : 'RUN: at line 8'
+ /usr/lib/llvm/15/bin/FileCheck --check-prefix=CHECK-NO-CRYPTO /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c
+ /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/clang -cc1 -internal-isystem /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/x/y/clang-abi_x86_32.x86/bin/../../../../lib/clang/15.0.0/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -S -O3 -o - /var/tmp/portage/sys-devel/clang-15.0.0-r1/work/clang/test/CodeGen/neon-crypto.c

--

********************

Thanks for letting me know, I'll switch it back to include the not but... that's a surprise. It looks like it's been that way for ~9 years though.

Added the not back into the neon-crypto.c test.

mgorny accepted this revision.Sep 14 2022, 6:14 AM

The newest version looks good. Thanks!

This revision is now accepted and ready to land.Sep 14 2022, 6:14 AM

I think the easiest way to handle this is that when you have it approved here - push it to fork on GitHub based on the release branch and create a GitHub issue and write /branch aballman/llvm-project/my_branch in a comment and it will queue up the cherry pick.

I've filed https://github.com/llvm/llvm-project/issues/57739 and assigned it to you @thieta -- please let me know if I've mucked something up!

aaron.ballman closed this revision.Sep 15 2022, 4:17 AM

I think the easiest way to handle this is that when you have it approved here - push it to fork on GitHub based on the release branch and create a GitHub issue and write /branch aballman/llvm-project/my_branch in a comment and it will queue up the cherry pick.

I've filed https://github.com/llvm/llvm-project/issues/57739 and assigned it to you @thieta -- please let me know if I've mucked something up!

And that was landed in https://github.com/llvm/llvm-project-release-prs/commit/c0141f3c300fbc002cf79404fa0b82b4cb1191df so this review can now be closed. Thank you for the quick turnaround on getting me review feedback!