2000-07-02 10:16:35 +08:00
|
|
|
/* This file is needed by libio to define various configuration parameters.
|
|
|
|
These are always the same in the GNU C library. */
|
|
|
|
|
|
|
|
#ifndef _G_config_h
|
|
|
|
#define _G_config_h 1
|
|
|
|
|
|
|
|
#ifndef _LIBC
|
|
|
|
# include <bits/c++config.h>
|
2000-08-25 03:05:22 +08:00
|
|
|
# define _IO_MTSAFE_IO
|
2000-07-02 10:16:35 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/* Define types for libio in terms of the standard internal type names. */
|
|
|
|
|
|
|
|
#include <sys/types.h>
|
|
|
|
#define __need_size_t
|
|
|
|
#define __need_wchar_t
|
|
|
|
#define __need_wint_t
|
|
|
|
#define __need_NULL
|
|
|
|
#include <bits/std_cstddef.h>
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _WINT_T
|
|
|
|
/* Integral type unchanged by default argument promotions that can
|
|
|
|
hold any value corresponding to members of the extended character
|
|
|
|
set, as well as at least one value that does not correspond to any
|
|
|
|
member of the extended character set. */
|
|
|
|
# define _WINT_T
|
|
|
|
typedef unsigned int wint_t;
|
|
|
|
#endif
|
[multiple changes]
2000-10-02 Steven King <sxking@uswest.net>
* mkcshadow: Fixed script to output proper include guard.
* bits/char_traits.h: Cleaned up types in char_traits<char> functions.
* libio/_G_config.h: Hacked to make work with shadow heraders.
* shadow/*: Hacked to make shadow headers work.
2000-10-02 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
Self-compile with shadow headers.
* acconfig.h (_GLIBCPP_USE_SHADOW_HEADERS): Define. Eventually,
like _GLIBCPP_USE_NAMESPACES before it, this macro will die when
it becomes the default way the library is built.
* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): New macro.
* config/gnu-linux/bits/ctype_base.h (ctype_base): Use it.
* config/gnu-linux/ctype.cc (ctype): Use it.
* src/localename.cc (locale::_Impl::_M_replace_categories): Remove
call to assert.
* src/locale.cc: Explicitly cast mbstate_t to void* in calls to
memset. This should not be necessary, but an ambiguous overload
with it in.
* shadow/bits/std_cwchar.h: Fix.
* shadow/wchar.h: Fix.
* config/gnu-linux/bits/ctype_base.h (ctype_base): Inject ctype
enums into namespace std:: for ctype_base enum. Other OS types
will have to do this as well.
* config/gnu-linux/ctype.cc (ctype): Inject ctype data into
namespace std, in particular __ctype_toupper, __ctype_tolower,
__ctype_b.
* shadow/iolibio.h: New file.
* shadow/bits/wrap_iolibio.h: New file.
* shadow/libioP.h: New file.
* shadow/bits/wrap_libioP.h: New file.
* shadow/bits/wrap_fcntl.h: New file.
* shadow/fcntl.h: New file.
* shadow/iconv.h: New file. Inject iconv names into the global
namespace, unmangled for the moment.
* shadow/bits/wrap_iconv.h: New file.
* shadow/unistd.h: Remove. Useless.
* shadow/bits/wrap_unistd.h: Remove.
* src/Makefile.am: Take out machine-ansi.h, add fcntl.h unistd.h.
* src/Makefile.in: Regenerate.
* config/c_io_libio.h (_IO_codecvt): Change to normal C++ decl.
* shadow/libio.h: Fix.
* shadow/bits/wrap_libio.h: Fix.
* shadow/bits/std_clocale.h: Remove typedef struct construct,
which will not compile.
* shadow/bits/std_ctime.h: Same.
* shadow/pthread.h: New file. Put pthreads types and functions
into global scope, which is probably not the correct long-term
solution but has to be done at the moment before libio wrappers
can even be started.
* shadow/bits/wrap_pthread.h: New file.
* bits/std_ios.h: Formatting tweak.
* shadow/bits/std_cstdio.h: Format. Remove extraneous bits.
* acinclude.m4 (GLIBCPP_CHECK_COMPILER_FEATURES): Add -Werror to
tests for compiler features.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config/c_io_libio.cc: Remove fcntl.h include, as SEEK_SET
redefined.
* libio/libioP.h: Comment out fcntl.h include.
* shadow/math.h: Add in float and long declarations, as per ISO C9X.
* bits/c++config: Define _ISOC99_SOURCE.
* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add -fno-builtins to
CSHADOWFLAGS, as well as _ISOC99_SOURCE.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/Makefile.am (CSHADOW_INCLUDES): Enable, again.
(CSHADOW_INCLUDES): Add -I$(top_srcdir)/std before shadow include dir.
(CXXCOMPILE): Remove $(DEFS), which searches $(top_srcdir) before
std or shadow directories.
(LTCXXCOMPILE): Same.
(INCLUDES): Add $(top_builddir) before $(top_srcdir).
(AC_CXXFLAGS): Add CSHADOWFLAGS.
* src/Makefile.in: Regenerate.
* src/complex.cc (FCT): Change ::name to name.
* src/complexl.cc (FCT): Same. Use _GLIBCPP_USE_LONG_LONG here.
* src/complexf.cc (FCT): Same.
* src/complexf.cc: Remove FCT define, as things are properly
overloaded in the std namespace with the shadow headers.
* src/complexl.cc: Same.
* src/complex.cc: Same.
From-SVN: r36707
2000-10-04 13:06:32 +08:00
|
|
|
|
|
|
|
/* For use as part of glibc (native) or as part of libstdc++ (maybe
|
|
|
|
not glibc) */
|
|
|
|
#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1)
|
|
|
|
# ifdef _GLIBCPP_USE_WCHAR_T
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
int count;
|
|
|
|
wint_t value;
|
|
|
|
}__mbstate_t;
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef size_t _G_size_t;
|
|
|
|
|
|
|
|
|
2000-07-02 10:16:35 +08:00
|
|
|
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
__off_t __pos;
|
|
|
|
__mbstate_t __state;
|
|
|
|
} _G_fpos_t;
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
__off64_t __pos;
|
|
|
|
__mbstate_t __state;
|
|
|
|
} _G_fpos64_t;
|
|
|
|
#else
|
|
|
|
typedef __off_t _G_fpos_t;
|
|
|
|
typedef __off64_t _G_fpos64_t;
|
|
|
|
#endif
|
|
|
|
#define _G_ssize_t __ssize_t
|
|
|
|
#define _G_off_t __off_t
|
|
|
|
#define _G_off64_t __off64_t
|
|
|
|
#define _G_pid_t __pid_t
|
|
|
|
#define _G_uid_t __uid_t
|
|
|
|
#define _G_wchar_t wchar_t
|
|
|
|
#define _G_wint_t wint_t
|
|
|
|
#define _G_stat64 stat64
|
|
|
|
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
|
|
|
# include <iconv.h>
|
|
|
|
typedef iconv_t _G_iconv_t;
|
|
|
|
# if 0
|
|
|
|
/* XXX Commented out because outside glibc we have to use iconv()
|
|
|
|
and not gconv(). */
|
|
|
|
typedef union
|
|
|
|
{
|
|
|
|
struct __gconv_info __cd;
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
struct __gconv_info __cd;
|
|
|
|
struct __gconv_step_data __data;
|
|
|
|
} __combined;
|
|
|
|
} _G_iconv_t;
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
|
|
|
|
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
|
|
|
|
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
|
|
|
|
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
|
|
|
|
|
|
|
|
#define _G_HAVE_BOOL 1
|
|
|
|
|
|
|
|
|
|
|
|
/* These library features are always available in the GNU C library. */
|
|
|
|
#define _G_HAVE_ATEXIT 1
|
|
|
|
#define _G_HAVE_SYS_CDEFS 1
|
|
|
|
#define _G_HAVE_SYS_WAIT 1
|
|
|
|
#define _G_NEED_STDARG_H 1
|
|
|
|
#define _G_va_list __gnuc_va_list
|
|
|
|
|
|
|
|
#define _G_HAVE_PRINTF_FP 1
|
|
|
|
#define _G_HAVE_MMAP 1
|
|
|
|
#define _G_HAVE_LONG_DOUBLE_IO 1
|
|
|
|
#define _G_HAVE_IO_FILE_OPEN 1
|
|
|
|
#define _G_HAVE_IO_GETLINE_INFO 1
|
|
|
|
|
|
|
|
#define _G_IO_IO_FILE_VERSION 0x20001
|
|
|
|
|
|
|
|
//#define _G_OPEN64 __open64
|
|
|
|
//#define _G_LSEEK64 __lseek64
|
|
|
|
//#define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf)
|
|
|
|
|
|
|
|
/* This is defined by <bits/stat.h> if `st_blksize' exists. */
|
2000-07-19 08:57:38 +08:00
|
|
|
/*#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)*/
|
2000-07-02 10:16:35 +08:00
|
|
|
|
|
|
|
#define _G_BUFSIZ 8192
|
|
|
|
|
|
|
|
/* These are the vtbl details for ELF. */
|
|
|
|
#define _G_NAMES_HAVE_UNDERSCORE 0
|
|
|
|
#define _G_VTABLE_LABEL_HAS_LENGTH 1
|
|
|
|
#define _G_USING_THUNKS 1
|
|
|
|
#define _G_VTABLE_LABEL_PREFIX "__vt_"
|
|
|
|
#define _G_VTABLE_LABEL_PREFIX_ID __vt_
|
|
|
|
|
|
|
|
#define _G_INTERNAL_CCS "UCS4"
|
2000-07-19 08:57:38 +08:00
|
|
|
#define _G_HAVE_WEAK_SYMBOL 1
|
|
|
|
#define _G_STDIO_USES_LIBIO 1
|
2000-07-02 10:16:35 +08:00
|
|
|
|
|
|
|
#if defined __cplusplus || defined __STDC__
|
|
|
|
# define _G_ARGS(ARGLIST) ARGLIST
|
|
|
|
#else
|
|
|
|
# define _G_ARGS(ARGLIST) ()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _G_config.h */
|