From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cc-smtpout3.netcologne.de (cc-smtpout3.netcologne.de [89.1.8.213]) by sourceware.org (Postfix) with ESMTPS id 2D9A43858C27; Mon, 3 Jan 2022 17:03:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2D9A43858C27 Received: from cc-smtpin1.netcologne.de (cc-smtpin1.netcologne.de [89.1.8.201]) by cc-smtpout3.netcologne.de (Postfix) with ESMTP id C67DD1244F; Mon, 3 Jan 2022 18:03:54 +0100 (CET) Received: from [IPv6:2001:4dd7:eb03:0:7285:c2ff:fe6c:992d] (2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de [IPv6:2001:4dd7:eb03:0:7285:c2ff:fe6c:992d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by cc-smtpin1.netcologne.de (Postfix) with ESMTPSA id 2F4AC11D8C; Mon, 3 Jan 2022 18:03:42 +0100 (CET) Subject: Re: [power-ieee128] libgfortran: -mabi=ieeelongdouble I/O To: Jakub Jelinek , Michael Meissner , Segher Boessenkool , "fortran@gcc.gnu.org" , Peter Bergner , Bill Schmidt , gcc-patches@gcc.gnu.org, David Edelsohn References: <20220103153621.GL2664@tucnak> <20220103162650.GV2646553@tucnak> From: Thomas Koenig Message-ID: Date: Mon, 3 Jan 2022 18:03:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20220103162650.GV2646553@tucnak> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-NetCologne-Spam: L X-Rspamd-Queue-Id: 2F4AC11D8C X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_MANYTO, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP 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: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Jan 2022 17:03:57 -0000 On 03.01.22 17:26, Jakub Jelinek wrote: > so we could similarly have something like: > #if !(defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16) > _gfortran_transfer_complex128; > _gfortran_transfer_complex128_write; > #endif > ... > #if !(defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16) > _gfortran_transfer_real128; > _gfortran_transfer_real128_write; > #endif > ... > #if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 > _gfortran_transfer_complex128; > _gfortran_transfer_complex128_write; > _gfortran_transfer_real128; > _gfortran_transfer_real128_write; > #endif That would also work for me. > or make that dependent on HAVE_GFC_REAL_17 or whatever else (with suitable > includes that only define macros and not actual C code). With my most recent commit, HAVE_GFC_REAL_17 can now be found in kinds.inc if all of the macros above are defined, that should be suitable. I found that __powerpc64__ is not defined when compiling *.F90 files (which is why I added them by hand). Not sure how the preprocessor is invoked on gfortran.map, but if things don't work, this could be related :-) So, it's OK either way with me. What do others think? Best regards Thomas