This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
[patch] wrap_langinfo.h
- To: stdc++ <libstdc++ at sourceware dot cygnus dot com>
- Subject: [patch] wrap_langinfo.h
- From: brent verner <brent at rcfile dot org>
- Date: Sun, 12 Nov 2000 03:42:26 -0500
- Cc: gcc-patches at gcc dot gnu dot org
Hi,
the attached patch is necessary to build on glibc-2.2 systems. it
adds shadowing for langinfo.h, and necessary modification to
include/bits/codecvt.h
brent
2000-11-12 Brent Verner <brent@rcfile.org>
* include/c_std/bits/wrap_langinfo.h: new file
* include/c_std/langinfo.h: new file
* include/bits/codecvt.h (__enc_trants::__enc_traits()): change
CODESET to _C_legacy::CODESET.
diff -rcp3N libstdc++-v3/include/bits/codecvt.h gcc/libstdc++-v3/include/bits/codecvt.h
*** libstdc++-v3/include/bits/codecvt.h Sun Nov 12 03:15:21 2000
--- gcc/libstdc++-v3/include/bits/codecvt.h Sun Nov 12 02:54:20 2000
*************** namespace std
*** 92,98 ****
strcpy(_M_int_enc, "UCS4");
// __extc_end = external codeset in current locale
! strcpy(_M_ext_enc, nl_langinfo(CODESET));
}
__enc_traits(const char* __int, const char* __ext, int __ibom = 0,
--- 92,98 ----
strcpy(_M_int_enc, "UCS4");
// __extc_end = external codeset in current locale
! strcpy(_M_ext_enc, nl_langinfo(_C_legacy::CODESET));
}
__enc_traits(const char* __int, const char* __ext, int __ibom = 0,
diff -rcp3N libstdc++-v3/include/c_std/bits/wrap_langinfo.h gcc/libstdc++-v3/include/c_std/bits/wrap_langinfo.h
*** libstdc++-v3/include/c_std/bits/wrap_langinfo.h Wed Dec 31 19:00:00 1969
--- gcc/libstdc++-v3/include/c_std/bits/wrap_langinfo.h Sun Nov 12 02:48:38 2000
***************
*** 0 ****
--- 1,49 ----
+ // -*- C++ -*- header wrapper.
+
+ // Copyright (C) 2000 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+ // software; you can redistribute it and/or modify it under the
+ // terms of the GNU General Public License as published by the
+ // Free Software Foundation; either version 2, or (at your option)
+ // any later version.
+
+ // This 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 General Public License for more details.
+
+ // You should have received a copy of the GNU General Public License along
+ // with this library; see the file COPYING. If not, write to the Free
+ // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ // USA.
+
+ // As a special exception, you may use this file as part of a free software
+ // library without restriction. Specifically, if other files instantiate
+ // templates or use macros or inline functions from this file, or you compile
+ // this file and link it with other files to produce an executable, this
+ // file does not by itself cause the resulting executable to be covered by
+ // the GNU General Public License. This exception does not however
+ // invalidate any other reasons why the executable file might be covered by
+ // the GNU General Public License.
+
+ //
+ // ISO C++ 14882: 20.5 Extensions
+ //
+
+ #ifndef _CPP_WRAP_LANGINFO_H
+ #define _CPP_WRAP_LANGINFO_H 1
+
+ namespace _C_legacy {
+ extern "C" {
+ # define _IN_C_LEGACY_
+ # pragma GCC system_header
+ # include_next <langinfo.h>
+ }
+ } // namespace _C_legacy
+
+ # undef _IN_C_LEGACY_
+
+ #endif
+
+
diff -rcp3N libstdc++-v3/include/c_std/langinfo.h gcc/libstdc++-v3/include/c_std/langinfo.h
*** libstdc++-v3/include/c_std/langinfo.h Wed Dec 31 19:00:00 1969
--- gcc/libstdc++-v3/include/c_std/langinfo.h Sun Nov 12 02:49:58 2000
***************
*** 0 ****
--- 1,56 ----
+ // -*- C++ -*- header wrapper.
+
+ // Copyright (C) 2000 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+ // software; you can redistribute it and/or modify it under the
+ // terms of the GNU General Public License as published by the
+ // Free Software Foundation; either version 2, or (at your option)
+ // any later version.
+
+ // This 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 General Public License for more details.
+
+ // You should have received a copy of the GNU General Public License along
+ // with this library; see the file COPYING. If not, write to the Free
+ // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ // USA.
+
+ // As a special exception, you may use this file as part of a free software
+ // library without restriction. Specifically, if other files instantiate
+ // templates or use macros or inline functions from this file, or you compile
+ // this file and link it with other files to produce an executable, this
+ // file does not by itself cause the resulting executable to be covered by
+ // the GNU General Public License. This exception does not however
+ // invalidate any other reasons why the executable file might be covered by
+ // the GNU General Public License.
+
+
+ #ifndef _INCLUDED_CPP_LANGINFO_H_
+ # define _INCLUDED_CPP_LANGINFO_H_ 1
+
+ # ifdef _IN_C_LEGACY_ /* sub-included by a C header */
+ // get out of the "legacy"
+ } // close extern "C"
+ } // close namespace _C_legacy::
+ # undef _IN_C_LEGACY_
+ # define _LANGINFO_NEED_C_LEGACY_
+ # endif
+
+ # include <bits/wrap_langinfo.h>
+
+
+ # ifdef _LANGINFO_NEED_C_LEGACY_
+ // dive back into the "swamp"
+ namespace _C_legacy {
+ extern "C" {
+ # define _IN_C_LEGACY_
+ # undef _LANGINFO_NEED_C_LEGACY_
+ # endif /* _LANGINFO_NEED_C_LEGACY_ */
+ #endif /* _INCLUDED_CPP_LANGINFO_H_ */
+
+
+
+