diff options
author | Markus Trippelsdorf <markus@trippelsdorf.de> | 2015-01-12 07:48:50 +0000 |
---|---|---|
committer | Markus Trippelsdorf <trippels@gcc.gnu.org> | 2015-01-12 07:48:50 +0000 |
commit | 844c944b8c6c1d7140f210d43d59883da3c08e38 (patch) | |
tree | ef34f0b3f4b1abf6547b2d8971176706757526bf | |
parent | e3bde69aead17eb0e42a6f9c542f0033d642ba74 (diff) | |
download | gcc-844c944b8c6c1d7140f210d43d59883da3c08e38.zip gcc-844c944b8c6c1d7140f210d43d59883da3c08e38.tar.gz gcc-844c944b8c6c1d7140f210d43d59883da3c08e38.tar.bz2 |
ipa/63470 add testcase
2015-01-11 Markus Trippelsdorf <markus@trippelsdorf.de>
PR ipa/63470
* ipa/pr63470.C: New testcase.
From-SVN: r219445
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ipa/pr63470.C | 54 |
2 files changed, 59 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b3b6b59..d673e12 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-01-11 Markus Trippelsdorf <markus@trippelsdorf.de> + + PR ipa/63470 + * ipa/pr63470.C: New testcase. + 2015-01-11 Janus Weil <janus@gcc.gnu.org> PR fortran/63733 diff --git a/gcc/testsuite/g++.dg/ipa/pr63470.C b/gcc/testsuite/g++.dg/ipa/pr63470.C new file mode 100644 index 0000000..e6fa73b --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/pr63470.C @@ -0,0 +1,54 @@ +/* PR ipa/63470.C */ +/* { dg-do compile } */ +/* { dg-options "-O2 -finline-functions" } */ + +class A +{ +public: + virtual bool m_fn1 (); + virtual const char **m_fn2 (int); + virtual int m_fn3 (); +}; +class FTjackSupport : A +{ + ~FTjackSupport (); + bool m_fn1 (); + bool m_fn4 (); + const char ** + m_fn2 (int) + { + } + int _inited; + int *_jackClient; + int _activePathCount; +} + +* a; +void fn1 (...); +void fn2 (void *); +int fn3 (int *); +FTjackSupport::~FTjackSupport () { m_fn4 (); } + +bool +FTjackSupport::m_fn1 () +{ + if (!_jackClient) + return 0; + for (int i=0; _activePathCount; ++i) + if (m_fn2 (i)) + fn2 (a); + if (m_fn3 ()) + fn2 (a); + if (fn3 (_jackClient)) + fn1 (0); +} + +bool +FTjackSupport::m_fn4 () +{ + if (_inited && _jackClient) + { + m_fn1 (); + return 0; + } +} |