This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/53520] New: ICE in timevar_start with -ftime-report and constexpr
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 29 May 2012 17:22:39 +0000
- Subject: [Bug c++/53520] New: ICE in timevar_start with -ftime-report and constexpr
- Auto-submitted: auto-generated
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