diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/g++.dg/tree-ssa/pr13146.C')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/g++.dg/tree-ssa/pr13146.C | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/tree-ssa/pr13146.C b/gcc-4.8.1/gcc/testsuite/g++.dg/tree-ssa/pr13146.C deleted file mode 100644 index 22baf03d3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/tree-ssa/pr13146.C +++ /dev/null @@ -1,77 +0,0 @@ -/* { dg-do link } */ -/* { dg-options "-O -fstrict-aliasing" } */ - -class first -{ -public: - double d; - int f1; -}; - -class middle : public first -{ -}; - -class second : public middle -{ -public: - int f2; - short a; -}; - -class third -{ -public: - char a; - char b; -}; - -class multi: public third, public second -{ -public: - short s; - /* The following field used to be of type char but that causes - class multi to effectively get alias-set zero which we end - up not optimizing because of the fix for PR44164. */ - int f3; -}; - -extern void link_error (); - -void -foo (first *s1, second *s2) -{ - s1->f1 = 0; - s2->f2 = 0; - s1->f1++; - s2->f2++; - s1->f1++; - s2->f2++; - if (s1->f1 != 2) - link_error (); -} - -void -bar (first *s1, multi *s3) -{ - s1->f1 = 0; - s3->f3 = 0; - s1->f1++; - s3->f3++; - s1->f1++; - s3->f3++; - if (s1->f1 != 2) - link_error (); -} - - -int -main() -{ - first a; - second b; - multi c; - foo (&a, &b); - bar (&a, &c); - return 0; -} |