http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55476



Tobias Burnus <burnus at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |NEW

   Last reconfirmed|                            |2012-11-26

            Summary|[4.8 Regression] Bogus      |Bogus warning "Pointer

                   |warning "Pointer might      |might outlive the pointer

                   |outlive the pointer target" |target"

     Ever Confirmed|0                           |1



--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-11-26 
22:06:53 UTC ---

Well, the warning is perfectly correct: The pointer *might* outlive the target

- it doesn't say that it has to ;-)



The problem is that:

  lvalue->symtree->n.sym->attr.host_assoc

is true.



Draft patch:



--- a/gcc/fortran/expr.c

+++ b/gcc/fortran/expr.c

@@ -3695,3 +3695,5 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr

*rvalue)

             || lvalue->symtree->n.sym->attr.function

-            || lvalue->symtree->n.sym->attr.host_assoc

+            || (lvalue->symtree->n.sym->attr.host_assoc

+                && lvalue->symtree->n.sym->ns

+                   != rvalue->symtree->n.sym->ns)

             || lvalue->symtree->n.sym->attr.use_assoc

Reply via email to