aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/lto/20090106_0.C
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
committerBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
commit1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch)
treec607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/g++.dg/lto/20090106_0.C
parent283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff)
downloadtoolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.gz
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.bz2
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.zip
Initial checkin of GCC 4.9.0 from trunk (r208799).
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/lto/20090106_0.C')
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/lto/20090106_0.C203
1 files changed, 203 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/lto/20090106_0.C b/gcc-4.9/gcc/testsuite/g++.dg/lto/20090106_0.C
new file mode 100644
index 000000000..8c4d3952e
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/g++.dg/lto/20090106_0.C
@@ -0,0 +1,203 @@
+// { dg-lto-do link }
+typedef long unsigned int size_t;
+namespace std __attribute__ ((__visibility__ ("default"))) {
+ using ::size_t;
+ template<typename _Tp>
+ struct __is_char
+ {
+ };
+# 422 "/usr/include/c++/4.4.0/bits/cpp_type_traits.h" 3
+}
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
+ template<bool, typename>
+ struct __enable_if
+ {
+ };
+}
+namespace std __attribute__ ((__visibility__ ("default"))) {
+ template<class _T1, class _T2>
+ struct pair
+ {
+ };
+}
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
+ template<typename _Tp>
+ class new_allocator
+ {
+ };
+}
+namespace std __attribute__ ((__visibility__ ("default"))) {
+ template<typename _Tp>
+ class allocator: public __gnu_cxx::new_allocator<_Tp>
+ {
+ };
+ template<typename _Arg1, typename _Arg2, typename _Result>
+ struct binary_function
+ {
+ };
+ template<typename _Tp>
+ struct less : public binary_function<_Tp, _Tp, bool>
+ {
+ };
+ template<typename _CharT>
+ struct char_traits
+ {
+ typedef _CharT char_type;
+ static std::size_t
+ length(const char_type* __s);
+ };
+ template<typename _CharT>
+ std::size_t
+ char_traits<_CharT>::
+ length(const char_type* __p)
+ {
+ }
+ template<typename _CharT, typename _Traits = char_traits<_CharT> >
+ class istreambuf_iterator;
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ class basic_string
+ {
+ };
+}
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ class __versa_string;
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ struct __vstring_utility
+ {
+ };
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ class __rc_string_base
+ {
+ typedef __vstring_utility<_CharT, _Traits, _Alloc> _Util_Base;
+ typedef typename _Util_Base::_CharT_alloc_type _CharT_alloc_type;
+ typedef typename _CharT_alloc_type::size_type size_type;
+ struct _Rep
+ {
+ union
+ {
+ };
+ static _Rep*
+ _S_create(size_type, size_type, const _Alloc&);
+ };
+ };
+ template<typename _CharT, typename _Traits, typename _Alloc>
+ typename __rc_string_base<_CharT, _Traits, _Alloc>::_Rep*
+ __rc_string_base<_CharT, _Traits, _Alloc>::_Rep::
+ _S_create(size_type __capacity, size_type __old_capacity,
+ const _Alloc& __alloc)
+ {
+ };
+}
+template<typename _CharT, typename _Traits = std::char_traits<_CharT>,
+ typename _Alloc = std::allocator<_CharT> >
+class basic_string
+ : public __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc> {
+};
+template<typename _CharT, typename _Traits, typename _Alloc>
+ operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+ const std::basic_string<_CharT, _Traits, _Alloc>& __rhs)
+ {
+}
+namespace std __attribute__ ((__visibility__ ("default"))) {
+ struct __uninitialized_copy
+ {
+ template<typename _InputIterator, typename _ForwardIterator>
+ uninitialized_copy(_InputIterator __first, _InputIterator __last,
+ _ForwardIterator __result)
+ {
+ }
+ };
+ template<typename _InputIterator, typename _ForwardIterator>
+ uninitialized_copy(_InputIterator __first, _InputIterator __last,
+ _ForwardIterator __result)
+ {
+ }
+ class locale
+ {
+ class facet;
+ };
+ class locale::facet
+ {
+ };
+ class ios_base
+ {
+ template<typename _CharT2>
+ friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+ istreambuf_iterator<_CharT2> >::__type
+ find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
+ const _CharT2&);
+ };
+ template<typename _CharT, typename _OutIter>
+ class num_put : public locale::facet
+ {
+ typedef _CharT char_type;
+ typedef _OutIter iter_type;
+ template<typename _ValueT>
+ iter_type
+ _M_insert_float(iter_type, ios_base& __io, char_type __fill,
+ char __mod, _ValueT __v) const;
+ };
+ template<typename _CharT, typename _OutIter>
+ template<typename _ValueT>
+ _OutIter
+ num_put<_CharT, _OutIter>::
+ _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
+ _ValueT __v) const
+ {
+ }
+ template<typename _CharT, typename _OutIter>
+ class basic_ios : public ios_base
+ {
+ };
+ template<typename _CharT, typename _Traits>
+ class basic_istream : virtual public basic_ios<_CharT, _Traits>
+ {
+ typedef basic_istream<_CharT, _Traits> __istream_type;
+ template<typename _ValueT>
+ __istream_type&
+ _M_extract(_ValueT& __v);
+ };
+ template<typename _CharT, typename _Traits>
+ template<typename _ValueT>
+ basic_istream<_CharT, _Traits>&
+ basic_istream<_CharT, _Traits>::
+ _M_extract(_ValueT& __v)
+ {
+ }
+ class hash_map
+ {
+ };
+}
+class CDE {
+ public:
+ virtual ~CDE() { }
+};
+namespace std __attribute__ ((__visibility__ ("default"))) {
+ template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
+ typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
+ class map
+ {
+ };
+ template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
+ operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
+ const map<_Key, _Tp, _Compare, _Alloc>& __y)
+ { return !(__x < __y); }
+}
+namespace xyz {
+class XYZ;
+};
+class ABC {
+ public:
+ virtual ~ABC() { }
+};
+class FGH : public CDE, public ABC {
+ public:
+ explicit FGH(CDE* efg);
+};
+namespace {
+class LMN : public FGH {
+ LMN(CDE* efg, xyz::XYZ* hij) : FGH(efg) { }
+};
+}
+main(){}