aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2023-07-15 00:17:26 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2023-07-15 00:17:26 +0000
commit18dac101678b8c0aed4bd995351e47f26cd54dec (patch)
tree719c4e74eb9840a947bb0ff61f4450da2b665e5c /gcc/fortran
parent12a1162072eef9b6cdf07a3e3889def18a836221 (diff)
downloadgcc-18dac101678b8c0aed4bd995351e47f26cd54dec.zip
gcc-18dac101678b8c0aed4bd995351e47f26cd54dec.tar.gz
gcc-18dac101678b8c0aed4bd995351e47f26cd54dec.tar.bz2
Daily bump.
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog40
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 7f8d96f..b864810 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,43 @@
+2023-07-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/92178
+ * trans.h (gfc_reset_vptr): Add class_container argument.
+ * trans-expr.cc (gfc_reset_vptr): Ditto. If a valid vptr can
+ be obtained through class_container argument, bypass evaluation
+ of e.
+ (gfc_conv_procedure_call): Wrap the argument evaluation code
+ in a conditional if the associated dummy is optional. Evaluate
+ the data reference to a pointer now, and replace later
+ references with usage of the pointer.
+
+2023-07-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/92178
+ * trans.h (struct gfc_se): New field class_container.
+ (struct gfc_ss_info): Ditto.
+ (gfc_evaluate_data_ref_now): New prototype.
+ * trans.cc (gfc_evaluate_data_ref_now): Implement it.
+ * trans-array.cc (gfc_conv_ss_descriptor): Copy class_container
+ field from gfc_se struct to gfc_ss_info struct.
+ (gfc_conv_expr_descriptor): Copy class_container field from
+ gfc_ss_info struct to gfc_se struct.
+ * trans-expr.cc (gfc_conv_class_to_class): Use class container
+ set in class_container field if available.
+ (gfc_conv_variable): Set class_container field on encountering
+ class variables or components, clear it on encountering
+ non-class components.
+ (gfc_conv_procedure_call): Evaluate data ref to a pointer now,
+ and replace later references by usage of the pointer.
+
+2023-07-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/92178
+ * trans-expr.cc (gfc_conv_procedure_call): Use a separate gfc_se
+ struct, initalized from parmse, to generate the class wrapper.
+ After the class wrapper code has been generated, copy it back
+ depending on whether parameter deallocation code has been
+ generated.
+
2023-07-13 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/106050