comparison gcc/testsuite/g++.dg/opt/pr44919.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 // { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } 1 // { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
2 // { dg-options "-O3 -fselective-scheduling2" } 2 // { dg-options "-O3 -fselective-scheduling2" }
3 // { dg-additional-options "-Wno-return-type" }
3 4
4 namespace std { 5 namespace std {
5 6
6 typedef long unsigned int size_t; 7 typedef long unsigned int size_t;
7 8
8 template<typename _Tp> class new_allocator { public: typedef size_t size_type; typedef _Tp* pointer; }; 9 template<typename _Tp> class new_allocator { public: typedef size_t size_type; typedef _Tp* pointer; };
9 template<typename _Tp> class allocator: public new_allocator<_Tp> { public: typedef size_t size_type; template<typename _Tp1> struct rebind { typedef allocator<_Tp1> other; }; }; 10 template<typename _Tp> class allocator: public new_allocator<_Tp> { public: typedef size_t size_type; template<typename _Tp1> struct rebind { typedef allocator<_Tp1> other; }; };
10 11
11 class back_insert_iterator { }; 12 class back_insert_iterator { };
12 template<typename _Container> back_insert_iterator back_inserter(_Container& __x) { }; 13 template<typename _Container> back_insert_iterator back_inserter(_Container& __x) { return back_insert_iterator(); };
13 14
14 class vector { }; 15 class vector { };
15 16
16 struct _List_node_base { }; 17 struct _List_node_base { };
17 struct _List_node : public _List_node_base { }; 18 struct _List_node : public _List_node_base { };
97 typename K::Point_2 _isomax; 98 typename K::Point_2 _isomax;
98 mutable typename K::FT _min, _max; 99 mutable typename K::FT _min, _max;
99 }; 100 };
100 template <class K> Object intersection( const typename K::Segment_2 &seg, const typename K::Iso_rectangle_2 &iso, const K&) { 101 template <class K> Object intersection( const typename K::Segment_2 &seg, const typename K::Iso_rectangle_2 &iso, const K&) {
101 typedef Segment_2_Iso_rectangle_2_pair<K> is_t; is_t ispair(&seg, &iso); switch (ispair.intersection_type()) { } 102 typedef Segment_2_Iso_rectangle_2_pair<K> is_t; is_t ispair(&seg, &iso); switch (ispair.intersection_type()) { }
103 return Object();
102 } 104 }
103 template <class K> typename Segment_2_Iso_rectangle_2_pair<K>::Intersection_results Segment_2_Iso_rectangle_2_pair<K>::intersection_type() const { 105 template <class K> typename Segment_2_Iso_rectangle_2_pair<K>::Intersection_results Segment_2_Iso_rectangle_2_pair<K>::intersection_type() const {
104 typedef typename K::RT RT; 106 typedef typename K::RT RT;
105 typedef typename K::FT FT; 107 typedef typename K::FT FT;
106 typename K::Construct_cartesian_const_iterator_2 construct_cccit; 108 typename K::Construct_cartesian_const_iterator_2 construct_cccit;