* gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Sep 2013 21:57:39 +0000 (21:57 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Sep 2013 21:57:39 +0000 (21:57 +0000)
NULL_TREE before pushing them onto the vector.  Likewise for labels.

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

gcc/ChangeLog
gcc/gimplify.c

index 57fb929..211dfb7 100644 (file)
@@ -1,3 +1,8 @@
+2013-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
+       NULL_TREE before pushing them onto the vector.  Likewise for labels.
+
 2013-09-21  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config/ia64/predicates.md (ia64_cbranch_operator): Accept unordered
index 1589db4..86bda77 100644 (file)
@@ -5419,11 +5419,21 @@ gimplify_asm_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
       vec_safe_push (inputs, link);
     }
 
-  for (link = ASM_CLOBBERS (expr); link; ++i, link = TREE_CHAIN (link))
-    vec_safe_push (clobbers, link);
+  link_next = NULL_TREE;
+  for (link = ASM_CLOBBERS (expr); link; ++i, link = link_next)
+    {
+      link_next = TREE_CHAIN (link);
+      TREE_CHAIN (link) = NULL_TREE;
+      vec_safe_push (clobbers, link);
+    }
 
-  for (link = ASM_LABELS (expr); link; ++i, link = TREE_CHAIN (link))
-    vec_safe_push (labels, link);
+  link_next = NULL_TREE;
+  for (link = ASM_LABELS (expr); link; ++i, link = link_next)
+    {
+      link_next = TREE_CHAIN (link);
+      TREE_CHAIN (link) = NULL_TREE;
+      vec_safe_push (labels, link);
+    }
 
   /* Do not add ASMs with errors to the gimple IL stream.  */
   if (ret != GS_ERROR)