On Tue, Oct 28, 2025 at 12:07 PM <[email protected]> wrote: > > Dear contributor, > > Our automatic CI has detected problems related to your patch(es). Please find > some details below. > > In gcc_check master-aarch64, after: > | commit gcc-16-4667-gdcf69bdcd49 > | Author: H.J. Lu <[email protected]> > | Date: Sun Oct 26 08:42:20 2025 +0800 > | > | c: Try the type with the previous function attributes > | > | When there are 2 conflicting function declarations, try the new type > | with the previous TYPE_ATTRIBUTES if the current declaration has no > | TYPE_ATTRIBUTES to support > | ... 44 lines of the commit log omitted. > > Produces 19 regressions: > | > | regressions.sum: > | Running gcc:gcc.target/aarch64/sme/aarch64-sme.exp ... > | FAIL: gcc.target/aarch64/sme/streaming_mode_1.c (test for errors, line 10) > | FAIL: gcc.target/aarch64/sme/streaming_mode_1.c (test for errors, line > 121) > | FAIL: gcc.target/aarch64/sme/streaming_mode_1.c (test for errors, line 16) > | FAIL: gcc.target/aarch64/sme/streaming_mode_1.c (test for errors, line 30) > | ... and 15 more >
After commit dcf69bdcd49bccd901bfb01db7c15530e9a70dc0 Author: H.J. Lu <[email protected]> Date: Sun Oct 26 08:42:20 2025 +0800 c: Try the type with the previous function attributes gcc no longer issues an error for: void sc_c () [[arm::streaming_compatible]]; void sc_c () {} Instead, the previous type attributes are applied to the current function definition. The resulting function definition is compatible with the previous declaration. PR c/122427 * gcc.target/aarch64/sme/streaming_mode_1.c: Remove dg-error. -- H.J.
From 3e56da734f7dec9a2a49991cd18dd3b012da6708 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" <[email protected]> Date: Tue, 28 Oct 2025 15:49:13 +0800 Subject: [PATCH] aarch64: streaming_mode_1.c: Remove dg-error After commit dcf69bdcd49bccd901bfb01db7c15530e9a70dc0 Author: H.J. Lu <[email protected]> Date: Sun Oct 26 08:42:20 2025 +0800 c: Try the type with the previous function attributes gcc no longer issues an error for: void sc_c () [[arm::streaming_compatible]]; void sc_c () {} Instead, the previous type attributes are applied to the current function definition. The resulting function definition is compatible with the previous declaration. PR c/122427 * gcc.target/aarch64/sme/streaming_mode_1.c: Remove dg-error. Signed-off-by: H.J. Lu <[email protected]> --- .../gcc.target/aarch64/sme/streaming_mode_1.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c b/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c index cb1b05948d8..0c532c5c567 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c @@ -1,19 +1,19 @@ // { dg-options "" } void sc_a () [[arm::streaming_compatible]]; -void sc_a (); // { dg-error "conflicting types" } +void sc_a (); void sc_b (); void sc_b () [[arm::streaming_compatible]]; // { dg-error "conflicting types" } void sc_c () [[arm::streaming_compatible]]; -void sc_c () {} // { dg-error "conflicting types" } +void sc_c () {} void sc_d (); void sc_d () [[arm::streaming_compatible]] {} // { dg-error "conflicting types" } void sc_e () [[arm::streaming_compatible]] {} -void sc_e (); // { dg-error "conflicting types" } +void sc_e (); void sc_f () {} void sc_f () [[arm::streaming_compatible]]; // { dg-error "conflicting types" } @@ -27,19 +27,19 @@ extern void (*sc_h) (); // { dg-error "conflicting types" } //---------------------------------------------------------------------------- void s_a () [[arm::streaming]]; -void s_a (); // { dg-error "conflicting types" } +void s_a (); void s_b (); void s_b () [[arm::streaming]]; // { dg-error "conflicting types" } void s_c () [[arm::streaming]]; -void s_c () {} // { dg-error "conflicting types" } +void s_c () {} void s_d (); void s_d () [[arm::streaming]] {} // { dg-error "conflicting types" } void s_e () [[arm::streaming]] {} -void s_e (); // { dg-error "conflicting types" } +void s_e (); void s_f () {} void s_f () [[arm::streaming]]; // { dg-error "conflicting types" } @@ -118,7 +118,7 @@ void keyword_ok_5 () [[arm::streaming_compatible]]; //---------------------------------------------------------------------------- void keyword_contradiction_1 () __arm_streaming; -void keyword_contradiction_1 (); // { dg-error "conflicting types" } +void keyword_contradiction_1 (); void keyword_contradiction_2 (); void keyword_contradiction_2 () __arm_streaming; // { dg-error "conflicting types" } -- 2.51.1
