diff options
author | David B. Robins <gcc@davidrobins.net> | 2016-06-20 20:02:03 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2016-06-20 20:02:03 +0000 |
commit | 3947cf1919a959ad8e2a3f09b42c604c5553a6c4 (patch) | |
tree | 18a7e998977efc76ff59914ba6ace9103e92b16d | |
parent | b2b4e462a8ba31b605fa8caeeff1041331658414 (diff) | |
download | gcc-3947cf1919a959ad8e2a3f09b42c604c5553a6c4.zip gcc-3947cf1919a959ad8e2a3f09b42c604c5553a6c4.tar.gz gcc-3947cf1919a959ad8e2a3f09b42c604c5553a6c4.tar.bz2 |
re PR target/71571 ([CRIS] Multiple inheritance non-virtual PIC thunk causes crash)
PR target/71571
* g++.dg/torture/pr71571.C: New test.
From-SVN: r237616
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rwxr-xr-x | gcc/testsuite/g++.dg/torture/pr71571.C | 43 |
2 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d2963c3..96b664d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-06-20 David B. Robins <gcc@davidrobins.net> + + PR target/71571 + * g++.dg/torture/pr71571.C: New test. + 2016-06-20 Jakub Jelinek <jakub@redhat.com> PR target/71559 diff --git a/gcc/testsuite/g++.dg/torture/pr71571.C b/gcc/testsuite/g++.dg/torture/pr71571.C new file mode 100755 index 0000000..e60edcd --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr71571.C @@ -0,0 +1,43 @@ +// { dg-do run } +// { dg-options "-fno-inline" { target { ! fpic } } } +// { dg-options "-fpic -fno-inline" { target fpic } } + +class XBase +{ +public: + virtual void FuncA() = 0; +}; + +class Y +{ +protected: + virtual void FuncB() {} +}; + +class X1 : public Y, public XBase +{ +public: + void FuncA() {} +}; + +class X2 : public XBase +{ +public: + X2(XBase &xb) : m_xb(xb) { } + void FuncA() + { + m_xb.FuncA(); + } + +private: + XBase &m_xb; +}; + + +int main() +{ + X1 x1; + X2 x2(x1); + XBase *pxb = &x2; + pxb->FuncA(); +} |