From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [85.215.255.23]) by sourceware.org (Postfix) with ESMTPS id 7D860385771F for ; Tue, 18 Apr 2023 11:21:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7D860385771F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=clisp.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=clisp.org ARC-Seal: i=1; a=rsa-sha256; t=1681816893; cv=none; d=strato.com; s=strato-dkim-0002; b=Bwv8LZvdZ/znFmqmynLrdnxonXD46+RiBuciUneOiz1mPZeJIGOFT3sYgIGNVni7YA U7heTWXe8KjzrOz7jWA/BE7VKchSnLFOvIyUO4LBRaAfzFooppG9lKhdc0i8ZuZBrU0u uottMWPrYYQdDpoI/sjwwOXrG+d64A5nQFBt+doIg6Nad4pYYcrBOo4UwcYrGMwdcWXk A7S6GfPxdKYJOEL9rdyW4iA+26Gx8LB80QJTw07+PMiHsS9B/IUXIRyzSbyVEhBMGJF4 ji/qbHaX1dBeEpMEJmQQWF3hWCDcUpQFHDUSZG0tbk/V5ufrmE4irjRoN9LcQ5QzHSDR kBeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1681816893; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=GXDs/33MBfhvBSKhMcSinHh4R8zdmJjYfhNov8oExJU=; b=QEfzg0lW3Gpufpbs49oiztNyN3YUCtsMTIFnMiwn3/Xy58uxolDakjj4xHQ3e237+M YqCimF1lT/QjbvL/nGQ9oIV2dBHR7aG1rZOYfj9yOa8faO5EyJjQz4WKBud8JL/nOX9l e8vVgQT4WEucZHK/mtCa6dLO/w1GfXL7DwBf2oDTySgVANyXP+rE34NCSOsFzRy2+MqR brjnS6iC8fOPMMXLsd4c2AEjuVomRMN8nHRKS992CA9YND2JUEBVfT4PvqnF/ihHg0Xz 3mgVaTuJhqcCewzGruJTm1wnlx7XiWXgbB60ST9uMBdcAYBavL561MFJfsN2rsvnOo3u 803w== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1681816893; s=strato-dkim-0002; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=GXDs/33MBfhvBSKhMcSinHh4R8zdmJjYfhNov8oExJU=; b=horsRPfj8dKTIJ1k2AWaOVbuT+uXr1aGV2YM8mwau572H71v9xwDY+Lw0keBmCDW8I KzlgBQ2WNWRQ9y6aXbG9f+Vy/4ogLcp+L76WGlwog5F8i1Qq2TFy7ORamD1z3eu2jHGW Z+cL+oV7TgaHFrDZ1R3D77+ZthtiJIalXTBPd8N9/Ag1Th4H8JIiHlhv9BNXFNe9Ehtz R4ZVWcXcS5hb5fnplRpyDyLLvFv51EbsAKMzO0UwlwvnkW3P7smEk93HeArD5z5zv68J EcZpK/S56cKfjMduRN8JpacDF6HKPtwJjqeea0tEA29FGXpasyshzGWPE13pwrTif3wT 8LLw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1681816893; s=strato-dkim-0003; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=GXDs/33MBfhvBSKhMcSinHh4R8zdmJjYfhNov8oExJU=; b=o/cIPbFGISrIZgWzctplc3yUjtKvjI6isMcYc9ECweZgqdtcd6o0lzfezv7/sTiS19 Mk1OxzvPTNxF2X2wY/BA== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOT2vN+j99710EKugYHXkRHprwZvw==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.4.0 AUTH) with ESMTPSA id D064b6z3IBLXUMj (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Tue, 18 Apr 2023 13:21:33 +0200 (CEST) From: Bruno Haible To: cygwin@cygwin.com Subject: ilogbl(NaN) is wrong Date: Tue, 18 Apr 2023 13:21:33 +0200 Message-ID: <3634818.CpGBqz00pN@nimes> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: POSIX [1] specifies that the return value of the functions ilogbf(), ilogb(), ilogbl() for a NaN argument should all be the same, namely FP_ILOGBNAN. [1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/ilogb.html In Cygwin 3.4.6, the value of ilogbl(NaN) is not right. How to reproduce: ============================== foo.c ============================== #include #include #include #include #include int main (void) { volatile double x1; volatile long double x2; int y1; int y2; x1 = 0.0 / 0.0; y1 = ilogb (x1); x2 = 0.0L / 0.0L; y2 = ilogbl (x2); printf ("%d %d %d\n", y1, y2, FP_ILOGBNAN); if (!(y1 == FP_ILOGBNAN)) abort (); /* This test fails in Cygwin 3.4.6. */ if (!(y2 == FP_ILOGBNAN)) abort (); if (!(FP_ILOGBNAN == INT_MAX || FP_ILOGBNAN == INT_MIN)) abort (); } =================================================================== $ gcc -Wall foo.c $ ./a.exe Expected output: 2147483647 2147483647 2147483647 Actual output: 2147483647 -2147483648 2147483647 Aborted (core dumped) Bruno PS: This is about the same function, but not the argument value, as in https://cygwin.com/pipermail/cygwin/2019-December/243205.html