mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Move __STDC_* predefined macros from features.h to stdc-predef.h.
This commit is contained in:
parent
ef0aab352c
commit
ff3b3d8278
13
CONFORMANCE
13
CONFORMANCE
@ -134,13 +134,12 @@ Compiler limitations
|
||||
====================
|
||||
|
||||
The macros __STDC_IEC_559__, __STDC_IEC_559_COMPLEX__ and
|
||||
__STDC_ISO_10646__ are properly supposed to be defined by the
|
||||
compiler, and to be constant throughout the translation unit (before
|
||||
and after any library headers are included). However, they mainly
|
||||
relate to library features, and the necessary magic has yet to be
|
||||
implemented for GCC to predefine them to the correct values for the
|
||||
library in use, so glibc defines them in <features.h>. Programs that
|
||||
test them before including any standard headers may misbehave.
|
||||
__STDC_ISO_10646__ are properly supposed to be constant throughout the
|
||||
translation unit (before and after any library headers are included).
|
||||
However, they mainly relate to library features, and GCC only knows to
|
||||
preinclude <stdc-predef.h> to get their definitions in version 4.8 and
|
||||
later. Programs that test them before including any standard headers
|
||||
may misbehave with older compilers.
|
||||
|
||||
GCC doesn't support the optional imaginary types. Nor does it
|
||||
understand the keyword _Complex before GCC 3.0. This has the
|
||||
|
@ -1,3 +1,11 @@
|
||||
2012-02-22 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #10110]
|
||||
* include/stdc-predef.h: New file. Extracted from features.h.
|
||||
* include/features.h: Include stdc-predef.h.
|
||||
* Makefile (headers): Add stdc-predef.h.
|
||||
* CONFORMANCE (Compiler limitations): Update.
|
||||
|
||||
2012-02-22 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* manual/libc.texinfo (VERSION, UPDATED): Revert.
|
||||
|
2
Makefile
2
Makefile
@ -60,7 +60,7 @@ endif # $(AUTOCONF) = no
|
||||
$(addprefix install-, no-libc.a bin lib data headers others)
|
||||
|
||||
headers := limits.h values.h features.h gnu-versions.h bits/libc-lock.h \
|
||||
bits/xopen_lim.h gnu/libc-version.h
|
||||
bits/xopen_lim.h gnu/libc-version.h stdc-predef.h
|
||||
|
||||
echo-headers: subdir_echo-headers
|
||||
|
||||
|
6
NEWS
6
NEWS
@ -10,9 +10,9 @@ Version 2.16
|
||||
* The following bugs are resolved with this release:
|
||||
|
||||
174, 350, 411, 3335, 4026, 4596, 4822, 5077, 5805, 5993, 6884, 6907, 9739,
|
||||
9902, 10140, 10210, 11174, 11322, 11494, 12047, 13058, 13525, 13526,
|
||||
13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552,
|
||||
13553, 13555, 13559, 13583, 13618, 13695, 13704
|
||||
9902, 10110, 10140, 10210, 11174, 11322, 11494, 12047, 13058, 13525,
|
||||
13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551,
|
||||
13552, 13553, 13555, 13559, 13583, 13618, 13695, 13704
|
||||
|
||||
* ISO C11 support:
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
/* Copyright (C) 1991-1993,1995-2007,2009,2010,2011
|
||||
Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -337,12 +336,9 @@
|
||||
# define __USE_FORTIFY_LEVEL 0
|
||||
#endif
|
||||
|
||||
/* We do support the IEC 559 math functionality, real and complex. */
|
||||
#define __STDC_IEC_559__ 1
|
||||
#define __STDC_IEC_559_COMPLEX__ 1
|
||||
|
||||
/* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.1. */
|
||||
#define __STDC_ISO_10646__ 200009L
|
||||
/* Get definitions of __STDC_* predefined macros, if the compiler has
|
||||
not preincluded this header automatically. */
|
||||
#include <stdc-predef.h>
|
||||
|
||||
/* This macro indicates that the installed library is the GNU C Library.
|
||||
For historic reasons the value now is 6 and this will stay from now
|
||||
|
36
include/stdc-predef.h
Normal file
36
include/stdc-predef.h
Normal file
@ -0,0 +1,36 @@
|
||||
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STDC_PREDEF_H
|
||||
#define _STDC_PREDEF_H 1
|
||||
|
||||
/* This header is separate from features.h so that the compiler can
|
||||
include it implicitly at the start of every compilation. It must
|
||||
not itself include <features.h> or any other header that includes
|
||||
<features.h> because the implicit include comes before any feature
|
||||
test macros that may be defined in a source file before it first
|
||||
explicitly includes a system header. GCC knows the name of this
|
||||
header in order to preinclude it. */
|
||||
|
||||
/* We do support the IEC 559 math functionality, real and complex. */
|
||||
#define __STDC_IEC_559__ 1
|
||||
#define __STDC_IEC_559_COMPLEX__ 1
|
||||
|
||||
/* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.1. */
|
||||
#define __STDC_ISO_10646__ 200009L
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user