Commit c4d0acf8 by Martin Liska Committed by Martin Liska

Revert one more symbol_summary::get to ::get_create (PR ipa/86529).

2018-07-16  Martin Liska  <mliska@suse.cz>

        PR ipa/86529
	* ipa-pure-const.c (malloc_candidate_p): Revert ::get
        to ::get_create.
2018-07-16  Martin Liska  <mliska@suse.cz>

        PR ipa/86529
	* g++.dg/ipa/pr86529.C: New test.

From-SVN: r262695
parent 325a4c6e
2018-07-16 Martin Liska <mliska@suse.cz>
PR ipa/86529
* ipa-pure-const.c (malloc_candidate_p): Revert ::get
to ::get_create.
2017-07-16 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arcHS.md: Update ARCHS scheduling rules.
......
......@@ -958,8 +958,7 @@ malloc_candidate_p (function *fun, bool ipa)
cgraph_edge *cs = node->get_edge (call_stmt);
if (cs)
{
ipa_call_summary *es = ipa_call_summaries->get (cs);
gcc_assert (es);
ipa_call_summary *es = ipa_call_summaries->get_create (cs);
es->is_return_callee_uncaptured = true;
}
}
......
2018-07-16 Martin Liska <mliska@suse.cz>
PR ipa/86529
* g++.dg/ipa/pr86529.C: New test.
2018-07-16 Tom de Vries <tdevries@suse.de>
PR debug/86455
......
// { dg-do compile }
// { dg-options "-fipa-pure-const -std=c++11" }
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;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment