aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-decl.cc
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2023-06-28 12:38:58 +0100
committerPaul Thomas <pault@gcc.gnu.org>2023-06-28 12:38:58 +0100
commit3521768e8e3c448052c5bd3e8fde412e9cf5d70f (patch)
tree712a8d50da805e6d9aa69e0b47657f5e107f4f35 /gcc/fortran/trans-decl.cc
parent4afbebcdc5780d28e52b7d65643e462c7c3882ce (diff)
downloadgcc-3521768e8e3c448052c5bd3e8fde412e9cf5d70f.zip
gcc-3521768e8e3c448052c5bd3e8fde412e9cf5d70f.tar.gz
gcc-3521768e8e3c448052c5bd3e8fde412e9cf5d70f.tar.bz2
Fortran: Enable class expressions in structure constructors [PR49213]
2023-06-28 Paul Thomas <pault@gcc.gnu.org> gcc/fortran PR fortran/49213 * expr.cc (gfc_is_ptr_fcn): Remove reference to class_pointer. * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow associate names with pointer function targets to be used in variable definition context. * trans-decl.cc (get_symbol_decl): Remove extraneous line. * trans-expr.cc (alloc_scalar_allocatable_subcomponent): Obtain size of intrinsic and character expressions. (gfc_trans_subcomponent_assign): Expand assignment to class components to include intrinsic and character expressions. gcc/testsuite/ PR fortran/49213 * gfortran.dg/pr49213.f90 : New test
Diffstat (limited to 'gcc/fortran/trans-decl.cc')
-rw-r--r--gcc/fortran/trans-decl.cc1
1 files changed, 0 insertions, 1 deletions
diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index 18589e1..b0fd25e 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -1915,7 +1915,6 @@ gfc_get_symbol_decl (gfc_symbol * sym)
gcc_assert (!sym->value || sym->value->expr_type == EXPR_NULL);
}
-
gfc_finish_var_decl (decl, sym);
if (sym->ts.type == BT_CHARACTER)