math.h: Warn about an already-defined log macro
authorFlorian Weimer <fweimer@redhat.com>
Mon, 4 Sep 2017 08:52:28 +0000 (10:52 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 4 Sep 2017 15:56:31 +0000 (17:56 +0200)
This is a common programming error, and the cause of the problem is not
always obvious.

<tgmath.h> defines a log macro, but it includes <math.h> before that, so
that is compatible with the warning.

ChangeLog
math/math.h

index ef4a6ed..a9fb242 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-09-04  Florian Weimer  <fweimer@redhat.com>
+
+       * math/math.h: Issue warning if log is defined.
+
 2017-09-04  Joseph Myers  <joseph@codesourcery.com>
 
        * scripts/build-many-glibcs.py (Context.checkout): Default Linux
index 547b36d..6c2ad97 100644 (file)
 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
 #include <bits/libc-header-start.h>
 
+#if defined log && defined __GNUC__
+# warning A macro called log was already defined when <math.h> was included.
+# warning This will cause compilation problems.
+#endif
+
 __BEGIN_DECLS
 
 /* Get definitions of __intmax_t and __uintmax_t.  */