This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/63505] New: [4.8/4.9 Regression] ICE with -fdebug-types-section in should_move_die_to_comdat, at dwarf2out.c:6702
- From: "doko at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 10 Oct 2014 11:23:14 +0000
- Subject: [Bug other/63505] New: [4.8/4.9 Regression] ICE with -fdebug-types-section in should_move_die_to_comdat, at dwarf2out.c:6702
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63505
Bug ID: 63505
Summary: [4.8/4.9 Regression] ICE with -fdebug-types-section in
should_move_die_to_comdat, at dwarf2out.c:6702
Product: gcc
Version: 4.9.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: doko at gcc dot gnu.org
this might be related to PR57664 and/or PR53860 (but the latter was closed),
seen on today's 4.8 and 4.9 branches, but not on trunk.
test case reduced from https://bugs.debian.org/764624
$ cat test.cc
template <typename _Predicate> struct A {
_Predicate _M_pred;
template <typename _Iterator> bool operator()(_Iterator) { return _M_pred; }
};
template <typename _Predicate> A<_Predicate> __pred_iter(_Predicate) {}
class B {
public:
int begin();
int end();
};
template <typename _ForwardIterator, typename _Predicate>
void __remove_if(_ForwardIterator, _Predicate p2) {
_ForwardIterator __first;
p2(__first);
}
template <typename _ForwardIterator, typename _Predicate>
void remove_if(_ForwardIterator, _ForwardIterator p2, _Predicate p3) {
__remove_if(p2, __pred_iter(p3));
}
void tidy_container() {
B env_container;
if (false)
remove_if(env_container.begin(), env_container.end(), [] {});
}
$ g++ -std=gnu++0x -c -g -fdebug-types-section test.cc
test.cc:27:1: internal compiler error: in should_move_die_to_comdat, at
dwarf2out.c:6702
}
^
Please submit a full bug report,
with preprocessed source if appropriate.