diff options
author | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2013-09-18 18:27:49 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2013-09-18 18:27:49 +0000 |
commit | c9b29b2540c8f68779937cd6024d256774538a2d (patch) | |
tree | 504b55ffc84319f85fe2a6ecf1351304b56f259e /gcc | |
parent | 080cbf9ecbdb635632aa8b5d9b0f7956020f5369 (diff) | |
download | gcc-c9b29b2540c8f68779937cd6024d256774538a2d.zip gcc-c9b29b2540c8f68779937cd6024d256774538a2d.tar.gz gcc-c9b29b2540c8f68779937cd6024d256774538a2d.tar.bz2 |
Add missed testsuite/g++.dg/pr58438.C
From-SVN: r202715
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.dg/pr58438.C | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/pr58438.C b/gcc/testsuite/g++.dg/pr58438.C new file mode 100644 index 0000000..4c62cb2 --- /dev/null +++ b/gcc/testsuite/g++.dg/pr58438.C @@ -0,0 +1,45 @@ +/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +/* { dg-options "-march=amdfam10 -O3 -fprofile-generate" } */ +enum gimple_code {}; +struct A { + gimple_code code; +}; +struct B { + A gsbase; +}; +int **a; +int b, d, e, f, g, h, i, j, k, l, m, n, o; +gimple_code c, p; +class C { + virtual unsigned m_fn1(); +}; +B q; +static int fn1() { + int r; + if (k) + i = 0; + for (; i; j++) { + b = c <= 0; + if (b) + n = *a[0]; + b = p && c; + if (b) + r = *a[0]; + b = q.gsbase.code && c; + if (b) + o = *a[0]; + m = o; + if (e || 1 & r || d || l) + return 0; + } +} + +class D : C { + unsigned m_fn1() { + fn1(); + for (; h; g++) + for (;; f++) + ; + } +}; +void fn2() { new D; } |