aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-11-05 15:10:35 +0100
committerTobias Schlüter <tobi@gcc.gnu.org>2004-11-05 15:10:35 +0100
commitadf3ed3f3812861d98f00dee10b00287703d88c0 (patch)
treeafa56173da21b06b62baa17cf5e08c21510cdfe3
parentc7a35fe9f34afd9c7c8665fcee385ac7732d3e78 (diff)
downloadgcc-adf3ed3f3812861d98f00dee10b00287703d88c0.zip
gcc-adf3ed3f3812861d98f00dee10b00287703d88c0.tar.gz
gcc-adf3ed3f3812861d98f00dee10b00287703d88c0.tar.bz2
re PR fortran/15164 (trans-decl.c:411: gfc_finish_var_decl: Assertion failed)
PR fortran/15164 * trans-decl.c (gfc_finish_var_decl): Don't declare arguments to module procedures as if they were module variables. From-SVN: r90125
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-decl.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index da75178c..88acec9 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15164
+ * trans-decl.c (gfc_finish_var_decl): Don't declare arguments to
+ module procedures as if they were module variables.
+
2004-11-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/17535
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 2ac3dcc..c3e2bf0 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -410,9 +410,9 @@ gfc_finish_var_decl (tree decl, gfc_symbol * sym)
DECL_EXTERNAL (decl) = 1;
TREE_PUBLIC (decl) = 1;
}
- else if (sym->module[0] && !sym->attr.result)
+ else if (sym->module[0] && !sym->attr.result && !sym->attr.dummy)
{
- /* TODO: Don't set sym->module for result variables. */
+ /* TODO: Don't set sym->module for result or dummy variables. */
gcc_assert (current_function_decl == NULL_TREE);
/* This is the declaration of a module variable. */
TREE_PUBLIC (decl) = 1;