public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
@ 2014-12-12 10:19 rguenth at gcc dot gnu.org
2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-12 10:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
Bug ID: 64282
Summary: [5 Regression] ICE in
gimple_get_virt_method_for_vtable, at
gimple-fold.c:5635
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Created attachment 34263
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34263&action=edit
preprocessed source
> ./cc1plus -quiet scim_skk_dictionary.ii -O2
scim_skk_dictionary.cpp:1190:1: internal compiler error: in
gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
0xc44ef1 gimple_get_virt_method_for_vtable(long, tree_node*, unsigned long,
bool*)
/space/rguenther/src/svn/trunk2/gcc/gimple-fold.c:5635
0x1812801 ipa_get_indirect_edge_target_1
/space/rguenther/src/svn/trunk2/gcc/ipa-cp.c:1932
0x1812dd9 ipa_get_indirect_edge_target(cgraph_edge*, vec<tree_node*, va_heap,
vl_ptr>, vec<ipa_polymorphic_call_context, va_heap, vl_ptr>,
vec<ipa_agg_jump_function*, va_heap, vl_ptr>, bool*)
/space/rguenther/src/svn/trunk2/gcc/ipa-cp.c:2030
0xd42213 estimate_edge_devirt_benefit
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3007
0xd42394 estimate_edge_size_and_time
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3048
0xd4262e estimate_calls_size_and_time
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3110
0xd4256a estimate_calls_size_and_time
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3098
0xd42aaa estimate_node_size_and_time
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3205
0xd44129 do_estimate_edge_time(cgraph_edge*)
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3701
0xd44303 do_estimate_edge_size(cgraph_edge*)
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3752
0xd394e2 estimate_edge_size
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.h:289
0xd39549 estimate_edge_growth
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.h:302
0xd44688 estimate_size_after_inlining(cgraph_node*, cgraph_edge*)
/space/rguenther/src/svn/trunk2/gcc/ipa-inline-analysis.c:3845
0x1824835 caller_growth_limits
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:204
0x1824f3f can_inline_edge_p
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:374
0x1827307 update_caller_keys
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:1208
0x1828ede inline_small_functions
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:1838
0x1829e68 ipa_inline
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:2189
0x182a996 execute
/space/rguenther/src/svn/trunk2/gcc/ipa-inline.c:2562
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
@ 2014-12-12 10:19 ` rguenth at gcc dot gnu.org
2014-12-12 10:28 ` trippels at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-12 10:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |5.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
@ 2014-12-12 10:28 ` trippels at gcc dot gnu.org
2014-12-12 11:00 ` trippels at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-12-12 10:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |trippels at gcc dot gnu.org
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Might be a dup of PR64139.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
2014-12-12 10:28 ` trippels at gcc dot gnu.org
@ 2014-12-12 11:00 ` trippels at gcc dot gnu.org
2014-12-15 6:30 ` hubicka at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-12-12 11:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
reduced test case:
template <class _T1> struct A
{
_T1 first;
};
struct B
{
int operator!=(B);
};
template <typename _Tp> struct C
{
C (B);
_Tp operator*();
int operator!=(C);
};
template <typename _Tp> class D
{
public:
typedef C<_Tp> const_iterator;
const_iterator m_fn1 () const;
B m_fn2 ();
void m_fn3 ();
};
class F
{
struct G
{
static G &
m_fn5 ()
{
void fn1 ();
return *reinterpret_cast<G *> (fn1);
}
int *
m_fn6 ()
{
return reinterpret_cast<int *> (this);
}
};
struct _Alloc_hider
{
_Alloc_hider (int *p1, int) : _M_p (p1) {}
int *_M_p;
} _M_dataplus;
G &
m_fn4 ()
{
return G::m_fn5 ();
}
public:
F () : _M_dataplus (m_fn4 ().m_fn6 (), 0) {}
};
class H
{
void m_fn7 (const F &, bool &);
bool m_fn8 (const D<F> &, const F &, F &);
};
typedef A<int> CandPair;
class I
{
public:
virtual void m_fn9 (const F &, bool, D<CandPair> &);
};
class J : I
{
public:
void m_fn9 (const F &, bool, D<CandPair> &);
};
D<I *> c;
void
J::m_fn9 (const F &, bool, D<CandPair> &)
{
D<int> a;
for (B b; b != a.m_fn2 ();)
;
}
inline void
fn2 (F p1, int, int, J *p4, D<CandPair>)
{
D<CandPair> d;
d.m_fn3 ();
p4->m_fn9 (p1, 0, d);
for (D<I *>::const_iterator e = c.m_fn1 (); e != c.m_fn2 ();)
(*e)->m_fn9 (p1, 0, d);
}
void
H::m_fn7 (const F &, bool &)
{
A<F> f;
D<F> g;
F h;
m_fn8 (g, f.first, h);
}
bool
H::m_fn8 (const D<F> &p1, const F &, F &)
{
F i;
p1.m_fn1 ();
D<CandPair> j;
fn2 (i, 0, 0, 0, j);
}
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
` (2 preceding siblings ...)
2014-12-12 11:00 ` trippels at gcc dot gnu.org
@ 2014-12-15 6:30 ` hubicka at gcc dot gnu.org
2015-01-13 10:15 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-12-15 6:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2014-12-15
CC| |hubicka at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |hubicka at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Mine.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
` (3 preceding siblings ...)
2014-12-15 6:30 ` hubicka at gcc dot gnu.org
@ 2015-01-13 10:15 ` rguenth at gcc dot gnu.org
2015-01-27 17:00 ` hubicka at gcc dot gnu.org
2015-01-27 17:10 ` hubicka at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13 10:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
` (4 preceding siblings ...)
2015-01-13 10:15 ` rguenth at gcc dot gnu.org
@ 2015-01-27 17:00 ` hubicka at gcc dot gnu.org
2015-01-27 17:10 ` hubicka at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-27 17:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Tue Jan 27 16:59:31 2015
New Revision: 220177
URL: https://gcc.gnu.org/viewcvs?rev=220177&root=gcc&view=rev
Log:
PR ipa/64282
* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
on vtable being vtable.
* g++.dg/torture/pr64282.C: New testcase.
Added:
trunk/gcc/testsuite/g++.dg/torture/pr64282.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimple-fold.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
` (5 preceding siblings ...)
2015-01-27 17:00 ` hubicka at gcc dot gnu.org
@ 2015-01-27 17:10 ` hubicka at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-27 17:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The fix may make sense to be backported to 4.9 if the bug reproduces there.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-01-27 17:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-12 10:19 [Bug ipa/64282] New: [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635 rguenth at gcc dot gnu.org
2014-12-12 10:19 ` [Bug ipa/64282] " rguenth at gcc dot gnu.org
2014-12-12 10:28 ` trippels at gcc dot gnu.org
2014-12-12 11:00 ` trippels at gcc dot gnu.org
2014-12-15 6:30 ` hubicka at gcc dot gnu.org
2015-01-13 10:15 ` rguenth at gcc dot gnu.org
2015-01-27 17:00 ` hubicka at gcc dot gnu.org
2015-01-27 17:10 ` hubicka at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).