This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] math: Remove const attribute from totalorder* functions


Hi, Joseph,

On Thu, 05 Sep 2019, Joseph Myers wrote:

>I think it should use __attribute_pure__, yes (although quite likely using 
>the older compilers for which they differ would show up other problems 
>with current glibc headers).

I committed the follow-up patch below with this fix.  As I mentioned in
the commit message, all other occurrences of attribute *pure* in glibc use
the macro.

This is not true for the occurrences of attribute *const* in glibc, which
happen both with and without the macro, but based on your comment between
parentheses above, I suppose it doesn't matter that much (let me know if
I'm wrong, then I can write a similar cleanup (around 60 lines changes)).

Thanks,
Gabriel


From 1b7f04070bd94f259e2ed24d6fb76309d64fb164 Mon Sep 17 00:00:00 2001
From: "Gabriel F. T. Gomes" <gabrielftg@linux.ibm.com>
Date: Thu, 5 Sep 2019 17:06:03 -0300
Subject: [PATCH] Use __attribute_pure__ macro in bits/mathcalls.h

When the const attribute of totalorder* functions was replaced with the
pure attribute, by commit ID ab41100bab12, it did not use the
__attribute_pure__ macro, but the __attribute__ ((__pure__)) statement.
All other uses of the pure attribute in glibc use the macro.

Tested for powerpc64le.
---
 math/bits/mathcalls.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index 94690c3b42..4703b28fee 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -375,12 +375,12 @@ __MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
 /* Total order operation.  */
 __MATHDECL_1 (int, totalorder,, (const _Mdouble_ *__x,
 				 const _Mdouble_ *__y))
-     __attribute__ ((__pure__));
+     __attribute_pure__;
 
 /* Total order operation on absolute values.  */
 __MATHDECL_1 (int, totalordermag,, (const _Mdouble_ *__x,
 				    const _Mdouble_ *__y))
-     __attribute__ ((__pure__));
+     __attribute_pure__;
 
 /* Get NaN payload.  */
 __MATHCALL (getpayload,, (const _Mdouble_ *__x));
-- 
2.21.0




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]