re PR c++/67184 (Missed optimization with C++11 final specifier)
2019-06-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67184 PR c++/69445 * g++.dg/other/final3.C: New. * g++.dg/other/final5.C: Likewise. From-SVN: r272675
This commit is contained in:
parent
d55c1ffd49
commit
2bca2d6a72
3 changed files with 54 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2019-06-26 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/67184
|
||||
PR c++/69445
|
||||
* g++.dg/other/final3.C: New.
|
||||
* g++.dg/other/final5.C: Likewise.
|
||||
|
||||
2019-06-26 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/90991
|
||||
|
|
28
gcc/testsuite/g++.dg/other/final3.C
Normal file
28
gcc/testsuite/g++.dg/other/final3.C
Normal file
|
@ -0,0 +1,28 @@
|
|||
// PR c++/67184
|
||||
// { dg-do compile { target c++11 } }
|
||||
// { dg-options "-fdump-tree-original" }
|
||||
|
||||
struct V {
|
||||
virtual void foo();
|
||||
};
|
||||
|
||||
struct wV final : V {
|
||||
};
|
||||
|
||||
struct oV final : V {
|
||||
void foo();
|
||||
};
|
||||
|
||||
void call(wV& x)
|
||||
{
|
||||
x.foo();
|
||||
x.V::foo();
|
||||
}
|
||||
|
||||
void call(oV& x)
|
||||
{
|
||||
x.foo();
|
||||
x.V::foo();
|
||||
}
|
||||
|
||||
// { dg-final { scan-tree-dump-times "OBJ_TYPE_REF" 0 "original" } }
|
19
gcc/testsuite/g++.dg/other/final5.C
Normal file
19
gcc/testsuite/g++.dg/other/final5.C
Normal file
|
@ -0,0 +1,19 @@
|
|||
// PR c++/69445
|
||||
// { dg-do compile { target c++11 } }
|
||||
// { dg-options "-fdump-tree-original" }
|
||||
|
||||
struct Base {
|
||||
virtual void foo() const = 0;
|
||||
virtual void bar() const {}
|
||||
};
|
||||
|
||||
struct C final : Base {
|
||||
void foo() const { }
|
||||
};
|
||||
|
||||
void func(const C & c) {
|
||||
c.bar();
|
||||
c.foo();
|
||||
}
|
||||
|
||||
// { dg-final { scan-tree-dump-times "OBJ_TYPE_REF" 0 "original" } }
|
Loading…
Add table
Reference in a new issue