Hi Jan,

> this patch makes ipa_polymorphic_call_context::get_dynamic_type to
> track if vptr has changed in between function entry and polymorphic
> call.
>
> The patch also add logic skipping if (a==0) checks in multiple
> inheritance so I can construct testcase more easily.
>
> I got my SVN tree into an inconsistent state yesterday by stopping in
> middle of commit.  The patch went in in two parts, so i am attaching 
> both changes. Quite few of devirt-4*.C was broken overnight, I apologize
> for that.

as of yesterday (r215969), many of the devirt-4*.C tests come up
UNRESOLVED on both Solaris/x86 and Solaris/SPARC:

UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++11  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++11  scan-ipa-dump-times optimized 
"return 2" 2
UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++1y  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++1y  scan-ipa-dump-times optimized 
"return 2" 2
UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++98  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++98  scan-ipa-dump-times optimized 
"return 2" 2
UNRESOLVED: g++.dg/ipa/devirt-46.C  -std=gnu++11  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-46.C  -std=gnu++11  scan-ipa-dump-not optimized 
"abort"
UNRESOLVED: g++.dg/ipa/devirt-46.C  -std=gnu++1y  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-46.C  -std=gnu++1y  scan-ipa-dump-not optimized 
"abort"
UNRESOLVED: g++.dg/ipa/devirt-46.C  -std=gnu++98  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-46.C  -std=gnu++98  scan-ipa-dump-not optimized 
"abort"
UNRESOLVED: g++.dg/ipa/devirt-47.C  -std=gnu++11  scan-ipa-dump optimized 
"C::_ZThn"
UNRESOLVED: g++.dg/ipa/devirt-47.C  -std=gnu++11  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-47.C  -std=gnu++1y  scan-ipa-dump optimized 
"C::_ZThn"
UNRESOLVED: g++.dg/ipa/devirt-47.C  -std=gnu++1y  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"
UNRESOLVED: g++.dg/ipa/devirt-47.C  -std=gnu++98  scan-ipa-dump optimized 
"C::_ZThn"
UNRESOLVED: g++.dg/ipa/devirt-47.C  -std=gnu++98  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"

both 32 and 64-bit.

In all cases, g++.log shows

g++.dg/ipa/devirt-42.C  -std=gnu++98 : dump file does not exist
UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++98  scan-ipa-dump-times optimized 
"return 2" 2
g++.dg/ipa/devirt-42.C  -std=gnu++98 : dump file does not exist
UNRESOLVED: g++.dg/ipa/devirt-42.C  -std=gnu++98  scan-ipa-dump-not optimized 
"OBJ_TYPE_REF"

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to