https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47316
Eric Gallager changed:
What|Removed |Added
CC||egallager at gcc dot gnu.org
S
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47316
--- Comment #5 from Jan Hubicka ---
The testcase provided now generates:
void foo(A*) (struct A * a)
{
int (*__vtbl_ptr_type) () * _3;
int (*__vtbl_ptr_type) () _4;
int i.0_6;
int i.1_7;
void * PROF_9;
int i.2_11;
int i.3_12;
:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47316
Jan Hubicka changed:
What|Removed |Added
CC||hubicka at gcc dot gnu.org
--- Comment #4 f
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47316
--- Comment #3 from Martin Jambor 2011-01-17
12:20:09 UTC ---
Actually, thanks for filing the bug. Devirtualization and other
optimizations (such as struct-reorg) based on type escape analysis are
a debated issue and it is nice to know users hav
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47316
--- Comment #2 from Jonathan Wakely 2011-01-17
12:02:02 UTC ---
(In reply to comment #1)
> Actually better solution would be function and type attributes, hinting the
> function is never overriden.
C++0x has override control features:
struct B
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47316
--- Comment #1 from Zdenek Sojka 2011-01-17 06:48:50
UTC ---
Actually better solution would be function and type attributes, hinting the
function is never overriden.
The automatic analysis wouldn't work in cases like:
std::vector vec;
if there