re PR fortran/40726 (miscompilation at -O1)
authorPaul Thomas <pault@gcc.gnu.org>
Tue, 21 Jul 2009 04:51:30 +0000 (04:51 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Tue, 21 Jul 2009 04:51:30 +0000 (04:51 +0000)
2009-07-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40726
* trans-decl.c (gfc_get_extern_function_decl): Do not set
DECL_IS_MALLOC for pointer valued functions.
(build_function_decl): The same.

From-SVN: r149846

gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c

index fcf194a..ebd8a4c 100644 (file)
@@ -1,3 +1,10 @@
+2009-07-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/40726
+       * trans-decl.c (gfc_get_extern_function_decl): Do not set
+       DECL_IS_MALLOC for pointer valued functions.
+       (build_function_decl): The same.
+
 2009-07-19  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/40727
index 5133888..fa25782 100644 (file)
@@ -1423,12 +1423,6 @@ gfc_get_extern_function_decl (gfc_symbol * sym)
                       FUNCTION_DECL, name, type);
 
   SET_DECL_ASSEMBLER_NAME (fndecl, mangled_name);
-  /* If the return type is a pointer, avoid alias issues by setting
-     DECL_IS_MALLOC to nonzero. This means that the function should be
-     treated as if it were a malloc, meaning it returns a pointer that
-     is not an alias.  */
-  if (POINTER_TYPE_P (type))
-    DECL_IS_MALLOC (fndecl) = 1;
 
   /* Set the context of this decl.  */
   if (0 && sym->ns && sym->ns->proc_name)
@@ -1559,13 +1553,6 @@ build_function_decl (gfc_symbol * sym)
   /* Don't call layout_decl for a RESULT_DECL.
      layout_decl (result_decl, 0);  */
 
-  /* If the return type is a pointer, avoid alias issues by setting
-     DECL_IS_MALLOC to nonzero. This means that the function should be
-     treated as if it were a malloc, meaning it returns a pointer that
-     is not an alias.  */
-  if (POINTER_TYPE_P (type))
-    DECL_IS_MALLOC (fndecl) = 1;
-
   /* Set up all attributes for the function.  */
   DECL_CONTEXT (fndecl) = current_function_decl;
   DECL_EXTERNAL (fndecl) = 0;