+++ This bug was initially created as a clone of Bug #1318877 +++ Description of problem: A client requested that we backport the following header fix: <snip> glibc's <stdint.h> follows C99, which says that in C++, certain macros should only be defined if __STDC_LIMIT_MACROS or __STDC_CONSTANT_MACROS is defined. However, the C++ committee decided that they didn't want this behavior, and explicitly overruled this in the C++11 standard (the first to provide <stdint.h>). Consequently C11 removed these rules. glibc has not been updated to follow the C11 rules, and still checks for those macros being defined in C++ mode. C++ implementations are currently working around this by wrapping glibc's <stdint.h> with one which defines these macros first. These workarounds should not be necessary; glibc should simply not be checking for these macros. Fix would be to remove these lines from sysdeps/generic/stdint.h: /* The ISO C99 standard specifies that in C++ implementations these macros should only be defined if explicitly requested. */ #if !defined __cplusplus || defined __STDC_LIMIT_MACROS ... plus the corresponding #endif and the corresponding lines for __STDC_CONSTANT_MACROS. </snip> Reference: https://sourceware.org/bugzilla/show_bug.cgi?id=15366 Version-Release number of selected component (if applicable): glibc-headers-2.17-106.el7_2.4
See comment here: https://bugzilla.redhat.com/show_bug.cgi?id=1318877#c1 Switching to Developer Toolset.