[PATCH] Fix Ada regressions caused by my last builtins.c patch (PR ada/23593)
Jakub Jelinek
jakub@redhat.com
Sat Aug 27 21:26:00 GMT 2005
Hi!
I misread what component_ref_for_mem_expr is doing. It
doesn't skip nops etc. in between COMPONENT_REFs, only around
the first COMPONENT_REF and inside of the last COMPONENT_REF.
Bootstrapped/regtested on i386-linux, fixes the 5 Ada regressions
mentioned in the PR.
Ok for HEAD/4.0?
2005-08-27 Jakub Jelinek <jakub@redhat.com>
PR ada/23593
* builtins.c (get_memory_rtx): Don't strip nops
in between COMPONENT_REFs.
--- gcc/builtins.c.jj 2005-08-27 10:57:54.000000000 +0200
+++ gcc/builtins.c 2005-08-27 18:46:30.000000000 +0200
@@ -1108,13 +1108,6 @@ get_memory_rtx (tree exp, tree len)
mem_expr = TREE_OPERAND (mem_expr, 0);
inner = TREE_OPERAND (inner, 0);
-
- while (TREE_CODE (inner) == NOP_EXPR
- || TREE_CODE (inner) == CONVERT_EXPR
- || TREE_CODE (inner) == NON_LVALUE_EXPR
- || TREE_CODE (inner) == VIEW_CONVERT_EXPR
- || TREE_CODE (inner) == SAVE_EXPR)
- inner = TREE_OPERAND (inner, 0);
}
if (mem_expr == NULL)
Jakub
More information about the Gcc-patches
mailing list