re PR fortran/31473 (gfortran does not detect duplicate EXTERNAL or INTRINSIC declarations)

2007-06-22  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31473
        * symbol.c (gfc_copy_attr): Emit errors for duplicate
        EXTERNAL/INTRINSIC statements.

From-SVN: r125954
This commit is contained in:
Daniel Franke 2007-06-22 14:33:35 -04:00 committed by Daniel Franke
parent 147bbdd051
commit 23bc73b563
2 changed files with 11 additions and 8 deletions

View file

@ -1,3 +1,9 @@
2007-06-22 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31473
* symbol.c (gfc_copy_attr): Emit errors for duplicate
EXTERNAL/INTRINSIC statements.
2007-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/32360

View file

@ -1436,14 +1436,11 @@ gfc_copy_attr (symbol_attribute * dest, symbol_attribute * src, locus * where)
goto fail;
if (src->cray_pointee && gfc_add_cray_pointee (dest, where) == FAILURE)
goto fail;
/* The subroutines that set these bits also cause flavors to be set,
and that has already happened in the original, so don't let it
happen again. */
if (src->external)
dest->external = 1;
if (src->intrinsic)
dest->intrinsic = 1;
if (src->external && gfc_add_external (dest, where) == FAILURE)
goto fail;
if (src->intrinsic && gfc_add_intrinsic (dest, where) == FAILURE)
goto fail;
return SUCCESS;