From 7415cfe42b4bbd3568e7acd72c888d2b9048daba Mon Sep 17 00:00:00 2001 From: burnus Date: Thu, 3 Nov 2011 22:32:37 +0000 Subject: 2011-11-03 Tobias Burnus PR fortran/50960 * trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as * TREE_READONLY. 2011-11-03 Tobias Burnus PR fortran/50960 * gfortran.dg/module_parameter_array_refs_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180878 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/trans-decl.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/fortran/trans-decl.c') diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index b7460b779e2..b90b0ab25b6 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -517,6 +517,10 @@ gfc_finish_var_decl (tree decl, gfc_symbol * sym) /* If it wasn't used we wouldn't be getting it. */ TREE_USED (decl) = 1; + if (sym->attr.flavor == FL_PARAMETER + && (sym->attr.dimension || sym->ts.type == BT_DERIVED)) + TREE_READONLY (decl) = 1; + /* Chain this decl to the pending declarations. Don't do pushdecl() because this would add them to the current scope rather than the function scope. */ -- cgit v1.2.1