Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/ipa/ipa-icf-4.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 1830386684a0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/ipa/ipa-icf-4.C Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,47 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-ipa-icf -fno-inline" } */ + +namespace { +struct A +{ + virtual void foo(void) {} +}; +struct B: virtual A +{ + virtual void foo(void) {} +}; +struct C: virtual A +{ + virtual void bar(void) {} +}; +struct D: virtual A +{ + virtual void sparta(void) {} +}; +struct E: B,C,D +{ + virtual void foo(void) {} + virtual void barbar(void) {} +}; +} // anonymous namespace + +int main() +{ + struct A a; + struct B b; + struct C c; + struct D d; + struct E e; + + a.foo(); + b.foo(); + c.bar(); + d.foo(); + d.sparta(); + e.barbar(); + + return 123; +} + +/* { dg-final { scan-ipa-dump "\(Unified; Variable alias has been created\)|\(Symbol aliases are not supported by target\)" "icf" } } */ +/* { dg-final { scan-ipa-dump "Equal symbols: \[67\]" "icf" } } */