aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2009-08-09 10:35:36 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2009-08-09 10:35:36 +0200
commit2b374f55986f4d4c84d1af9a9a6be1c8d72b1e91 (patch)
tree062189decd4fd69dc34c13ea034acb58e8725c39 /gcc/fortran/resolve.c
parent2c08497af02c674b5f87b988b55f8a79d2e77195 (diff)
downloadgcc-2b374f55986f4d4c84d1af9a9a6be1c8d72b1e91.zip
gcc-2b374f55986f4d4c84d1af9a9a6be1c8d72b1e91.tar.gz
gcc-2b374f55986f4d4c84d1af9a9a6be1c8d72b1e91.tar.bz2
re PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)
2009-08-05 Tobias Burnus <burnus@net-b.de> PR fortran/40955 * gfortran.h (ext_attr_id_t): Add typedef for this enum. (gfc_add_ext_attribute): Use it. * decl.c (gfc_match_gcc_attributes): Ditto. * expr.c (gfc_check_pointer_assign): Ditto. * symbol.c (gfc_add_ext_attribute): Ditto. (gfc_copy_attr): Copy also ext_attr. * resolve.c (resolve_fl_derived,resolve_symbol): Ditto. * module.c (mio_symbol_attribute): Save ext_attr in the mod * file. 2009-08-05 Tobias Burnus <burnus@net-b.de> PR fortran/40955 * gfortran.dg/module_md5_1.f90: Update MD5 check sum. From-SVN: r150589
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 14a111e..39f3cdc 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -9217,6 +9217,7 @@ resolve_fl_derived (gfc_symbol *sym)
c->attr.elemental = ifc->attr.elemental;
c->attr.recursive = ifc->attr.recursive;
c->attr.always_explicit = ifc->attr.always_explicit;
+ c->attr.ext_attr |= ifc->attr.ext_attr;
/* Replace symbols in array spec. */
if (c->as)
{
@@ -9712,6 +9713,7 @@ resolve_symbol (gfc_symbol *sym)
sym->attr.dimension = ifc->attr.dimension;
sym->attr.recursive = ifc->attr.recursive;
sym->attr.always_explicit = ifc->attr.always_explicit;
+ sym->attr.ext_attr |= ifc->attr.ext_attr;
/* Copy array spec. */
sym->as = gfc_copy_array_spec (ifc->as);
if (sym->as)