This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] math.h: Warn about an already-defined log macro
- From: fweimer at redhat dot com (Florian Weimer)
- To: libc-alpha at sourceware dot org
- Date: Mon, 04 Sep 2017 11:09:59 +0200
- Subject: [PATCH] math.h: Warn about an already-defined log macro
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=fweimer at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 5A46E821C3
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.
2017-09-04 Florian Weimer <fweimer@redhat.com>
* math/math.h: Issue warning if log is defined.
diff --git a/math/math.h b/math/math.h
index 547b36d10e..6c2ad97fb8 100644
--- a/math/math.h
+++ b/math/math.h
@@ -26,6 +26,11 @@
#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. */