As Andrew Pinski noted in PR60674: devirt-23.C started to pass with r16-101-g132d01d96ea9d6.
So just need to update the testcase removing the xfail and close this bug as fixed. The reason why this was not fixed until r16-101-g132d01d96ea9d6 is because the call is from main which is known to be called once and was not a candidate for IPA-CP until then. In fact renaming the function from main to f (and adding a `return 0` so not invoking undefined behavior), the scan-ipa-dump works all the way back to GCC 5. Tested on aarch64-linux-gnu and arm-linux-gnueabihf. gcc/testsuite/ChangeLog: * g++.dg/ipa/devirt-23.C: Remove xfail. --- gcc/testsuite/g++.dg/ipa/devirt-23.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.dg/ipa/devirt-23.C b/gcc/testsuite/g++.dg/ipa/devirt-23.C index 15e65b579f7e..2395f8fae859 100644 --- a/gcc/testsuite/g++.dg/ipa/devirt-23.C +++ b/gcc/testsuite/g++.dg/ipa/devirt-23.C @@ -45,4 +45,4 @@ int main() { class C c; } -/* { dg-final { scan-ipa-dump "Discovered a virtual call to" "cp" { xfail *-*-* } } } */ +/* { dg-final { scan-ipa-dump "Discovered a virtual call to" "cp" } } */