Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/eh/unwind2.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// PR debug/43290 // { dg-do compile } // { dg-options "-O2" } // { dg-options "-O3 -mavx -fPIC -mtune=core2" { target { { i?86-*-* x86_64-*-* } && { ilp32 && fpic } } } } namespace std { template <class> struct char_traits; } typedef struct { union { char __wchb[4]; }; } mbstate_t; namespace std { template <typename _StateT> struct fpos { long long _M_off; _StateT _M_state; fpos (long long):_M_off (), _M_state () { } _StateT state () { return _M_state; } }; typedef fpos <mbstate_t> streampos; } namespace std { template <> struct char_traits <char> { typedef streampos pos_type; typedef long long off_type; typedef mbstate_t state_type; }; } struct pthread_mutex_t; namespace { enum _Ios_Openmode { _S_in = 3, _S_out }; enum _Ios_Seekdir { _S_beg }; struct ios_base { typedef _Ios_Openmode openmode; static const openmode in = _S_in; static const openmode out = _S_out; typedef _Ios_Seekdir seekdir; static const seekdir beg = _S_beg; }; template < typename _CharT, typename > struct basic_streambuf { typedef _CharT char_type; char_type * _M_in_beg; char_type *eback () { return _M_in_beg; } char_type *gptr () { return 0; } }; } namespace std { typedef struct pthread_mutex_t __c_lock; template <typename> class __basic_file; template <> struct __basic_file <char> { __basic_file (__c_lock * = 0); bool is_open (); }; template <typename _CharT, typename _Traits> struct basic_filebuf : public basic_streambuf <_CharT, _Traits> { typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef __basic_file < char >__file_type; typedef typename traits_type::state_type __state_type; __file_type _M_file; char_type *_M_pback_cur_save; bool _M_pback_init; void _M_destroy_pback () throw () { _M_pback_cur_save += this->gptr () != this->eback (); _M_pback_init = false; } bool is_open () throw () { return _M_file.is_open (); } pos_type seekpos (pos_type, ios_base::openmode = ios_base::in | ios_base::out); pos_type _M_seek (off_type, ios_base::seekdir, __state_type); }; template <typename _CharT, typename _Traits> typename basic_filebuf <_CharT, _Traits>::pos_type basic_filebuf <_CharT, _Traits>::seekpos (pos_type __pos, ios_base::openmode) { pos_type __ret = (off_type ()); if (this->is_open ()) { _M_destroy_pback (); __ret = _M_seek (off_type (), ios_base::beg, __pos.state ()); } return __ret; } template class basic_filebuf <char, char_traits <char> >; }