[Bug ipa/86529] New: [9 Regression] ICE in malloc_candidate_p, at ipa-pure-const.c:962
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 16 06:43:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86529
Bug ID: 86529
Summary: [9 Regression] ICE in malloc_candidate_p, at
ipa-pure-const.c:962
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: marxin at gcc dot gnu.org
Target Milestone: ---
Starting from my r261744 we ICE on:
$ cat malloc.ii
namespace std {
class type_info {
public:
bool operator==(type_info);
};
class c {
public:
c(int) {}
type_info b;
virtual void *d() {
if (b == typeid(int))
return e();
return nullptr;
}
int *e() noexcept;
};
class h {
public:
template <typename g, typename f> h(g, f j) { new c(j); }
};
class k {
protected:
int n;
k() : i(0, n) {}
h i;
};
class F : k {
public:
F(int, int) {}
template <typename, typename f, typename...> friend F l(const f &);
};
template <typename, typename f, typename...> F l(const f &p1) { F x(int(), p1);
return x; }
template <typename> F m() { l<int>(int()); return F(0, 0); }
class D {
F p;
public:
D() : p(m<int>()) {}
};
} // namespace std
std::D a;
$ g++ malloc.ii -fipa-pure-const
during IPA pass: pure-const
malloc.ii: In member function ‘virtual void* std::c::d()’:
malloc.ii:41:9: internal compiler error: in malloc_candidate_p, at
ipa-pure-const.c:962
std::D a;
^
0x16c5197 malloc_candidate_p
/home/marxin/Programming/gcc/gcc/ipa-pure-const.c:962
0x16c5e81 analyze_function
/home/marxin/Programming/gcc/gcc/ipa-pure-const.c:1095
0x16c67fc pure_const_generate_summary
/home/marxin/Programming/gcc/gcc/ipa-pure-const.c:1178
0xde1ad4 execute_ipa_summary_passes(ipa_opt_pass_d*)
/home/marxin/Programming/gcc/gcc/passes.c:2149
0xae5925 ipa_passes
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2425
0xae5925 symbol_table::compile()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2536
0xae76b9 symbol_table::compile()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2515
0xae76b9 symbol_table::finalize_compilation_unit()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2696
More information about the Gcc-bugs
mailing list