OSDN Git Service

2005-07-17 Daniel Berlin <dberlin@dberlin.org>
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Jul 2005 22:28:19 +0000 (22:28 +0000)
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Jul 2005 22:28:19 +0000 (22:28 +0000)
Fix PR tree-optimization/22531
* tree-ssa-pre.c (do_eustores):  Make sure LHS is a decl for the
 moment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102119 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr22531.c [new file with mode: 0644]
gcc/tree-ssa-pre.c

index 3cde015..f5896da 100644 (file)
@@ -1,5 +1,11 @@
 2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
 
+       Fix PR tree-optimization/22531
+       * tree-ssa-pre.c (do_eustores):  Make sure LHS is a decl for the
+        moment.
+
+2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
+
        * tree-promote-statics.c (pass_promote_statics): Change dump file
         name.
 
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr22531.c b/gcc/testsuite/gcc.c-torture/compile/pr22531.c
new file mode 100644 (file)
index 0000000..70e2df7
--- /dev/null
@@ -0,0 +1,7 @@
+typedef struct dw_cfi_oprnd_struct {
+      unsigned long reg;
+} dw_cfa_location;
+void def_cfa_1 (void) {
+      dw_cfa_location loc;
+        loc.reg = loc.reg;
+}
index 67bc6d4..d83b5e4 100644 (file)
@@ -2807,6 +2807,7 @@ do_eustores (void)
 
              if (NUM_SSA_OPERANDS (found, SSA_OP_VUSE) != 1
                  || VUSE_OP (VUSE_OPS (found)) != kill
+                 || !DECL_P (TREE_OPERAND (stmt, 0))
                  || !operand_equal_p (TREE_OPERAND (found, 1), 
                                       TREE_OPERAND (stmt, 0), 0))
                {