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

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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

[PATCH] Fix <bits/mathcalls.h> __BEGIN_NAMESPACE_C99/__END_NAMESPACE_C99 pairing


Hi!

In <bits/mathcalls.h>, __BEGIN_NAMESPACE_C99 is guarded with:
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
condition while the corresponding __END_NAMESPACE_C99 with:
#ifdef __USE_ISOC99.  So, if in C++, _GLIBCPP_USE_NAMESPACES
is defined, either __USE_MISC or __USE_XOPEN_EXTENDED and not
__USE_ISOC99, we have unclosed namespace.
Additionally, it seems that currently scalb{,l,f} prototype is only
provided
#if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) && defined __USE_ISOC99
while in revision 1.18 and older it was provided even if not
__USE_ISOC99 (after all, scalb{,l,f} is not in ISO C99).

2006-02-01  Jakub Jelinek  <jakub@redhat.com>

	* math/bits/mathcalls.h: Guard __END_NAMESPACE_C99 with the
	same #if condition as corresponding __BEGIN_NAMESPACE_C99.
	(scalb): Don't define only if __USE_ISOC99.

--- libc/math/bits/mathcalls.h.jj	2006-01-18 09:28:38.000000000 +0100
+++ libc/math/bits/mathcalls.h	2006-02-01 16:17:46.000000000 +0100
@@ -353,10 +353,13 @@ __MATHDECL_1 (int, __signbit,, (_Mdouble
 
 /* Multiply-add function computed as a ternary operation.  */
 __MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
+#endif /* Use ISO C99.  */
+
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
 __END_NAMESPACE_C99
+#endif
 
-# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
 /* Return X times (2 to the Nth power).  */
 __MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
-# endif
-#endif /* Use ISO C99.  */
+#endif

	Jakub


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