diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index c3240f44e8d48e22af17a1edf8fba5d615c0afee..679633d616d173efc813c2fdea759066b6b69129 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2019-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/90539
+	* trans-types.c (get_formal_from_actual_arglist): Set rank
+	and lower bound for assumed size arguments.
+
 2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
 
 	* trans-stmt.c (gfc_trans_critical): Use size_type_node for
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 22410b551e6cfea065eb6ed14618ef062b1c316d..e16de59f6668495ccc7f0cffd85d7c62a008e2c9 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -3010,6 +3010,10 @@ get_formal_from_actual_arglist (gfc_symbol *sym, gfc_actual_arglist *actual_args
 		{
 		  s->attr.dimension = 1;
 		  s->as = gfc_get_array_spec ();
+		  s->as->rank = 1;
+		  s->as->lower[0] = gfc_get_int_expr (gfc_index_integer_kind,
+						      &a->expr->where, 1);
+		  s->as->upper[0] = NULL;
 		  s->as->type = AS_ASSUMED_SIZE;
 		}
 	    }