aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/ChangeLog')
-rw-r--r--libgfortran/ChangeLog382
1 files changed, 382 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 03eab2e..057b850 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,385 @@
+2025-06-18 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/82480
+ * intrinsics/stat.c (stat_i4_sub_0): Fix argument names. Rename
+ SARRAY to VALUES also in error message. When array VALUES is
+ KIND=4, get only stat components that do not overflow INT32_MAX,
+ otherwise set the corresponding VALUES elements to -1.
+ (stat_i4_sub): Fix argument names.
+ (lstat_i4_sub): Likewise.
+ (stat_i8_sub_0): Likewise.
+ (stat_i8_sub): Likewise.
+ (lstat_i8_sub): Likewise.
+ (stat_i4): Likewise.
+ (stat_i8): Likewise.
+ (lstat_i4): Likewise.
+ (lstat_i8): Likewise.
+ (fstat_i4_sub): Likewise.
+ (fstat_i8_sub): Likewise.
+ (fstat_i4): Likewise.
+ (fstat_i8): Likewise.
+
+2025-06-11 François-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/116400
+ * Makefile.am: Simplify logic.
+ * Makefile.in: Regenerate.
+ * regenerate.sh: Add some checks.
+
+2025-06-10 François-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/116400
+ * Makefile.am: Remove source file regeneration rules.
+ * Makefile.in: Regenerate.
+ * regenerate.sh: New file.
+
+2025-06-07 François-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/116400
+ * generated/iall_i1.c: Regenerate.
+ * generated/iall_i16.c: Regenerate.
+ * generated/iall_i2.c: Regenerate.
+ * generated/iall_i4.c: Regenerate.
+ * generated/iall_i8.c: Regenerate.
+ * generated/iany_i1.c: Regenerate.
+ * generated/iany_i16.c: Regenerate.
+ * generated/iany_i2.c: Regenerate.
+ * generated/iany_i4.c: Regenerate.
+ * generated/iany_i8.c: Regenerate.
+ * generated/iparity_i1.c: Regenerate.
+ * generated/iparity_i16.c: Regenerate.
+ * generated/iparity_i2.c: Regenerate.
+ * generated/iparity_i4.c: Regenerate.
+ * generated/iparity_i8.c: Regenerate.
+ * generated/matmulavx128_c10.c: Regenerate.
+ * generated/matmulavx128_c16.c: Regenerate.
+ * generated/matmulavx128_c17.c: Regenerate.
+ * generated/matmulavx128_c4.c: Regenerate.
+ * generated/matmulavx128_c8.c: Regenerate.
+ * generated/matmulavx128_i1.c: Regenerate.
+ * generated/matmulavx128_i16.c: Regenerate.
+ * generated/matmulavx128_i2.c: Regenerate.
+ * generated/matmulavx128_i4.c: Regenerate.
+ * generated/matmulavx128_i8.c: Regenerate.
+ * generated/matmulavx128_r10.c: Regenerate.
+ * generated/matmulavx128_r16.c: Regenerate.
+ * generated/matmulavx128_r17.c: Regenerate.
+ * generated/matmulavx128_r4.c: Regenerate.
+ * generated/matmulavx128_r8.c: Regenerate.
+ * generated/maxloc1_16_i1.c: Regenerate.
+ * generated/maxloc1_16_i16.c: Regenerate.
+ * generated/maxloc1_16_i2.c: Regenerate.
+ * generated/maxloc1_16_i4.c: Regenerate.
+ * generated/maxloc1_16_i8.c: Regenerate.
+ * generated/maxloc1_16_r10.c: Regenerate.
+ * generated/maxloc1_16_r16.c: Regenerate.
+ * generated/maxloc1_16_r17.c: Regenerate.
+ * generated/maxloc1_16_r4.c: Regenerate.
+ * generated/maxloc1_16_r8.c: Regenerate.
+ * generated/maxloc1_4_i1.c: Regenerate.
+ * generated/maxloc1_4_i16.c: Regenerate.
+ * generated/maxloc1_4_i2.c: Regenerate.
+ * generated/maxloc1_4_i4.c: Regenerate.
+ * generated/maxloc1_4_i8.c: Regenerate.
+ * generated/maxloc1_4_r10.c: Regenerate.
+ * generated/maxloc1_4_r16.c: Regenerate.
+ * generated/maxloc1_4_r17.c: Regenerate.
+ * generated/maxloc1_4_r4.c: Regenerate.
+ * generated/maxloc1_4_r8.c: Regenerate.
+ * generated/maxloc1_8_i1.c: Regenerate.
+ * generated/maxloc1_8_i16.c: Regenerate.
+ * generated/maxloc1_8_i2.c: Regenerate.
+ * generated/maxloc1_8_i4.c: Regenerate.
+ * generated/maxloc1_8_i8.c: Regenerate.
+ * generated/maxloc1_8_r10.c: Regenerate.
+ * generated/maxloc1_8_r16.c: Regenerate.
+ * generated/maxloc1_8_r17.c: Regenerate.
+ * generated/maxloc1_8_r4.c: Regenerate.
+ * generated/maxloc1_8_r8.c: Regenerate.
+ * generated/maxval_i1.c: Regenerate.
+ * generated/maxval_i16.c: Regenerate.
+ * generated/maxval_i2.c: Regenerate.
+ * generated/maxval_i4.c: Regenerate.
+ * generated/maxval_i8.c: Regenerate.
+ * generated/maxval_r10.c: Regenerate.
+ * generated/maxval_r16.c: Regenerate.
+ * generated/maxval_r17.c: Regenerate.
+ * generated/maxval_r4.c: Regenerate.
+ * generated/maxval_r8.c: Regenerate.
+ * generated/minloc1_16_i1.c: Regenerate.
+ * generated/minloc1_16_i16.c: Regenerate.
+ * generated/minloc1_16_i2.c: Regenerate.
+ * generated/minloc1_16_i4.c: Regenerate.
+ * generated/minloc1_16_i8.c: Regenerate.
+ * generated/minloc1_16_r10.c: Regenerate.
+ * generated/minloc1_16_r16.c: Regenerate.
+ * generated/minloc1_16_r17.c: Regenerate.
+ * generated/minloc1_16_r4.c: Regenerate.
+ * generated/minloc1_16_r8.c: Regenerate.
+ * generated/minloc1_4_i1.c: Regenerate.
+ * generated/minloc1_4_i16.c: Regenerate.
+ * generated/minloc1_4_i2.c: Regenerate.
+ * generated/minloc1_4_i4.c: Regenerate.
+ * generated/minloc1_4_i8.c: Regenerate.
+ * generated/minloc1_4_r10.c: Regenerate.
+ * generated/minloc1_4_r16.c: Regenerate.
+ * generated/minloc1_4_r17.c: Regenerate.
+ * generated/minloc1_4_r4.c: Regenerate.
+ * generated/minloc1_4_r8.c: Regenerate.
+ * generated/minloc1_8_i1.c: Regenerate.
+ * generated/minloc1_8_i16.c: Regenerate.
+ * generated/minloc1_8_i2.c: Regenerate.
+ * generated/minloc1_8_i4.c: Regenerate.
+ * generated/minloc1_8_i8.c: Regenerate.
+ * generated/minloc1_8_r10.c: Regenerate.
+ * generated/minloc1_8_r16.c: Regenerate.
+ * generated/minloc1_8_r17.c: Regenerate.
+ * generated/minloc1_8_r4.c: Regenerate.
+ * generated/minloc1_8_r8.c: Regenerate.
+ * generated/minval_i1.c: Regenerate.
+ * generated/minval_i16.c: Regenerate.
+ * generated/minval_i2.c: Regenerate.
+ * generated/minval_i4.c: Regenerate.
+ * generated/minval_i8.c: Regenerate.
+ * generated/minval_r10.c: Regenerate.
+ * generated/minval_r16.c: Regenerate.
+ * generated/minval_r17.c: Regenerate.
+ * generated/minval_r4.c: Regenerate.
+ * generated/minval_r8.c: Regenerate.
+ * generated/norm2_r10.c: Regenerate.
+ * generated/norm2_r16.c: Regenerate.
+ * generated/norm2_r17.c: Regenerate.
+ * generated/norm2_r4.c: Regenerate.
+ * generated/norm2_r8.c: Regenerate.
+ * generated/parity_l1.c: Regenerate.
+ * generated/parity_l16.c: Regenerate.
+ * generated/parity_l2.c: Regenerate.
+ * generated/parity_l4.c: Regenerate.
+ * generated/parity_l8.c: Regenerate.
+
+2025-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/119856
+ * io/format.c (parse_format_list): Set the fmt->error
+ message for missing comma.
+ (parse_format): Do not cache the parsed format string
+ if a previous error ocurred.
+
+2025-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/120196
+ * m4/ifindloc2.m4 (header1, header2): For back use i > 0 rather than
+ i >= 0 as for condition.
+ * generated/findloc2_s1.c: Regenerate.
+ * generated/findloc2_s4.c: Regenerate.
+
+2025-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/120191
+ * m4/ifunction-s.m4 (SCALAR_ARRAY_FUNCTION): Don't multiply
+ GFC_DESCRIPTOR_EXTENT(array,) by string_len.
+ * generated/maxloc1_4_s1.c: Regenerate.
+ * generated/maxloc1_4_s4.c: Regenerate.
+ * generated/maxloc1_8_s1.c: Regenerate.
+ * generated/maxloc1_8_s4.c: Regenerate.
+ * generated/maxloc1_16_s1.c: Regenerate.
+ * generated/maxloc1_16_s4.c: Regenerate.
+ * generated/minloc1_4_s1.c: Regenerate.
+ * generated/minloc1_4_s4.c: Regenerate.
+ * generated/minloc1_8_s1.c: Regenerate.
+ * generated/minloc1_8_s4.c: Regenerate.
+ * generated/minloc1_16_s1.c: Regenerate.
+ * generated/minloc1_16_s4.c: Regenerate.
+
+2025-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/120191
+ * m4/maxloc2s.m4: For smaxloc2 call maxloc2 if mask is NULL or *mask.
+ Swap back and len arguments.
+ * m4/minloc2s.m4: Likewise.
+ * generated/maxloc2_4_s1.c: Regenerate.
+ * generated/maxloc2_4_s4.c: Regenerate.
+ * generated/maxloc2_8_s1.c: Regenerate.
+ * generated/maxloc2_8_s4.c: Regenerate.
+ * generated/maxloc2_16_s1.c: Regenerate.
+ * generated/maxloc2_16_s4.c: Regenerate.
+ * generated/minloc2_4_s1.c: Regenerate.
+ * generated/minloc2_4_s4.c: Regenerate.
+ * generated/minloc2_8_s1.c: Regenerate.
+ * generated/minloc2_8_s4.c: Regenerate.
+ * generated/minloc2_16_s1.c: Regenerate.
+ * generated/minloc2_16_s4.c: Regenerate.
+
+2025-05-10 Yuao Ma <c8ef@outlook.com>
+
+ * io/read.c (read_f): Comment typo, explict -> explicit.
+
+2025-05-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/120158
+ * m4/iparm.m4 (atype_min): For atype_name starting with
+ GFC_UINTEGER define to 0.
+ * generated/maxloc0_16_m1.c: Regenerate.
+ * generated/maxloc0_16_m2.c: Regenerate.
+ * generated/maxloc0_16_m4.c: Regenerate.
+ * generated/maxloc0_16_m8.c: Regenerate.
+ * generated/maxloc0_16_m16.c: Regenerate.
+ * generated/maxloc0_4_m1.c: Regenerate.
+ * generated/maxloc0_4_m2.c: Regenerate.
+ * generated/maxloc0_4_m4.c: Regenerate.
+ * generated/maxloc0_4_m8.c: Regenerate.
+ * generated/maxloc0_4_m16.c: Regenerate.
+ * generated/maxloc0_8_m1.c: Regenerate.
+ * generated/maxloc0_8_m2.c: Regenerate.
+ * generated/maxloc0_8_m4.c: Regenerate.
+ * generated/maxloc0_8_m8.c: Regenerate.
+ * generated/maxloc0_8_m16.c: Regenerate.
+ * generated/maxloc1_16_m1.c: Regenerate.
+ * generated/maxloc1_16_m2.c: Regenerate.
+ * generated/maxloc1_16_m4.c: Regenerate.
+ * generated/maxloc1_16_m8.c: Regenerate.
+ * generated/maxloc1_16_m16.c: Regenerate.
+ * generated/maxloc1_4_m1.c: Regenerate.
+ * generated/maxloc1_4_m2.c: Regenerate.
+ * generated/maxloc1_4_m4.c: Regenerate.
+ * generated/maxloc1_4_m8.c: Regenerate.
+ * generated/maxloc1_4_m16.c: Regenerate.
+ * generated/maxloc1_8_m1.c: Regenerate.
+ * generated/maxloc1_8_m2.c: Regenerate.
+ * generated/maxloc1_8_m4.c: Regenerate.
+ * generated/maxloc1_8_m8.c: Regenerate.
+ * generated/maxloc1_8_m16.c: Regenerate.
+ * generated/maxval_m1.c: Regenerate.
+ * generated/maxval_m2.c: Regenerate.
+ * generated/maxval_m4.c: Regenerate.
+ * generated/maxval_m8.c: Regenerate.
+ * generated/maxval_m16.c: Regenerate.
+
+2025-05-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/120153
+ * Makefile.am (i_maxloc1_c): Add generated/maxloc1_16_m16.c.
+ * intrinsics/random.c (arandom_m16): Use #ifdef HAVE_GFC_UINTEGER_16
+ guard rather than #ifdef GFC_HAVE_GFC_UINTEGER_16.
+ * gfortran.map (GFORTRAN_15): Remove _gfortran_arandom_m16,
+ _gfortran_maxloc1_16_m16, _gfortran_mmaxloc1_16_m16 and
+ _gfortran_smaxloc1_16_m16.
+ (GFORTRAN_15.2): New symbol version, add those 4 symbols to it.
+ * generated/maxloc1_16_m16.c: New file.
+ * Makefile.in: Regenerate.
+
+2025-05-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/120152
+ * Makefile.am (i_maxloc1_c): Readd generated/maxloc1_4_i8.c,
+ generated/maxloc1_8_i8.c, generated/maxloc1_16_i8.c,
+ generated/maxloc1_4_i16.c, generated/maxloc1_8_i16.c. Move
+ generated/maxloc1_16_i16.c entry earlier in the list.
+ * Makefile.in: Regenerated.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * caf/libcaf.h: Add mapping mode to coarray's register.
+ * caf/single.c (_gfortran_caf_register): Create a token sharing
+ another token's memory.
+ (check_team): Check team parameters to coindexed expressions are
+ valid.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * caf/libcaf.h (_gfortran_caf_num_images): Correct prototype.
+ * caf/single.c (_gfortran_caf_num_images): Default
+ implementation.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ * caf/libcaf.h (_gfortran_caf_this_image): Correct prototype.
+ * caf/single.c (struct caf_single_team): Add new_index of image.
+ (_gfortran_caf_this_image): Return the image index in the given team.
+ (_gfortran_caf_form_team): Set new_index in team structure.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/88154
+ PR fortran/88960
+ PR fortran/97210
+ PR fortran/103001
+ * caf/libcaf.h: Add constants for get_team's level argument and
+ update stat values for failed images.
+ (_gfortran_caf_team_number): Add prototype.
+ (_gfortran_caf_get_team): Same.
+ * caf/single.c (_gfortran_caf_team_number): Get the given team's
+ team number.
+ (_gfortran_caf_get_team): Get the current team or the team given
+ by level when the argument is present.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ PR fortran/87556
+ PR fortran/88254
+ PR fortran/103796
+ * caf/libcaf.h: Remove commented block.
+ (_gfortran_caf_form_team): Allow for all relevant arguments.
+ (_gfortran_caf_change_team): Same.
+ (_gfortran_caf_end_team): Same.
+ (_gfortran_caf_sync_team): Same.
+ * caf/single.c (struct caf_single_team): Team handling
+ structures.
+ (_gfortran_caf_init): Initialize initial team.
+ (free_team_list): Free all teams and the memory they hold.
+ (_gfortran_caf_finalize): Free initial and sibling teams.
+ (_gfortran_caf_register): Add memory registered to current team.
+ (_gfortran_caf_deregister): Unregister memory from current team.
+ (_gfortran_caf_is_present_on_remote): Check token's memptr for
+ llocation. May have been deallocated by an end team.
+ (_gfortran_caf_form_team): Push a new team stub to the list.
+ (_gfortran_caf_change_team): Push a formed team on top of the
+ ctive teams stack.
+ (_gfortran_caf_end_team): End the active team, free all memory
+ allocated during its livespan.
+ (_gfortran_caf_sync_team): Take stat and errmsg into account.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87939
+ * caf/single.c (_gfortran_caf_lock): Correct stat value, if
+ lock is already locked by current image.
+ (_gfortran_caf_unlock): Correct stat value, if lock is not
+ locked.
+
+2025-04-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/119502
+ * io/close.c (st_close): Issue an error and avoid
+ calling close_share when there is no stream assigned.
+ * io/open.c (st_open): If there is no stream assigned
+ to the unit, unlock the unit and issue an error.
+
+2025-04-09 Paul Thomas <pault@gcc.gnu.org>
+ and Harald Anlauf <anlauf@gcc.gnu.org>
+
+ PR libfortran/119460
+ * intrinsics/reduce.c (reduce): Correct error message about
+ mismatch between dim and the rank of array. Output the values
+ of both. Correct the evaluation of the result stride and
+ extent.
+ (reduce_scalar): The front end treats the result as an
+ allocatable so eliminate memcpy and free. Return the base-addr
+ of the local descriptor.
+ (reduce_c): Correct the type of the string lengths.
+ (reduce_scalar_c): Correct the type of the string lengths.Test
+ to see if 'res' is allocated. If not then return the base_addr
+ of the local descriptor.
+
+2025-04-07 Lulu Cheng <chenglulu@loongson.cn>
+
+ PR target/119408
+ * acinclude.m4: When checking for __float128 support, determine
+ whether the current architecture is LoongArch. If so, return false.
+ * configure: Regenerate.
+
2025-03-22 Hans-Peter Nilsson <hp@axis.com>
* intrinsics/reduce.c (reduce_scalar_c): Correct type of parameter DIM.