From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 1D5803858D28 for ; Fri, 1 Apr 2022 09:44:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1D5803858D28 Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out2.suse.de (Postfix) with ESMTP id 0B1AF1FD01; Fri, 1 Apr 2022 09:44:35 +0000 (UTC) Received: from murzim.suse.de (murzim.suse.de [10.160.4.192]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id 04F75A3B88; Fri, 1 Apr 2022 09:44:35 +0000 (UTC) Date: Fri, 1 Apr 2022 11:44:34 +0200 (CEST) From: Richard Biener To: Jakub Jelinek cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] testsuite: Add further zero size elt passing tests [PR102024] In-Reply-To: Message-ID: <3psp1sso-118s-s1n8-5n9r-9639sp440n7@fhfr.qr> References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Apr 2022 09:44:37 -0000 On Thu, 31 Mar 2022, Jakub Jelinek wrote: > Hi! > > As discussed in PR102024, zero width bitfields might not be the only ones > causing ABI issues at least on mips, zero size arrays or (in C only) zero > sized (empty) structures can be problematic too. > > The following patch adds some coverage for it too. > > Tested on x86_64-linux with > make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*' > make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=clang ALT_CXX_UNDER_TEST=clang++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*' > with gcc/g++ 10.3 and clang 11. Everything but (expectedly) > FAIL: gcc.dg/compat/pr102024 c_compat_x_tst.o-c_compat_y_alt.o execute > FAIL: gcc.dg/compat/pr102024 c_compat_x_alt.o-c_compat_y_tst.o execute > for -m64 ALT_CC_UNDER_TEST=gcc passes. > > Ok for trunk? OK. > 2022-03-31 Jakub Jelinek > > PR target/102024 > * gcc.dg/compat/pr102024_test.h: Add further tests with zero sized > structures and arrays. > * g++.dg/compat/pr102024_test.h: Add further tests with zero sized > arrays. > > --- gcc/testsuite/gcc.dg/compat/pr102024_test.h.jj 2022-03-24 12:24:41.625100842 +0100 > +++ gcc/testsuite/gcc.dg/compat/pr102024_test.h 2022-03-31 17:36:33.486710917 +0200 > @@ -4,3 +4,9 @@ T(2,int:0;float a;,F(2,a,2.25f,16.5f)) > T(3,double a;long long:0;double b;,F(3,a,42.0,43.125)F(3,b,-17.5,35.75)) > T(4,double a;long long:0;,F(4,a,1.0,17.125)) > T(5,long long:0;double a;,F(5,a,2.25,16.5)) > +T(6,float a;struct{}b;float c;,F(6,a,42.0f,43.125f)F(6,c,-17.5f,35.75f)) > +T(7,float a;struct{}b[0];;,F(7,a,1.0f,17.125f)) > +T(8,int a[0];float b;,F(8,b,2.25f,16.5f)) > +T(9,double a;long long b[0];double c;,F(9,a,42.0,43.125)F(9,c,-17.5,35.75)) > +T(10,double a;struct{}b;,F(10,a,1.0,17.125)) > +T(11,struct{}a[0];double b;,F(11,b,2.25,16.5)) > --- gcc/testsuite/g++.dg/compat/pr102024_test.h.jj 2022-03-24 12:24:41.625100842 +0100 > +++ gcc/testsuite/g++.dg/compat/pr102024_test.h 2022-03-31 17:37:30.763877562 +0200 > @@ -4,3 +4,9 @@ T(2,int:0;float a;,F(2,a,2.25f,16.5f)) > T(3,double a;long long:0;double b;,F(3,a,42.0,43.125)F(3,b,-17.5,35.75)) > T(4,double a;long long:0;,F(4,a,1.0,17.125)) > T(5,long long:0;double a;,F(5,a,2.25,16.5)) > +T(6,float a;struct{}b[0];float c;,F(6,a,42.0f,43.125f)F(6,c,-17.5f,35.75f)) > +T(7,float a;struct{}b[0];;,F(7,a,1.0f,17.125f)) > +T(8,int a[0];float b;,F(8,b,2.25f,16.5f)) > +T(9,double a;long long b[0];double c;,F(9,a,42.0,43.125)F(9,c,-17.5,35.75)) > +T(10,double a;struct{}b[0];,F(10,a,1.0,17.125)) > +T(11,struct{}a[0];double b;,F(11,b,2.25,16.5)) > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Ivo Totev; HRB 36809 (AG Nuernberg)