This is the mail archive of the libstdc++@sources.redhat.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[patch] wrap_langinfo.h


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_ */
+ 
+ 
+ 
+ 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]