This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/53520] New: ICE in timevar_start with -ftime-report and constexpr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53520

             Bug #: 53520
           Summary: ICE in timevar_start with -ftime-report and constexpr
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: pinskia@gcc.gnu.org


Short testcase:
     template<typename _Alloc> class allocator;
     template<typename _Alloc, typename _Tp> struct __alloctr_rebind_helper {
    template<typename, typename> static constexpr bool _S_chk(...) { return 0; 
 }
static const bool __value = _S_chk<_Alloc, _Tp>(nullptr);
    };
     template<typename _Alloc, typename _Tp, bool =
__alloctr_rebind_helper<_Alloc, _Tp>::__value> struct __alloctr_rebind;
     template<typename _Alloc> struct allocator_traits {
    template<typename _Tp> using rebind_alloc = typename
__alloctr_rebind<_Alloc, _Tp>::__type;
    };
     template<typename _Tp, typename _Alloc = allocator<_Tp> > class vector 
 {
    typedef typename allocator_traits<_Alloc> ::template
rebind_alloc<_Tp>::other _Tp_alloc_type;
    };
      template <typename type> struct Data {
     static const vector <type >& values1 () {    }
     };
  void f() {
    typedef Data <int> value_data;
range_begin (value_data::values1 ());
}

--- CUT ---
This was a valid program to begin with


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]