OSDN Git Service

2012-02-21 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Feb 2012 14:10:31 +0000 (14:10 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Feb 2012 14:10:31 +0000 (14:10 +0000)
PR middle-end/52314
* gimplify.c (create_tmp_from_val): Use the main variant type
for the type of the temporary we create.

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

gcc/ChangeLog
gcc/gimplify.c

index 4388b68..489befa 100644 (file)
@@ -1,5 +1,11 @@
 2012-02-21  Richard Guenther  <rguenther@suse.de>
 
+       PR middle-end/52314
+       * gimplify.c (create_tmp_from_val): Use the main variant type
+       for the type of the temporary we create.
+
+2012-02-21  Richard Guenther  <rguenther@suse.de>
+
        PR tree-optimization/52324
        * gimplify.c (gimplify_expr): When re-gimplifying expressions
        do not gimplify a MEM_REF address operand if it is already
index a214134..07eb8fd 100644 (file)
@@ -504,7 +504,8 @@ create_tmp_reg (tree type, const char *prefix)
 static inline tree
 create_tmp_from_val (tree val)
 {
-  return create_tmp_var (TREE_TYPE (val), get_name (val));
+  /* Drop all qualifiers and address-space information from the value type.  */
+  return create_tmp_var (TYPE_MAIN_VARIANT (TREE_TYPE (val)), get_name (val));
 }
 
 /* Create a temporary to hold the value of VAL.  If IS_FORMAL, try to reuse