// { dg-lto-do link }
|
// { dg-lto-do link }
|
typedef long unsigned int size_t;
|
typedef long unsigned int size_t;
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
using ::size_t;
|
using ::size_t;
|
template
|
template
|
struct __is_char
|
struct __is_char
|
{
|
{
|
};
|
};
|
# 422 "/usr/include/c++/4.4.0/bits/cpp_type_traits.h" 3
|
# 422 "/usr/include/c++/4.4.0/bits/cpp_type_traits.h" 3
|
}
|
}
|
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
|
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
|
template
|
template
|
struct __enable_if
|
struct __enable_if
|
{
|
{
|
};
|
};
|
}
|
}
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
template
|
template
|
struct pair
|
struct pair
|
{
|
{
|
};
|
};
|
}
|
}
|
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
|
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
|
template
|
template
|
class new_allocator
|
class new_allocator
|
{
|
{
|
};
|
};
|
}
|
}
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
template
|
template
|
class allocator: public __gnu_cxx::new_allocator<_Tp>
|
class allocator: public __gnu_cxx::new_allocator<_Tp>
|
{
|
{
|
};
|
};
|
template
|
template
|
struct binary_function
|
struct binary_function
|
{
|
{
|
};
|
};
|
template
|
template
|
struct less : public binary_function<_Tp, _Tp, bool>
|
struct less : public binary_function<_Tp, _Tp, bool>
|
{
|
{
|
};
|
};
|
template
|
template
|
struct char_traits
|
struct char_traits
|
{
|
{
|
typedef _CharT char_type;
|
typedef _CharT char_type;
|
static std::size_t
|
static std::size_t
|
length(const char_type* __s);
|
length(const char_type* __s);
|
};
|
};
|
template
|
template
|
std::size_t
|
std::size_t
|
char_traits<_CharT>::
|
char_traits<_CharT>::
|
length(const char_type* __p)
|
length(const char_type* __p)
|
{
|
{
|
}
|
}
|
template >
|
template >
|
class istreambuf_iterator;
|
class istreambuf_iterator;
|
template
|
template
|
class basic_string
|
class basic_string
|
{
|
{
|
};
|
};
|
}
|
}
|
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
|
namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
|
template
|
template
|
class __versa_string;
|
class __versa_string;
|
template
|
template
|
struct __vstring_utility
|
struct __vstring_utility
|
{
|
{
|
};
|
};
|
template
|
template
|
class __rc_string_base
|
class __rc_string_base
|
{
|
{
|
typedef __vstring_utility<_CharT, _Traits, _Alloc> _Util_Base;
|
typedef __vstring_utility<_CharT, _Traits, _Alloc> _Util_Base;
|
typedef typename _Util_Base::_CharT_alloc_type _CharT_alloc_type;
|
typedef typename _Util_Base::_CharT_alloc_type _CharT_alloc_type;
|
typedef typename _CharT_alloc_type::size_type size_type;
|
typedef typename _CharT_alloc_type::size_type size_type;
|
struct _Rep
|
struct _Rep
|
{
|
{
|
union
|
union
|
{
|
{
|
};
|
};
|
static _Rep*
|
static _Rep*
|
_S_create(size_type, size_type, const _Alloc&);
|
_S_create(size_type, size_type, const _Alloc&);
|
};
|
};
|
};
|
};
|
template
|
template
|
typename __rc_string_base<_CharT, _Traits, _Alloc>::_Rep*
|
typename __rc_string_base<_CharT, _Traits, _Alloc>::_Rep*
|
__rc_string_base<_CharT, _Traits, _Alloc>::_Rep::
|
__rc_string_base<_CharT, _Traits, _Alloc>::_Rep::
|
_S_create(size_type __capacity, size_type __old_capacity,
|
_S_create(size_type __capacity, size_type __old_capacity,
|
const _Alloc& __alloc)
|
const _Alloc& __alloc)
|
{
|
{
|
};
|
};
|
}
|
}
|
template,
|
template,
|
typename _Alloc = std::allocator<_CharT> >
|
typename _Alloc = std::allocator<_CharT> >
|
class basic_string
|
class basic_string
|
: public __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc> {
|
: public __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc> {
|
};
|
};
|
template
|
template
|
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
|
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
|
const std::basic_string<_CharT, _Traits, _Alloc>& __rhs)
|
const std::basic_string<_CharT, _Traits, _Alloc>& __rhs)
|
{
|
{
|
}
|
}
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
struct __uninitialized_copy
|
struct __uninitialized_copy
|
{
|
{
|
template
|
template
|
uninitialized_copy(_InputIterator __first, _InputIterator __last,
|
uninitialized_copy(_InputIterator __first, _InputIterator __last,
|
_ForwardIterator __result)
|
_ForwardIterator __result)
|
{
|
{
|
}
|
}
|
};
|
};
|
template
|
template
|
uninitialized_copy(_InputIterator __first, _InputIterator __last,
|
uninitialized_copy(_InputIterator __first, _InputIterator __last,
|
_ForwardIterator __result)
|
_ForwardIterator __result)
|
{
|
{
|
}
|
}
|
class locale
|
class locale
|
{
|
{
|
class facet;
|
class facet;
|
};
|
};
|
class locale::facet
|
class locale::facet
|
{
|
{
|
};
|
};
|
class ios_base
|
class ios_base
|
{
|
{
|
template
|
template
|
friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
|
friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
|
istreambuf_iterator<_CharT2> >::__type
|
istreambuf_iterator<_CharT2> >::__type
|
find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
|
find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
|
const _CharT2&);
|
const _CharT2&);
|
};
|
};
|
template
|
template
|
class num_put : public locale::facet
|
class num_put : public locale::facet
|
{
|
{
|
typedef _CharT char_type;
|
typedef _CharT char_type;
|
typedef _OutIter iter_type;
|
typedef _OutIter iter_type;
|
template
|
template
|
iter_type
|
iter_type
|
_M_insert_float(iter_type, ios_base& __io, char_type __fill,
|
_M_insert_float(iter_type, ios_base& __io, char_type __fill,
|
char __mod, _ValueT __v) const;
|
char __mod, _ValueT __v) const;
|
};
|
};
|
template
|
template
|
template
|
template
|
_OutIter
|
_OutIter
|
num_put<_CharT, _OutIter>::
|
num_put<_CharT, _OutIter>::
|
_M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
|
_M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
|
_ValueT __v) const
|
_ValueT __v) const
|
{
|
{
|
}
|
}
|
template
|
template
|
class basic_ios : public ios_base
|
class basic_ios : public ios_base
|
{
|
{
|
};
|
};
|
template
|
template
|
class basic_istream : virtual public basic_ios<_CharT, _Traits>
|
class basic_istream : virtual public basic_ios<_CharT, _Traits>
|
{
|
{
|
typedef basic_istream<_CharT, _Traits> __istream_type;
|
typedef basic_istream<_CharT, _Traits> __istream_type;
|
template
|
template
|
__istream_type&
|
__istream_type&
|
_M_extract(_ValueT& __v);
|
_M_extract(_ValueT& __v);
|
};
|
};
|
template
|
template
|
template
|
template
|
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>::
|
basic_istream<_CharT, _Traits>::
|
_M_extract(_ValueT& __v)
|
_M_extract(_ValueT& __v)
|
{
|
{
|
}
|
}
|
class hash_map
|
class hash_map
|
{
|
{
|
};
|
};
|
}
|
}
|
class CDE {
|
class CDE {
|
public:
|
public:
|
virtual ~CDE() { }
|
virtual ~CDE() { }
|
};
|
};
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
namespace std __attribute__ ((__visibility__ ("default"))) {
|
template ,
|
template ,
|
typename _Alloc = std::allocator > >
|
typename _Alloc = std::allocator > >
|
class map
|
class map
|
{
|
{
|
};
|
};
|
template
|
template
|
operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
|
operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
|
const map<_Key, _Tp, _Compare, _Alloc>& __y)
|
const map<_Key, _Tp, _Compare, _Alloc>& __y)
|
{ return !(__x < __y); }
|
{ return !(__x < __y); }
|
}
|
}
|
namespace xyz {
|
namespace xyz {
|
class XYZ;
|
class XYZ;
|
};
|
};
|
class ABC {
|
class ABC {
|
public:
|
public:
|
virtual ~ABC() { }
|
virtual ~ABC() { }
|
};
|
};
|
class FGH : public CDE, public ABC {
|
class FGH : public CDE, public ABC {
|
public:
|
public:
|
explicit FGH(CDE* efg);
|
explicit FGH(CDE* efg);
|
};
|
};
|
namespace {
|
namespace {
|
class LMN : public FGH {
|
class LMN : public FGH {
|
LMN(CDE* efg, xyz::XYZ* hij) : FGH(efg) { }
|
LMN(CDE* efg, xyz::XYZ* hij) : FGH(efg) { }
|
};
|
};
|
}
|
}
|
main(){}
|
main(){}
|
|
|