+2007-11-30 Zdenek Dvorak <ook@ucw.cz>
+
+ * gcc.dg/tree-ssa/pr34244.c: Fixed.
+
2007-11-30 Tobias Burnus <burnus@net-b.de>
PR fortran/34133
abort ();
return 0;
}
-/* PR tree-optimization/34244 */
-/* { dg-do run } */
-/* { dg-options "-O2 " } */
-
-int __attribute__((noinline)) GetParent(void)
-{
- static int count = 0;
- count++;
- switch (count)
- {
- case 1:
- case 3:
- case 4:
- return 1;
- default:
- return 0;
- }
-}
-int __attribute__((noinline)) FindCommonAncestor(int aNode1, int aNode2)
-{
- if (aNode1 && aNode2) {
- int offset = 0;
- int anc1 = aNode1;
- for (;;) {
- ++offset;
- int parent = GetParent();
- if (!parent)
- break;
- anc1 = parent;
- }
- int anc2 = aNode2;
- for (;;) {
- --offset;
- int parent = GetParent();
- if (!parent)
- break;
- anc2 = parent;
- }
- if (anc1 == anc2) {
- anc1 = aNode1;
- anc2 = aNode2;
- while (offset > 0) {
- anc1 = GetParent();
- --offset;
- }
- while (offset < 0) {
- anc2 = GetParent();
- ++offset;
- }
- while (anc1 != anc2) {
- anc1 = GetParent();
- anc2 = GetParent();
- }
- return anc1;
- }
- }
- return 0;
-}
-extern void abort (void);
-int main()
-{
- if (FindCommonAncestor (1, 1) != 0)
- abort ();
- return 0;
-}