OSDN Git Service

* tree-ssa-structalias.c (intra_create_variable_infos): Do not create
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Jan 2012 11:19:22 +0000 (11:19 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Jan 2012 11:19:22 +0000 (11:19 +0000)
fake variables for restrict-qualified pointers whose pointed-to type
contains a placeholder.

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

gcc/ChangeLog
gcc/tree-ssa-structalias.c

index 60697f8..b953cd0 100644 (file)
@@ -1,3 +1,9 @@
+2012-01-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
+       fake variables for restrict-qualified pointers whose pointed-to type
+       contains a placeholder.
+
 2012-01-23  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/51949
index 5a55d16..b65f5aa 100644 (file)
@@ -5664,7 +5664,8 @@ intra_create_variable_infos (void)
         Treat restrict qualified references the same.  */
       if (TYPE_RESTRICT (TREE_TYPE (t))
          && ((DECL_BY_REFERENCE (t) && POINTER_TYPE_P (TREE_TYPE (t)))
-             || TREE_CODE (TREE_TYPE (t)) == REFERENCE_TYPE))
+             || TREE_CODE (TREE_TYPE (t)) == REFERENCE_TYPE)
+         && !type_contains_placeholder_p (TREE_TYPE (TREE_TYPE (t))))
        {
          struct constraint_expr lhsc, rhsc;
          varinfo_t vi;