d3a193e36c
2002-04-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/4164
Valgrind fixes.
* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
Call close.
(__basic_file::close): Call fflush. Correct return if fclose ok.
(__basic_file::is_open): Make const.
Change __c_file_type to __c_file.
* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
(__basic_file::is_open): Make const.
* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
(filebuf::_M_unbuf): Add.
(filebuf::_M_file): Change to non-pointer.
(filebuf::_M_allocate_pback_buffer): Remove.
* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
Change initialization list for _M_file change.
(filebuf::_M_allocate_pback_buffer): Remove.
Change _M_file usage to reflect non-pointer data member.
* config/locale/generic/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/generic/collate_members.cc: Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/generic/monetary_members.cc: Changeup data types.
Add dtors.
* config/locale/generic/numeric_members.cc: Add dtors.
* config/locale/generic/time_members.cc: Add dtors.
* config/locale/gnu/c_locale.cc: Add parameter.
* config/locale/gnu/collate_members.cc:Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/gnu/ctype_members.cc: Better error checking.
* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
* config/locale/gnu/messages_members.cc: Tweak comment.
* config/locale/gnu/monetary_members.cc: Change data types.
Add dtors.
* config/locale/gnu/numeric_members.cc: Add dtors, better error
checking.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
bogus ctor.
* include/bits/locale_facets.h (moneypunct): Use string literals.
Don't define dtor.
(numpunct): Same.
(__timepunct): Same.
(locale::_Impl::_M_facets): Change from vector to array.
(locale::_Impl::_M_names): Change from array of strings to array
of string literals.
(locale::facet::_S_create_c_locale): Add parameter.
(locale::locale::_S_num_facets): Move to...
(locale::_Impl::_M_facets_size): Here.
* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
changes.
* include/bits/localefwd.h: (locale:🆔:_M_id): Add member function.
(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
(locale::_Impl::_Impl(string, size_t)): Change to
(locale::_Impl::_Impl(const char*, size_t)): This.
* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
(streambuf::_S_pback_size): This.
* src/globals.cc: Add pre-allocations for "C" facets.
* src/locale-inst.cc: Remove vector instantiations.
* src/locale.cc: Remove vector include. Fixups for _M_names,
_M_facets changes.
* src/localename.cc: Same.
* include/bits/stl_vector.h: Fix odd formatting.
* include/bits/basic_string.tcc: Tweak comment.
* libsupc++/new: Make sure parameters are uglified.
* libsupc++/typeinfo: Same.
* testsuite/22_locale/num_get_members_char.cc: Fixup.
* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
* testsuite/27_io/filebuf_members.cc: Same.
From-SVN: r52345
94 lines
3.4 KiB
C++
94 lines
3.4 KiB
C++
// underlying io library -*- C++ -*-
|
|
|
|
// Copyright (C) 2000, 2001, 2002 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.
|
|
|
|
// c_io_stdio.h - Defines for using "C" stdio.h
|
|
|
|
#ifndef _CPP_IO_STDIO_H
|
|
#define _CPP_IO_STDIO_H 1
|
|
|
|
#include <cstdio>
|
|
#include <cstddef>
|
|
#include <bits/gthr.h>
|
|
|
|
namespace std
|
|
{
|
|
// for fpos.h
|
|
typedef long streamoff;
|
|
typedef ptrdiff_t streamsize; // Signed integral type
|
|
#if _GLIBCPP_USE_WCHAR_T
|
|
typedef ptrdiff_t wstreamsize;
|
|
#endif
|
|
typedef fpos_t __c_streampos;
|
|
|
|
typedef __gthread_mutex_t __c_lock;
|
|
|
|
// for basic_file.h
|
|
typedef FILE __c_file;
|
|
|
|
// for ios_base.h
|
|
struct __ios_flags
|
|
{
|
|
typedef short __int_type;
|
|
|
|
static const __int_type _S_boolalpha = 0x0001;
|
|
static const __int_type _S_dec = 0x0002;
|
|
static const __int_type _S_fixed = 0x0004;
|
|
static const __int_type _S_hex = 0x0008;
|
|
static const __int_type _S_internal = 0x0010;
|
|
static const __int_type _S_left = 0x0020;
|
|
static const __int_type _S_oct = 0x0040;
|
|
static const __int_type _S_right = 0x0080;
|
|
static const __int_type _S_scientific = 0x0100;
|
|
static const __int_type _S_showbase = 0x0200;
|
|
static const __int_type _S_showpoint = 0x0400;
|
|
static const __int_type _S_showpos = 0x0800;
|
|
static const __int_type _S_skipws = 0x1000;
|
|
static const __int_type _S_unitbuf = 0x2000;
|
|
static const __int_type _S_uppercase = 0x4000;
|
|
static const __int_type _S_adjustfield = 0x0020 | 0x0080 | 0x0010;
|
|
static const __int_type _S_basefield = 0x0002 | 0x0040 | 0x0008;
|
|
static const __int_type _S_floatfield = 0x0100 | 0x0004;
|
|
|
|
// 27.4.2.1.3 Type ios_base::iostate
|
|
static const __int_type _S_badbit = 0x01;
|
|
static const __int_type _S_eofbit = 0x02;
|
|
static const __int_type _S_failbit = 0x04;
|
|
|
|
// 27.4.2.1.4 Type openmode
|
|
static const __int_type _S_app = 0x01;
|
|
static const __int_type _S_ate = 0x02;
|
|
static const __int_type _S_bin = 0x04;
|
|
static const __int_type _S_in = 0x08;
|
|
static const __int_type _S_out = 0x10;
|
|
static const __int_type _S_trunc = 0x20;
|
|
};
|
|
}
|
|
|
|
#endif // _CPP_IO_STDIO_H
|