aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2010-07-02 20:01:05 +0000
committerMikael Morin <mikael@gcc.gnu.org>2010-07-02 20:01:05 +0000
commitff5b6492be92ceeee1c917956758918a0141c542 (patch)
tree40f54ced3d9c479f3c62723343c4507845851199 /gcc/fortran/decl.c
parentdfd6ece2cb3000d9882a7448b8e8ca379a9949b9 (diff)
downloadgcc-ff5b6492be92ceeee1c917956758918a0141c542.zip
gcc-ff5b6492be92ceeee1c917956758918a0141c542.tar.gz
gcc-ff5b6492be92ceeee1c917956758918a0141c542.tar.bz2
re PR fortran/44662 (unitialized memory on testcases abstract_type_6.f03 and typebound_call_4.f03)
2010-07-02 Mikael Morin <mikael@gcc.gnu.org> PR fortran/44662 * decl.c (match_procedure_in_type): Clear structure before using. (gfc_match_generic): Ditto. From-SVN: r161739
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 07c3acb..e5ef139 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -7697,8 +7697,8 @@ match_procedure_in_type (void)
}
/* Construct the data structure. */
+ memset (&tb, 0, sizeof (tb));
tb.where = gfc_current_locus;
- tb.is_generic = 0;
/* Match binding attributes. */
m = match_binding_attributes (&tb, false, false);
@@ -7856,6 +7856,9 @@ gfc_match_generic (void)
ns = block->f2k_derived;
gcc_assert (block && ns);
+ memset (&tbattr, 0, sizeof (tbattr));
+ tbattr.where = gfc_current_locus;
+
/* See if we get an access-specifier. */
m = match_binding_attributes (&tbattr, true, false);
if (m == MATCH_ERROR)