mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 03:03:31 +08:00
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 e063da6790
([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 <palves@redhat.com>
* common/common-defs.h (__STDC_CONSTANT_MACROS)
(__STDC_LIMIT_MACROS): Delete.
This commit is contained in:
parent
49e4877c54
commit
f6abaf7a40
@ -1,3 +1,8 @@
|
|||||||
|
2016-10-18 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
|
* common/common-defs.h (__STDC_CONSTANT_MACROS)
|
||||||
|
(__STDC_LIMIT_MACROS): Delete.
|
||||||
|
|
||||||
2016-10-18 Pedro Alves <palves@redhat.com>
|
2016-10-18 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
|
* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
|
||||||
|
@ -31,23 +31,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
/* 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 <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#ifdef HAVE_STRINGS_H
|
#ifdef HAVE_STRINGS_H
|
||||||
#include <strings.h> /* for strcasecmp and strncasecmp */
|
#include <strings.h> /* for strcasecmp and strncasecmp */
|
||||||
|
Loading…
Reference in New Issue
Block a user