mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-21 19:35:28 -05:00
Revert "Fortran: Fix diagnostic for ambiguous pointer function assignment [PR80012]"
This reverts commit 84ef494860.
This commit is contained in:
@@ -24,7 +24,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "coretypes.h"
|
||||
#include "options.h"
|
||||
#include "gfortran.h"
|
||||
#include "diagnostic-core.h"
|
||||
#include "parse.h"
|
||||
#include "match.h"
|
||||
#include "constructor.h"
|
||||
@@ -1888,19 +1887,19 @@ gfc_add_procedure (symbol_attribute *attr, procedure_type t,
|
||||
if (attr->proc != PROC_UNKNOWN && !attr->module_procedure
|
||||
&& attr->access == ACCESS_UNKNOWN)
|
||||
{
|
||||
auto_diagnostic_group d;
|
||||
gfc_error ("%s procedure at %L is already declared as %s procedure",
|
||||
gfc_code2string (procedures, t), where,
|
||||
gfc_code2string (procedures, attr->proc));
|
||||
if (attr->proc == PROC_ST_FUNCTION && t == PROC_INTERNAL
|
||||
&& !gfc_notification_std (GFC_STD_F2008))
|
||||
{
|
||||
inform (gfc_get_location (where),
|
||||
"F2008: A pointer function assignment is ambiguous if it is "
|
||||
"the first executable statement after the specification "
|
||||
"block. Please add any other kind of executable "
|
||||
"statement before it");
|
||||
}
|
||||
gfc_error ("%s procedure at %L is already declared as %s "
|
||||
"procedure. \nF2008: A pointer function assignment "
|
||||
"is ambiguous if it is the first executable statement "
|
||||
"after the specification block. Please add any other "
|
||||
"kind of executable statement before it. FIXME",
|
||||
gfc_code2string (procedures, t), where,
|
||||
gfc_code2string (procedures, attr->proc));
|
||||
else
|
||||
gfc_error ("%s procedure at %L is already declared as %s "
|
||||
"procedure", gfc_code2string (procedures, t), where,
|
||||
gfc_code2string (procedures, attr->proc));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-std=gnu" }
|
||||
! PR fortran/80012
|
||||
! Test that the error message for ambiguous pointer function assignment
|
||||
! is split into an error and an informational note, without FIXME.
|
||||
|
||||
two() = 7
|
||||
contains
|
||||
function two () ! { dg-error "INTERNAL-PROC procedure at .1. is already declared as STATEMENT-PROC procedure" }
|
||||
! { dg-message "F2008: A pointer function assignment is ambiguous" "" { target *-*-* } 9 }
|
||||
integer, pointer :: two
|
||||
allocate(two)
|
||||
end function two
|
||||
end
|
||||
Reference in New Issue
Block a user