From f6abaf7a4088dc9a5d73ee2233246347af9181d5 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 18 Oct 2016 20:48:37 +0100 Subject: [PATCH] gdb: no longer define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS My gnulib fix at: https://lists.gnu.org/archive/html/bug-gnulib/2015-11/msg00010.html was merged upstream meanwhile and our gnulib copy now includes it. As a concidence, Kevin was telling me today that these macros are causing a build problem on FreeBSD: common/common-defs.h:47:0: error: "__STDC_CONSTANT_MACROS" redefined [-Werror] #define __STDC_CONSTANT_MACROS 1 /usr/include/sys/cdefs.h:408:0: note: this is the location of the previous definition #define __STDC_CONSTANT_MACROS (and a similar error for __STDC_LIMIT_MACROS) The problem seems to be that we should be defining these input macros before including any system header, but, we're not. So let's just revert e063da67902e ([C++] Define __STDC_CONSTANT_MACROS / __STDC_LIMIT_MACROS for stdint.h). If this causes a problem somewhere, we can re-define the macros higher up in the file, before system headers are included. gdb/ChangeLog: 2016-10-18 Pedro Alves * common/common-defs.h (__STDC_CONSTANT_MACROS) (__STDC_LIMIT_MACROS): Delete. --- gdb/ChangeLog | 5 +++++ gdb/common/common-defs.h | 16 ---------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7dd1b32d6ae..80215df4c08 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-10-18 Pedro Alves + + * common/common-defs.h (__STDC_CONSTANT_MACROS) + (__STDC_LIMIT_MACROS): Delete. + 2016-10-18 Pedro Alves * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to diff --git a/gdb/common/common-defs.h b/gdb/common/common-defs.h index 5426dd5d98a..9b5d853c255 100644 --- a/gdb/common/common-defs.h +++ b/gdb/common/common-defs.h @@ -31,23 +31,7 @@ #include #include #include - -/* 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." - - gnulib doesn't fix this for us correctly yet. See: - https://lists.gnu.org/archive/html/bug-gnulib/2015-11/msg00004.html - - Meanwhile, explicitly define these ourselves, as C99 intended. */ -#define __STDC_CONSTANT_MACROS 1 -#define __STDC_LIMIT_MACROS 1 #include - #include #ifdef HAVE_STRINGS_H #include /* for strcasecmp and strncasecmp */