ChangeLog-2019 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  1. 2019-12-01 Jerry DeLisle <jvdelisle@gcc.ngu.org>
  2. PR fortran/90374
  3. * io/format.c (parse_format_list): Add braces to disambiguate
  4. conditional.
  5. 2019-11-28 Jerry DeLisle <jvdelisle@gcc.ngu.org>
  6. PR fortran/90374
  7. * io/format.c (parse_format_list): Relax format checking to allow
  8. e0 exponent specifier.
  9. 2019-11-24 Jerry DeLisle <jvdelisle@gcc.ngu.org>
  10. PR fortran/92100
  11. * io/transfer.c (data_transfer_init_worker): Use fbuf_reset
  12. instead of fbuf_flush before the seek. Note that fbuf_reset
  13. calls fbuf_flush and adjusts fbuf pointers.
  14. 2019-11-23 Thomas Koenig <tkoenig@gcc.gnu.org>
  15. Harald Anlauf <anlauf@gmx.de>
  16. PR fortran/92569
  17. * io/transfer.c (transfer_array_inner): If position is
  18. at AFTER_ENDFILE in current unit, return from data loop.
  19. 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
  20. * Makefile.in: Regenerate.
  21. 2019-11-13 Tobias Burnus <tobias@codesourcery.com>
  22. PR fortran/92470
  23. * runtime/ISO_Fortran_binding.c (CFI_establish): Set lower_bound to 0
  24. also for CFI_attribute_other.
  25. 2019-11-12 Tobias Burnus <tobias@codesourcery.com>
  26. PR fortran/92470
  27. * runtime/ISO_Fortran_binding.c (CFI_address): Handle non-zero
  28. lower_bound; update error message.
  29. (CFI_allocate): Fix comment typo.
  30. (CFI_establish): Fix identation, fix typos, don't check values of 'dv'
  31. argument.
  32. 2019-11-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
  33. PR fortran/92142
  34. * runtime/ISO_Fortran_binding.c (CFI_setpointer): Don't
  35. override descriptor attribute; with -fcheck, check that
  36. it is a pointer.
  37. 2019-11-06 Jerry DeLisle <jvdelisle@gcc.ngu.org>
  38. PR fortran/90374
  39. io/format.c (parse_format_list): Relax format checking for
  40. zero width as default and when -std=f2018.
  41. io/format.h (format_token): Move definition to io.h.
  42. io/io.h (format_token): Add definition here to allow access to
  43. this definition at higher levels. Rename the declaration of
  44. write_real_g0 to write_real_w0 and add a new format_token
  45. argument, allowing higher level functions to pass in the
  46. token for handling of g0 vs the other zero width specifiers.
  47. io/transfer.c (formatted_transfer_scalar_write): Add checks for
  48. zero width and call write_real_w0 to handle it.
  49. io/write.c (write_real_g0): Remove.
  50. (write_real_w0): Add new, same as previous write_real_g0 except
  51. check format token to handle the g0 case.
  52. 2019-10-31 Tobias Burnus <tobias@codesourcery.com>
  53. PR fortran/92284.
  54. * runtime/ISO_Fortran_binding.c (gfc_desc_to_cfi_desc):
  55. 2019-10-19 Paul Thomas <pault@gcc.gnu.org>
  56. PR fortran/91926
  57. * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Revert
  58. the change made on 2019-10-05.
  59. 2019-10-08 Thomas Schwinge <thomas@codesourcery.com>
  60. PR fortran/68401
  61. * runtime/minimal.c (os_error_at): New function.
  62. * runtime/minimal.c: Revise.
  63. 2019-10-05 Paul Thomas <pault@gcc.gnu.org>
  64. PR fortran/91926
  65. * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Do not
  66. modify the bounds and offset for CFI_other.
  67. 2019-10-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  68. PR libfortran/91593
  69. * io/read.c (read_decimal): Cast constant to size_t to turn off
  70. a bogus warning.
  71. * io/write.c (btoa_big): Use memset in lieu of setting the null
  72. byte in a string buffer to turn off a bogus warning.
  73. 2019-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  74. PR libfortran/91593
  75. * io/io.h: Add gcc_unreachable().
  76. * io/transfer.c (file_mode, current_mode,
  77. formatted_transfer_scalar_read, formatted_transfer_scalar_write,
  78. pre_position, next_record_r, next_record_w): Add and use
  79. FORMATTED_UNSPECIFIED to enumeration.
  80. 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
  81. * configure: Regenerate.
  82. 2019-09-05 Janne Blomqvist <jb@gcc.gnu.org>
  83. * intrinsics/random.c (master_init): Replace with
  84. master_state.init.
  85. (njumps): Remove variable.
  86. (master_state): Make instance of struct prng_state.
  87. (init_rand_state): When jumping, update the master_state once
  88. instead of keeping track of how many jumps need to be done.
  89. (SZU64): Modify to handle new master_state.
  90. (SZ): Likewise.
  91. (random_seed_i4): Likewise.
  92. (random_seed_i8): Likewise.
  93. 2019-08-17 Janne Blomqvist <jb@gcc.gnu.org>
  94. PR fortran/68401
  95. * gfortran.map: Add GFORTRAN_10 node, add _gfortran_os_error_at
  96. symbol.
  97. * libgfortran.h (os_error_at): New prototype.
  98. * runtime/error.c (os_error_at): New function.
  99. 2019-08-13 Janne Blomqvist <jb@gcc.gnu.org>
  100. PR fortran/91414
  101. * intrinsics/random.c (prng_state): Update state struct.
  102. (master_state): Update to match new size.
  103. (get_rand_state): Update to match new PRNG.
  104. (rotl): New function.
  105. (xorshift1024star): Replace with prng_next.
  106. (prng_next): New function.
  107. (jump): Update for new PRNG.
  108. (lcg_parkmiller): Replace with splitmix64.
  109. (splitmix64): New function.
  110. (getosrandom): Fix return value, simplify.
  111. (init_rand_state): Use getosrandom only to get 8 bytes, splitmix64
  112. to fill rest of state.
  113. (random_r4): Update to new function and struct names.
  114. (random_r8): Likewise.
  115. (random_r10): Likewise.
  116. (random_r16): Likewise.
  117. (arandom_r4): Liekwise.
  118. (arandom_r8): Likewise.
  119. (arandom_r10): Likwewise.
  120. (arandom_r16): Likewise.
  121. (xor_keys): Reduce size to match new PRNG.
  122. (random_seed_i4): Update to new function and struct names, remove
  123. special handling of variable p used in previous PRNG.
  124. (random_seed_i8): Likewise.
  125. 2019-08-07 Janne Blomqvist <jb@gcc.gnu.org>
  126. PR fortran/53796
  127. * io/inquire.c (inquire_via_filename): Set recl to -1 for
  128. unconnected units.
  129. 2019-07-21 Thomas König <tkoenig@gcc.gnu.org>
  130. PR libfortran/91030
  131. * io/unix.c (BUFFER_SIZE): Delete.
  132. (BUFFER_FORMATTED_SIZE_DEFAULT): New variable.
  133. (BUFFER_UNFORMATTED_SIZE_DEFAULT): New variable.
  134. (unix_stream): Add buffer_size.
  135. (buf_read): Use s->buffer_size instead of BUFFER_SIZE.
  136. (buf_write): Likewise.
  137. (buf_init): Add argument unformatted. Handle block sizes
  138. for unformatted vs. formatted, using defaults if provided.
  139. (fd_to_stream): Add argument unformatted in call to buf_init.
  140. * libgfortran.h (options_t): Add buffer_size_formatted and
  141. buffer_size_unformatted.
  142. * runtime/environ.c (variable_table): Add
  143. GFORTRAN_UNFORMATTED_BUFFER_SIZE and
  144. GFORTRAN_FORMATTED_BUFFER_SIZE.
  145. 2019-06-25 Kwok Cheung Yeung <kcy@codesourcery.com>
  146. Andrew Stubbs <ams@codesourcery.com>
  147. * configure: Regenerate.
  148. * configure.ac (LIBGFOR_MINIMAL): Do not use on AMD GCN.
  149. 2019-06-14 Janne Blomqvist <jb@gcc.gnu.org>
  150. PR fortran/65921
  151. * runtime/memory.c (SIZE_MAX):Remove macro definition.
  152. (xmallocarray): Use __builtin_mul_overflow.
  153. 2019-05-22 Jeff Law <law@redhat.com>
  154. PR fortran/89100
  155. * io/format.c (parse_format_list): set default width when the
  156. IOPARM_DT_DEC_EXT flag is set for i, f and g.
  157. * io/io.h: add default_width_for_integer, default_width_for_float
  158. and default_precision_for_float.
  159. * io/write.c (write_boz): extra parameter giving length of data
  160. corresponding to the type's kind.
  161. (write_b): pass data length as extra parameter in calls to
  162. write_boz.
  163. (write_o): pass data length as extra parameter in calls to
  164. write_boz.
  165. (write_z): pass data length as extra parameter in calls to
  166. write_boz.
  167. (size_from_kind): also set size is default width is set.
  168. * io/write_float.def (build_float_string): new paramter inserted
  169. before result parameter. If default width use values passed
  170. instead of the values in fnode.
  171. (FORMAT_FLOAT): macro modified to check for default width and
  172. calls to build_float_string to pass in default width.
  173. (get_float_string): set width and precision to defaults when
  174. needed.
  175. 2019-05-19 Janne Blomqvist <jb@gcc.gnu.org>
  176. PR libfortran/90038
  177. * intrinsics/execute_command_line (sigchld_handler): New function.
  178. (execute_command_line): Install handler for SIGCHLD.
  179. * configure.ac: Check for presence of sigaction and waitpid.
  180. * config.h.in: Regenerated.
  181. * configure: Regenerated.
  182. 2019-05-17 Janne Blomqvist <jb@gcc.gnu.org>
  183. PR libfortran/90038
  184. * configure.ac (AC_CHECK_FUNCS_ONCE): Check for posix_spawn.
  185. * intrinsics/execute_command_line (execute_command_line): Use
  186. posix_spawn.
  187. * Makefile.in: Regenerated.
  188. * config.h.in: Regenerated.
  189. * configure: Regenerated.
  190. 2019-05-17 Jakub Jelinek <jakub@redhat.com>
  191. PR fortran/54613
  192. * gfortran.map (GFORTRAN_9.2): Export _gfortran_{,m,s}findloc{0,1}_r10.
  193. * Makefile.am (i_findloc0_c): Add $(srcdir)/generated/findloc0_r10.c.
  194. (i_findloc1_c): Add $(srcdir)/generated/findloc1_r10.c.
  195. * Makefile.in: Regenerated.
  196. * generated/findloc0_r10.c: Generated.
  197. * generated/findloc1_r10.c: Generated.
  198. PR fortran/54613
  199. * gfortran.map (GFORTRAN_9.2): New symbol version, export
  200. _gfortran_{,m,s}findloc0_i2 in it.
  201. 2019-05-15 Janne Blomqvist <jb@gcc.gnu.org>
  202. PR fortran/90461
  203. * io/open.c (new_unit): Don't check if the file is already open
  204. for F2018.
  205. 2019-05-02 Jakub Jelinek <jakub@redhat.com>
  206. * Makefile.am (gfor_cdir): Remove $(MULTISUBDIR).
  207. * Makefile.in: Regenerated.
  208. 2019-04-14 Paul Thomas <pault@gcc.gnu.org>
  209. PR fortran/89843
  210. * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only
  211. return immediately if the source pointer is null. Bring
  212. forward the extraction of the gfc type. Extract the kind so
  213. that the element size can be correctly computed for sections
  214. and components of derived type arrays. Remove the free of the
  215. CFI descriptor since this is now done in trans-expr.c.
  216. (gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it
  217. is not null.
  218. (CFI_section): Normalise the difference between the upper and
  219. lower bounds by the stride to correctly calculate the extents
  220. of the section.
  221. PR fortran/89846
  222. * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use
  223. the stride measure for the gfc span if it is not a multiple
  224. of the element length. Otherwise use the element length.
  225. PR fortran/90022
  226. * runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return
  227. 1 for true and 0 otherwise to comply with the standard. Correct
  228. the contiguity check for rank 3 and greater by using the stride
  229. measure of the lower dimension rather than the element length.
  230. 2019-03-25 John David Anglin <danglin@gcc.gnu.org>
  231. PR libgfortran/79540
  232. * io/write_float.def (build_float_string): Don't copy digits when
  233. ndigits is negative.
  234. 2019-03-05 Jakub Jelinek <jakub@redhat.com>
  235. PR libgfortran/89593
  236. * caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to
  237. gfc_descriptor_t * to avoid warning.
  238. 2019-02-26 Uroš Bizjak <ubizjak@gmail.com>
  239. * io/transfer.c (transfer_array_inner): Do not
  240. cast charlen to index_type.
  241. 2019-02-25 Dominique d'Humieres <dominiq@gcc.gnu.org>
  242. PR libfortran/89274
  243. * io/write.c (write_integer): Add width for INTEGER(16).
  244. 2019-02-23 Paul Thomas <pault@gcc.gnu.org>
  245. PR fortran/89385
  246. PR fortran/89366
  247. * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the
  248. interchange between character and derived, the character type
  249. was being set incorrectly.
  250. (gfc_desc_to_cfi_desc) : Eliminate the interchange of types in
  251. this function. Do not add the kind and length information to
  252. the type field of structures. Lbounds were incorrectly being
  253. set to zero for allocatable and pointer descriptors. Should
  254. have been non-pointer, non-allocatables that received this
  255. treatment.
  256. 2019-01-30 Uroš Bizjak <ubizjak@gmail.com>
  257. PR libfortran/88678
  258. Revert:
  259. 2016-11-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
  260. PR libfortran/78314
  261. * config/fpu-glibc.h (support_fpu_trap): Use feenableexcept.
  262. 2019-01-30 Uroš Bizjak <ubizjak@gmail.com>
  263. PR libfortran/88678
  264. * config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled
  265. exception flags before changing trap mode. Optimize to call
  266. feenableexcept and fedisableexcept only once.
  267. 2019-01-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
  268. * io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION().
  269. 2019-01-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  270. PR libfortran/89020
  271. * io/close.c (st_close): Simplify text of error message to not
  272. presume a specific cause of failure to remove file.
  273. 2019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  274. PR libfortran/89020
  275. * io/close.c (st_close): Fix typo.
  276. 2019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  277. PR libfortran/89020
  278. * io/close.c (st_close): Generate error if calls to 'remove' return
  279. an error.
  280. 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
  281. Kwok Cheung Yeung <kcy@codesourcery.com>
  282. Julian Brown <julian@codesourcery.com>
  283. Tom de Vries <tom@codesourcery.com>
  284. * configure.ac: Use minimal mode for amdgcn.
  285. * configure: Regenerate.
  286. 2019-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  287. PR libfortran/88776
  288. * io/open.c (newunit): Free format buffer if the unit specified is for
  289. stdin, stdout, or stderr.
  290. 2019-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  291. PR libfortran/88776
  292. * io/list_read.c (namelist_read): Use nml_err_ret path on read error
  293. not based on stdin_unit.
  294. 2019-01-12 Paul Thomas <pault@gcc.gnu.org>
  295. * ISO_Fortran_binding.h : New file.
  296. * Makefile.am : Include ISO_Fortran_binding.c in the list of
  297. files to compile.
  298. * Makefile.in : Regenerated.
  299. * gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
  300. _gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
  301. * runtime/ISO_Fortran_binding.c : New file containing the new
  302. functions added to the map.
  303. 2019-01-12 Jakub Jelinek <jakub@redhat.com>
  304. PR libfortran/88807
  305. * m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
  306. * generated/minloc0_4_i1.c: Regenerated.
  307. * generated/minloc0_4_i2.c: Regenerated.
  308. * generated/minloc0_4_i4.c: Regenerated.
  309. * generated/minloc0_4_i8.c: Regenerated.
  310. * generated/minloc0_4_i16.c: Regenerated.
  311. * generated/minloc0_4_r4.c: Regenerated.
  312. * generated/minloc0_4_r8.c: Regenerated.
  313. * generated/minloc0_4_r10.c: Regenerated.
  314. * generated/minloc0_4_r16.c: Regenerated.
  315. * generated/minloc0_8_i1.c: Regenerated.
  316. * generated/minloc0_8_i2.c: Regenerated.
  317. * generated/minloc0_8_i4.c: Regenerated.
  318. * generated/minloc0_8_i8.c: Regenerated.
  319. * generated/minloc0_8_i16.c: Regenerated.
  320. * generated/minloc0_8_r4.c: Regenerated.
  321. * generated/minloc0_8_r8.c: Regenerated.
  322. * generated/minloc0_8_r10.c: Regenerated.
  323. * generated/minloc0_8_r16.c: Regenerated.
  324. * generated/minloc0_16_i1.c: Regenerated.
  325. * generated/minloc0_16_i2.c: Regenerated.
  326. * generated/minloc0_16_i4.c: Regenerated.
  327. * generated/minloc0_16_i8.c: Regenerated.
  328. * generated/minloc0_16_i16.c: Regenerated.
  329. * generated/minloc0_16_r4.c: Regenerated.
  330. * generated/minloc0_16_r8.c: Regenerated.
  331. * generated/minloc0_16_r10.c: Regenerated.
  332. * generated/minloc0_16_r16.c: Regenerated.
  333. 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
  334. PR other/16615
  335. * caf/single.c: Mechanically replace "can not" with "cannot".
  336. * io/unit.c: Likewise.
  337. 2019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org>
  338. Harald Anlauf <anlauf@gmx.de>
  339. Tobias Burnus <burnus@gcc.gnu.org>
  340. PR fortran/45424
  341. * Makefile.am: Add intrinsics/is_contiguous.c.
  342. * Makefile.in: Regenerated.
  343. * gfortran.map: Add _gfortran_is_contiguous0.
  344. * intrinsics/is_contiguous.c: New file.
  345. * libgfortran.h: Add prototype for is_contiguous0.
  346. 2019-01-07 Janne Blomqvist <jb@gcc.gnu.org>
  347. * gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on
  348. GFORTRAN_8.
  349. 2019-01-01 Jakub Jelinek <jakub@redhat.com>
  350. Update copyright years.
  351. Copyright (C) 2019-2020 Free Software Foundation, Inc.
  352. Copying and distribution of this file, with or without modification,
  353. are permitted in any medium without royalty provided the copyright
  354. notice and this notice are preserved.