From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 89881389C021 for ; Fri, 21 Oct 2022 21:00:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 89881389C021 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.95,203,1661846400"; d="scan'208";a="85304420" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 21 Oct 2022 13:00:07 -0800 IronPort-SDR: u/++Y6a3A8ZXzdEt2SJhiaCoOCIrD7ibOddWMuyinBbkBm77A0bgXbzPlbu8TH1f3Xw3tZ/fRz V4IVOkHb72vIr6zHonHPj6uxTDXJzkuDVGBMzsZkg2pwvNG2un9Y9WQCW5vZ+AgLzHyZoFyqgF 3h1jsCPjbOfu9nixtwv1K4a9ThybHPU8qLUiHVU4QsvzlWb/3SUx/boAYNx98ttAzv3uYtytlG ii/anp5GLTUDfv7e8Jb04oSrhB19TrjRgHa+cI1wDtOaRtl7L28P4aNfB+I7zPaqzGJNsGaGjA AxE= Date: Fri, 21 Oct 2022 21:00:03 +0000 From: Joseph Myers X-X-Sender: jsm28@digraph.polyomino.org.uk To: Florian Weimer CC: Jakub Jelinek , Subject: Re: C89isms in the test suite In-Reply-To: <87k04tbim9.fsf@oldenburg.str.redhat.com> Message-ID: References: <87wn8tbmdr.fsf@oldenburg.str.redhat.com> <87o7u5bknf.fsf@oldenburg.str.redhat.com> <87k04tbim9.fsf@oldenburg.str.redhat.com> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-14.mgc.mentorg.com (139.181.222.14) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-3110.5 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Fri, 21 Oct 2022, Florian Weimer via Gcc wrote: > Is this really possible? For function pointers, it's an ABI change. > int (*) () and int (*) (void) have different calling conventions on some > ABIs (e.g., powerpc64le-linux-gnu). The ABI difference goes away once > the callees are rebuilt, and I think such rebuilt callees are compatible > with either calling convention. The semantics of int (*) (void) are a refinement of those of pre-C2x int (*) (): any non-variadic function whose argument types are unchanged by the default argument promotions can be called through an int (*) () pointer, but only functions with no arguments can be called through an int (*) (void) pointer. -- Joseph S. Myers joseph@codesourcery.com