From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa1-x33.google.com (mail-oa1-x33.google.com [IPv6:2001:4860:4864:20::33]) by sourceware.org (Postfix) with ESMTPS id 5552D3857348 for ; Mon, 29 Aug 2022 19:00:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5552D3857348 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-11e9a7135easo9036817fac.6 for ; Mon, 29 Aug 2022 12:00:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc; bh=QEFgvROCiUf6hg852zTE7942598/GsCJU1DQ0UUwh14=; b=VGcJ+/mLzeI7f+JVvkXbSss+970VQS7r9DE3RMvGe9Ra02biBh3pRgCN6BJrNMvmpJ Obv9O61L+bZk9EbTo4HjAoqaP1PSUu3OPAY6tBEN9xe6oexAeTEwXcpJebtIQdO/infV wgKsB8OZ8EG+Xalw4W+v2WBsuIP7WyOAPjveKbu5yuzBaROM0gwiyiswAw+88CpDGLDS oHXwOavxgjxtUbLD/YSZQvdwLAy1cR18Kqmvakj/d3Wcp6MErYJYfOm+L0q9GDTExtY0 4RpPLJSuO9HAwDdXTWYMNfSlEaUHbkiil1xxd5JpyzwMEzvDW5MF99hixBZtgNf82JsG Wtaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc; bh=QEFgvROCiUf6hg852zTE7942598/GsCJU1DQ0UUwh14=; b=oXwLp2hZiusUaOtsmbJgdptb1CVbobr5q5liYOPbxftDvMq+TrPKgVyfUrrNq5iIGC NsfLViDH0VkD9MR9Iok6B1azKA5gk/RVDXtU3QyNo97j6fIZJBoHH8PT0JTxMS78Dngv XZqii1V1hWsXf4eubGVvv8chBQLHSasRHbQbjfsVj0Yniuu6BboK4dlsJfwRXp8E3BiN VfwBPRdjP9DyLPGltEME0ylJyeh0Lt81KjGEQJjVoK7hZaevNQH9UaT45fHBa6wYlDFn +FKyG+Bp58huOIlVlK1USgIuMoyrFn05KRjQUXflGKi1v3h+NrwTEmbCQN8yArmd8InX /cYA== X-Gm-Message-State: ACgBeo26CwSLsH8EmK/hBSlQ24vas0M0GfjLl75XyJ5hbT7275G/T8yT 1U7OlKlZ/XnXn79bP6rLqWA1caY/LSBfWA== X-Google-Smtp-Source: AA6agR4BaJOoqsKZiB8WHZa7Fdbe4Gy+lXAM5o3uEDxOPSC5lUROvv1qF6GqfkgVxvLydTq9q7GYdg== X-Received: by 2002:a05:6870:c0d1:b0:11e:9620:8e00 with SMTP id e17-20020a056870c0d100b0011e96208e00mr6653414oad.198.1661799633966; Mon, 29 Aug 2022 12:00:33 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c0:745e:ead4:6d93:6ff:7ce5]) by smtp.gmail.com with ESMTPSA id z14-20020a056830128e00b006389650374dsm6086527otp.54.2022.08.29.12.00.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Aug 2022 12:00:33 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH] stdlib: Fix macro expansion producing 'defined' has undefined behavior Date: Mon, 29 Aug 2022 16:00:30 -0300 Message-Id: <20220829190030.946614-1-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The FPIOCONST_HAVE_EXTENDED_RANGE is defined as: #define FPIOCONST_HAVE_EXTENDED_RANGE \ ((!defined __NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024) \ || __HAVE_DISTINCT_FLOAT128) Which is undefined behavior accordingly to C Standard (Preprocessing directives, p4). Checked on x86_64-linux-gnu. --- stdlib/fpioconst.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stdlib/fpioconst.h b/stdlib/fpioconst.h index 1e01999941..3e185f5751 100644 --- a/stdlib/fpioconst.h +++ b/stdlib/fpioconst.h @@ -52,9 +52,12 @@ - LDBL_MIN_EXP + 2)). When _Float128 is enabled in libm and it is ABI-distinct from long double (e.g. on powerpc64le), we also need powers of 10 up to floor (log_2 (FLT128_MANT_DIG - FLT128_MIN_EXP + 2)). */ -#define FPIOCONST_HAVE_EXTENDED_RANGE \ - ((!defined __NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024) \ - || __HAVE_DISTINCT_FLOAT128) +#if (!defined __NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024) \ + || __HAVE_DISTINCT_FLOAT128 +# define FPIOCONST_HAVE_EXTENDED_RANGE 1 +#else +# define FPIOCONST_HAVE_EXTENDED_RANGE 0 +#endif #if FPIOCONST_HAVE_EXTENDED_RANGE # define FPIOCONST_POW10_ARRAY_SIZE 15 -- 2.34.1