This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB 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]

[binutils-gdb] Define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS again.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=28fe4f87e0b815f4c0d9b80e0a9f3e6a53c649b3

commit 28fe4f87e0b815f4c0d9b80e0a9f3e6a53c649b3
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 25 11:47:18 2016 +0100

    Define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS again.
    
    Revert commit f6abaf7a4088 (gdb: no longer define
    __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS), with the tweak suggested
    in that commit's log: the macros are now defined before any system
    header is included.
    
    This should fix AIX:
      https://sourceware.org/ml/gdb-patches/2016-10/msg00682.html
    
    gdb/ChangeLog:
    2016-10-25  Pedro Alves  <palves@redhat.com>
    
           * common/common-defs.h (__STDC_CONSTANT_MACROS)
           (__STDC_LIMIT_MACROS): Define.

Diff:
---
 gdb/ChangeLog            |  5 +++++
 gdb/common/common-defs.h | 13 +++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5541086..40fab9b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2016-10-25  Pedro Alves  <palves@redhat.com>
+
+       * common/common-defs.h (__STDC_CONSTANT_MACROS)
+       (__STDC_LIMIT_MACROS): Define.
+
 2016-10-25  Yao Qi  <yao.qi@linaro.org>
 
 	PR gdb/20716
diff --git a/gdb/common/common-defs.h b/gdb/common/common-defs.h
index 9b5d853..3d5ff18 100644
--- a/gdb/common/common-defs.h
+++ b/gdb/common/common-defs.h
@@ -27,6 +27,19 @@
 #include "build-gnulib/config.h"
 #endif
 
+/* From:
+    https://www.gnu.org/software/gnulib/manual/html_node/stdint_002eh.html
+
+   "On some hosts that predate C++11, when using C++ one must define
+   __STDC_CONSTANT_MACROS to make visible the definitions of constant
+   macros such as INTMAX_C, and one must define __STDC_LIMIT_MACROS to
+   make visible the definitions of limit macros such as INTMAX_MAX.".
+
+   Must do this before including any system header, since system
+   headers may include stdint.h.  */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
+
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>


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