ChangeLog-2006 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641
  1. 2006-12-30 Thomas Koenig <Thomas.Koenig@online.de>
  2. PR libfortran/30321
  3. * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):
  4. Check for extents < 0 for zero-sized arrays. If
  5. no retarray has been specified and the size is zero,
  6. return early.
  7. (`m'name`'rtype_qual`_'atype_code): Likewise.
  8. * generated/all_l16.c: Regenerated.
  9. * generated/all_l4.c: Regenerated.
  10. * generated/all_l8.c: Regenerated.
  11. * generated/any_l16.c: Regenerated.
  12. * generated/any_l4.c: Regenerated.
  13. * generated/any_l8.c: Regenerated.
  14. * generated/count_16_l16.c: Regenerated.
  15. * generated/count_16_l4.c: Regenerated.
  16. * generated/count_16_l8.c: Regenerated.
  17. * generated/count_4_l16.c: Regenerated.
  18. * generated/count_4_l4.c: Regenerated.
  19. * generated/count_4_l8.c: Regenerated.
  20. * generated/count_8_l16.c: Regenerated.
  21. * generated/count_8_l4.c: Regenerated.
  22. * generated/count_8_l8.c: Regenerated.
  23. * generated/cshift1_16.c: Regenerated.
  24. * generated/cshift1_4.c: Regenerated.
  25. * generated/cshift1_8.c: Regenerated.
  26. * generated/maxloc1_16_i16.c: Regenerated.
  27. * generated/maxloc1_16_i4.c: Regenerated.
  28. * generated/maxloc1_16_i8.c: Regenerated.
  29. * generated/maxloc1_16_r10.c: Regenerated.
  30. * generated/maxloc1_16_r16.c: Regenerated.
  31. * generated/maxloc1_16_r4.c: Regenerated.
  32. * generated/maxloc1_16_r8.c: Regenerated.
  33. * generated/maxloc1_4_i16.c: Regenerated.
  34. * generated/maxloc1_4_i4.c: Regenerated.
  35. * generated/maxloc1_4_i8.c: Regenerated.
  36. * generated/maxloc1_4_r10.c: Regenerated.
  37. * generated/maxloc1_4_r16.c: Regenerated.
  38. * generated/maxloc1_4_r4.c: Regenerated.
  39. * generated/maxloc1_4_r8.c: Regenerated.
  40. * generated/maxloc1_8_i16.c: Regenerated.
  41. * generated/maxloc1_8_i4.c: Regenerated.
  42. * generated/maxloc1_8_i8.c: Regenerated.
  43. * generated/maxloc1_8_r10.c: Regenerated.
  44. * generated/maxloc1_8_r16.c: Regenerated.
  45. * generated/maxloc1_8_r4.c: Regenerated.
  46. * generated/maxloc1_8_r8.c: Regenerated.
  47. * generated/maxval_i16.c: Regenerated.
  48. * generated/maxval_i4.c: Regenerated.
  49. * generated/maxval_i8.c: Regenerated.
  50. * generated/maxval_r10.c: Regenerated.
  51. * generated/maxval_r16.c: Regenerated.
  52. * generated/maxval_r4.c: Regenerated.
  53. * generated/maxval_r8.c: Regenerated.
  54. * generated/minloc1_16_i16.c: Regenerated.
  55. * generated/minloc1_16_i4.c: Regenerated.
  56. * generated/minloc1_16_i8.c: Regenerated.
  57. * generated/minloc1_16_r10.c: Regenerated.
  58. * generated/minloc1_16_r16.c: Regenerated.
  59. * generated/minloc1_16_r4.c: Regenerated.
  60. * generated/minloc1_16_r8.c: Regenerated.
  61. * generated/minloc1_4_i16.c: Regenerated.
  62. * generated/minloc1_4_i4.c: Regenerated.
  63. * generated/minloc1_4_i8.c: Regenerated.
  64. * generated/minloc1_4_r10.c: Regenerated.
  65. * generated/minloc1_4_r16.c: Regenerated.
  66. * generated/minloc1_4_r4.c: Regenerated.
  67. * generated/minloc1_4_r8.c: Regenerated.
  68. * generated/minloc1_8_i16.c: Regenerated.
  69. * generated/minloc1_8_i4.c: Regenerated.
  70. * generated/minloc1_8_i8.c: Regenerated.
  71. * generated/minloc1_8_r10.c: Regenerated.
  72. * generated/minloc1_8_r16.c: Regenerated.
  73. * generated/minloc1_8_r4.c: Regenerated.
  74. * generated/minloc1_8_r8.c: Regenerated.
  75. * generated/minval_i16.c: Regenerated.
  76. * generated/minval_i4.c: Regenerated.
  77. * generated/minval_i8.c: Regenerated.
  78. * generated/minval_r10.c: Regenerated.
  79. * generated/minval_r16.c: Regenerated.
  80. * generated/minval_r4.c: Regenerated.
  81. * generated/minval_r8.c: Regenerated.
  82. * generated/product_c10.c: Regenerated.
  83. * generated/product_c16.c: Regenerated.
  84. * generated/product_c4.c: Regenerated.
  85. * generated/product_c8.c: Regenerated.
  86. * generated/product_i16.c: Regenerated.
  87. * generated/product_i4.c: Regenerated.
  88. * generated/product_i8.c: Regenerated.
  89. * generated/product_r10.c: Regenerated.
  90. * generated/product_r16.c: Regenerated.
  91. * generated/product_r4.c: Regenerated.
  92. * generated/product_r8.c: Regenerated.
  93. * generated/sum_c10.c: Regenerated.
  94. * generated/sum_c16.c: Regenerated.
  95. * generated/sum_c4.c: Regenerated.
  96. * generated/sum_c8.c: Regenerated.
  97. * generated/sum_i16.c: Regenerated.
  98. * generated/sum_i4.c: Regenerated.
  99. * generated/sum_i8.c: Regenerated.
  100. * generated/sum_r10.c: Regenerated.
  101. * generated/sum_r16.c: Regenerated.
  102. * generated/sum_r4.c: Regenerated.
  103. * generated/sum_r8.c: Regenerated.
  104. 2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  105. PR libfortran/30014
  106. *io/io.h (st_parameter_dt): Change *size and *iolength type to
  107. GFC_IO_INT.
  108. *io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to
  109. GFC_IO_INT. (iolength_transfer): Cast size * nelems to GFC_IO_INT.
  110. 2006-12-17 Tobias Burnus <burnus@net-b.de>
  111. * intrinsics/associated.c: Check for associated(NULL,NULL).
  112. 2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  113. PR libfortran/30145
  114. * io/transfer.c (transfer_array): Check for negative extent.
  115. 2006-12-13 Richard Guenther <rguenther@suse.de>
  116. PR fortran/30115
  117. * runtime/memory.c (allocate_size): Change interface to
  118. void *()(size_t, GFC_INTEGER_4 *).
  119. (allocate): Likewise.
  120. (allocate64): Likewise.
  121. (allocate_array): Change interface to
  122. void *()(void *, size_t, GFC_INTEGER_4 *).
  123. (allocate64_array): Likewise.
  124. (deallocate): Change interface to
  125. void ()(void *, GFC_INTEGER_4 *).
  126. 2006-12-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  127. PR libfortran/29810
  128. * intrinsics/c99_functions.c (fmodf, fmodl, floorl): New functions.
  129. * c99_protos.h (fmodf, fmodl, floorl): New prototypes.
  130. * configure.ac: Check for fmodf, fmod and fmodl.
  131. * configure: Regenerate.
  132. * config.h.in: Regenerate.
  133. 2006-12-06 Thomas Koenig <Thomas.Koenig@online.de>
  134. PR libfortran/30009
  135. PR libfortran/30056
  136. * libgfortran.h: Add ERROR_CORRUPT_FILE to error_codes.
  137. * runtime/error.c (translate_error): Add handling for
  138. ERROR_CORRUPT_FILE.
  139. * io/transfer.c (read_block_direct): Add comment about
  140. EOR for stream files.
  141. Remove test for no bytes left for direct access files.
  142. Generate an ERROR_SHORT_RECORD if the read was short.
  143. For unformatted sequential files: Check endfile condition.
  144. Remove test for no bytes left. End of file here means
  145. that the file structure has been corrupted. Pre-position
  146. the file for the next record in case of error.
  147. (write_buf): Whitespace fix. Subtract the number of bytes
  148. written from bytes_left.
  149. 2006-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  150. PR libfortran/30005
  151. * io/open.c: Add errno.h include.
  152. (new_unit): Add new error messages with file name for file open.
  153. 2006-12-01 Thomas Koenig <Thomas.Koenig@online.de>
  154. PR libfortran/29568
  155. * libgfortran/libgfortran.h (compile_options_t): Add
  156. record_marker. (top level): Define GFC_MAX_SUBRECORD_LENGTH.
  157. * runtime/compile_options.c (set_record_marker): Change
  158. default to four-byte record marker.
  159. (set_max_subrecord_length): New function.
  160. * runtime/error.c (translate_error): Change error message
  161. for short record on unformatted read.
  162. * io/io.h (gfc_unit): Add recl_subrecord, bytes_left_subrecord
  163. and continued.
  164. * io/file_pos.c (unformatted_backspace): Change default of record
  165. marker size to four bytes. Loop over subrecords.
  166. * io/open.c: Default recl is max_offset. If
  167. compile_options.max_subrecord_length has been set, set set
  168. u->recl_subrecord to its value, to the maximum value otherwise.
  169. * io/transfer.c (top level): Add prototypes for us_read, us_write,
  170. next_record_r_unf and next_record_w_unf.
  171. (read_block_direct): Separate codepaths for unformatted direct
  172. and unformatted sequential. If a recl has been set by the
  173. user, use the number of bytes left for the record if it is smaller
  174. than the read request. Loop over subrecords. Set an error if the
  175. user has set a recl and the read was short.
  176. (write_buf): Separate codepaths for unformatted direct and
  177. unformatted sequential. If a recl has been set by the
  178. user, use the number of bytes left for the record if it is smaller
  179. than the read request. Loop over subrecords. Set an error if the
  180. user has set a recl and the read was short.
  181. (us_read): Add parameter continued (to indicate that bytes_left
  182. should not be intialized). Change default of record marker size
  183. to four bytes. Use subrecord. If the subrecord length is smaller than
  184. zero, this indicates a continuation.
  185. (us_write): Add parameter continued (to indicate that the continued
  186. flag should be set). Use subrecord.
  187. (pre_position): Use 0 for continued on us_write and us_read calls.
  188. (skip_record): New function.
  189. (next_record_r_unf): New function.
  190. (next_record_r): Use next_record_r_unf.
  191. (write_us_marker): Default size for record markers is four bytes.
  192. (next_record_w_unf): New function.
  193. (next_record_w): Use next_record_w_unf.
  194. 2006-11-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  195. * Makefile.am: Remove intrinsics/erf.c and intrinsics/bessel.c.
  196. * Makefile.in: Regenerate.
  197. * intrinsics/erf.c: Remove.
  198. * intrinsics/bessel.c: Remove.
  199. * c99_protos.h: Add prototypes for bessel and error functions.
  200. * intrinsics/c99_functions.c: Move content for intrinsics/erf.c
  201. and intrinsics/bessel.c here.
  202. 2006-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  203. * io/io.h (unit_flags): Add new flag has_recl.
  204. * io.open.c (new_unit): Set flag if RECL= was specified.
  205. * io/transfer.c (us_write): If flag set, leave recl as initialized by
  206. new_unit.
  207. 2006-11-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  208. * io/open.c (new_unit): Format %d expects an int variable.
  209. * runtime/error.c (show_locus): Format %d expects an int variable.
  210. 2006-11-08 Steven G. Kargl <kargl@gcc.gnu.org>
  211. * io/read.c (max_value): Hide "int n" in an #ifdef.
  212. 2006-11-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  213. PR libfortran/29752
  214. * io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.
  215. 2006-11-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  216. * io/transfer.c (next_record_w): Fix indentation.
  217. 2006-11-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  218. PR libfortran/25545
  219. * io/transfer.c (write_block): Cleanup code paths between
  220. stream and non-stream I/O.
  221. (write_buf): Cleanup.
  222. (read_block): Cleanup.
  223. (finalize_transfer): Call next_record for '$' edit descriptor handling
  224. of internal unit. Cleanup code for readability.
  225. 2006-11-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  226. PR libfortran/27895
  227. * intrinsics/reshape_generic.c (reshape_internal): Fix so that it
  228. works correctly for zero-sized arrays.
  229. * m4/reshape.m4: Likewise.
  230. * generated/reshape_r16.c: Regenerate.
  231. * generated/reshape_c4.c: Regenerate.
  232. * generated/reshape_i4.c: Regenerate.
  233. * generated/reshape_c16.c: Regenerate.
  234. * generated/reshape_r10.c: Regenerate.
  235. * generated/reshape_r8.c: Regenerate.
  236. * generated/reshape_c10.c: Regenerate.
  237. * generated/reshape_c8.c: Regenerate.
  238. * generated/reshape_i8.c: Regenerate.
  239. * generated/reshape_i16.c: Regenerate.
  240. * generated/reshape_r4.c: Regenerate.
  241. 2006-10-31 Thomas Koenig <Thomas.Koenig@online.de>
  242. PR libfortran/29627
  243. * libgfortran.h: Add ERROR_SHORT_RECORD
  244. * runtime/error.c (translate_error): Add case
  245. for ERROR_SHORT_RECORD.
  246. * io/transfer.c (read_block_direct): Separate codepaths
  247. for stream and record unformatted I/O. Remove unneeded
  248. tests for standard input, padding and formatted I/O.
  249. If the record is short, read in as much data as possible,
  250. then raise the error.
  251. 2006-10-30 Tobias Burnus <burnus@net-b.de>
  252. PR fortran/29452
  253. * runtime/string.c (compare0): Check whether string lengths match.
  254. 2006-10-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  255. * configure: Regenerate.
  256. * Makefile.in: Regenerate.
  257. * aclocal.m4: Regenerate.
  258. 2006-10-28 Tobias Burnus <burnus@net-b.de>
  259. PR fortran/29625
  260. * io/transfer.c (formatted_transfer_scalar): Allow binary edit
  261. descriptors for real variables; give error for BOZ edit
  262. descriptor for non-integers when using -std=f*.
  263. 2006-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  264. PR libfortran/29563
  265. * io/list_read.c (next_char): Fix an error in previous commit.
  266. 2006-10-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  267. PR libfortran/29563
  268. * io/io.h (st_parameter_dt): Add new flag at_eof.
  269. * io/list_read.c (next_char): Set flag when EOF and return '\n' to
  270. signal EOR. Check flag on next call and jump out.
  271. * io/unit.c (get_internal_unit): Initialize new flag.
  272. 2006-10-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  273. PR fortran/26025
  274. * m4/matmul.m4: Add possible call to gemm routine.
  275. * generated/matmul_r8.c: Regenerate.
  276. * generated/matmul_r16.c: Regenerate.
  277. * generated/matmul_c8.c: Regenerate.
  278. * generated/matmul_i8.c: Regenerate.
  279. * generated/matmul_c16.c: Regenerate.
  280. * generated/matmul_r10.c: Regenerate.
  281. * generated/matmul_r4.c: Regenerate.
  282. * generated/matmul_c10.c: Regenerate.
  283. * generated/matmul_c4.c: Regenerate.
  284. * generated/matmul_i4.c: Regenerate.
  285. * generated/matmul_i16.c: Regenerate.
  286. 2006-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
  287. * runtime/error.c: Add errno.h
  288. (generate_error): Set iostat to errno on OS error.
  289. * libgfortran.h: Set ERROR_OS to 5000
  290. 2006-10-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  291. * generated/minval_r8.c: Regenerate.
  292. * generated/maxloc1_4_r8.c: Regenerate.
  293. * generated/minloc1_16_r16.c: Regenerate.
  294. * generated/sum_i8.c: Regenerate.
  295. * generated/eoshift3_4.c: Regenerate.
  296. * generated/any_l16.c: Regenerate.
  297. * generated/eoshift1_8.c: Regenerate.
  298. * generated/reshape_r16.c: Regenerate.
  299. * generated/product_r4.c: Regenerate.
  300. * generated/maxloc1_8_i4.c: Regenerate.
  301. * generated/maxloc0_4_r4.c: Regenerate.
  302. * generated/in_unpack_i8.c: Regenerate.
  303. * generated/minloc0_4_r16.c: Regenerate.
  304. * generated/reshape_c4.c: Regenerate.
  305. * generated/maxloc0_4_r16.c: Regenerate.
  306. * generated/minloc1_8_r16.c: Regenerate.
  307. * generated/maxloc1_8_r16.c: Regenerate.
  308. * generated/in_unpack_i16.c: Regenerate.
  309. * generated/maxloc0_8_i8.c: Regenerate.
  310. * generated/sum_r16.c: Regenerate.
  311. * generated/minloc1_4_r8.c: Regenerate.
  312. * generated/maxloc1_16_r16.c: Regenerate.
  313. * generated/minloc1_16_i4.c: Regenerate.
  314. * generated/maxloc1_16_i4.c: Regenerate.
  315. * generated/minloc0_16_i8.c: Regenerate.
  316. * generated/maxloc0_16_i8.c: Regenerate.
  317. * generated/maxval_r16.c: Regenerate.
  318. * generated/count_16_l16.c: Regenerate.
  319. * generated/count_8_l8.c: Regenerate.
  320. * generated/product_c10.c: Regenerate.
  321. * generated/minloc1_8_i4.c: Regenerate.
  322. * generated/minloc0_16_i16.c: Regenerate.
  323. * generated/eoshift1_16.c: Regenerate.
  324. * generated/minloc0_4_r4.c: Regenerate.
  325. * generated/product_c4.c: Regenerate.
  326. * generated/sum_r4.c: Regenerate.
  327. * generated/in_pack_c16.c: Regenerate.
  328. * generated/reshape_i4.c: Regenerate.
  329. * generated/minloc0_8_i8.c: Regenerate.
  330. * generated/minloc1_16_r10.c: Regenerate.
  331. * generated/in_pack_c4.c: Regenerate.
  332. * generated/all_l16.c: Regenerate.
  333. * generated/reshape_c16.c: Regenerate.
  334. * generated/maxloc1_8_r8.c: Regenerate.
  335. * generated/minval_i16.c: Regenerate.
  336. * generated/reshape_r10.c: Regenerate.
  337. * generated/maxval_i4.c: Regenerate.
  338. * generated/any_l4.c: Regenerate.
  339. * generated/minval_i8.c: Regenerate.
  340. * generated/maxloc1_4_i8.c: Regenerate.
  341. * generated/maxloc0_16_i16.c: Regenerate.
  342. * generated/maxloc0_8_r4.c: Regenerate.
  343. * generated/minloc1_4_i16.c: Regenerate.
  344. * generated/minloc0_4_r10.c: Regenerate.
  345. * generated/maxloc1_4_i16.c: Regenerate.
  346. * generated/minloc0_8_i16.c: Regenerate.
  347. * generated/maxloc0_4_r10.c: Regenerate.
  348. * generated/maxloc0_8_i16.c: Regenerate.
  349. * generated/minloc1_8_r10.c: Regenerate.
  350. * generated/product_i4.c: Regenerate.
  351. * generated/minloc0_16_r4.c: Regenerate.
  352. * generated/sum_c16.c: Regenerate.
  353. * generated/maxloc1_8_r10.c: Regenerate.
  354. * generated/maxloc0_16_r4.c: Regenerate.
  355. * generated/minloc1_16_r8.c: Regenerate.
  356. * generated/maxloc0_4_i4.c: Regenerate.
  357. * generated/maxloc1_16_r8.c: Regenerate.
  358. * generated/cshift1_4.c: Regenerate.
  359. * generated/sum_r10.c: Regenerate.
  360. * generated/sum_c4.c: Regenerate.
  361. * generated/maxloc1_16_r10.c: Regenerate.
  362. * generated/count_4_l16.c: Regenerate.
  363. * generated/in_pack_i4.c: Regenerate.
  364. * generated/minloc1_8_r8.c: Regenerate.
  365. * generated/count_4_l4.c: Regenerate.
  366. * generated/maxval_r10.c: Regenerate.
  367. * generated/minloc1_4_i8.c: Regenerate.
  368. * generated/in_unpack_c4.c: Regenerate.
  369. * generated/minloc0_8_r4.c: Regenerate.
  370. * generated/product_i16.c: Regenerate.
  371. * generated/minloc0_16_r16.c: Regenerate.
  372. * generated/reshape_r8.c: Regenerate.
  373. * generated/all_l4.c: Regenerate.
  374. * generated/in_pack_c10.c: Regenerate.
  375. * generated/minloc0_4_i4.c: Regenerate.
  376. * generated/reshape_c10.c: Regenerate.
  377. * generated/minval_r4.c: Regenerate.
  378. * generated/maxloc1_4_r4.c: Regenerate.
  379. * generated/sum_i4.c: Regenerate.
  380. * generated/count_16_l8.c: Regenerate.
  381. * generated/maxval_r8.c: Regenerate.
  382. * generated/eoshift1_4.c: Regenerate.
  383. * generated/eoshift3_8.c: Regenerate.
  384. * generated/minval_r16.c: Regenerate.
  385. * generated/product_r8.c: Regenerate.
  386. * generated/maxloc1_8_i8.c: Regenerate.
  387. * generated/maxloc0_4_r8.c: Regenerate.
  388. * generated/maxloc0_16_r16.c: Regenerate.
  389. * generated/in_unpack_i4.c: Regenerate.
  390. * generated/sum_c10.c: Regenerate.
  391. * generated/minloc1_4_r16.c: Regenerate.
  392. * generated/maxloc1_4_r16.c: Regenerate.
  393. * generated/in_unpack_c16.c: Regenerate.
  394. * generated/minloc0_8_r16.c: Regenerate.
  395. * generated/reshape_c8.c: Regenerate.
  396. * generated/maxloc0_8_r16.c: Regenerate.
  397. * generated/maxloc0_8_i4.c: Regenerate.
  398. * generated/minloc1_4_r4.c: Regenerate.
  399. * generated/minloc0_16_i4.c: Regenerate.
  400. * generated/maxloc0_16_i4.c: Regenerate.
  401. * generated/minloc1_16_i8.c: Regenerate.
  402. * generated/maxloc1_16_i8.c: Regenerate.
  403. * generated/count_8_l4.c: Regenerate.
  404. * generated/minloc0_16_r10.c: Regenerate.
  405. * generated/minloc1_8_i8.c: Regenerate.
  406. * generated/minloc0_4_r8.c: Regenerate.
  407. * generated/product_r16.c: Regenerate.
  408. * generated/product_c8.c: Regenerate.
  409. * generated/sum_r8.c: Regenerate.
  410. * generated/in_pack_i16.c: Regenerate.
  411. * generated/minloc0_8_i4.c: Regenerate.
  412. * generated/minloc1_16_i16.c: Regenerate.
  413. * generated/reshape_i8.c: Regenerate.
  414. * generated/in_pack_c8.c: Regenerate.
  415. * generated/maxloc1_8_r4.c: Regenerate.
  416. * generated/reshape_i16.c: Regenerate.
  417. * generated/minval_r10.c: Regenerate.
  418. * generated/minval_i4.c: Regenerate.
  419. * generated/maxloc1_4_i4.c: Regenerate.
  420. * generated/maxval_i8.c: Regenerate.
  421. * generated/eoshift3_16.c: Regenerate.
  422. * generated/any_l8.c: Regenerate.
  423. * generated/maxloc0_16_r10.c: Regenerate.
  424. * generated/minloc0_4_i16.c: Regenerate.
  425. * generated/maxloc0_8_r8.c: Regenerate.
  426. * generated/maxloc0_4_i16.c: Regenerate.
  427. * generated/minloc1_4_r10.c: Regenerate.
  428. * generated/minloc1_8_i16.c: Regenerate.
  429. * generated/maxloc1_4_r10.c: Regenerate.
  430. * generated/minloc0_8_r10.c: Regenerate.
  431. * generated/maxloc1_8_i16.c: Regenerate.
  432. * generated/in_unpack_c10.c: Regenerate.
  433. * generated/maxloc0_8_r10.c: Regenerate.
  434. * generated/minloc1_16_r4.c: Regenerate.
  435. * generated/maxloc1_16_r4.c: Regenerate.
  436. * generated/minloc0_16_r8.c: Regenerate.
  437. * generated/product_i8.c: Regenerate.
  438. * generated/maxloc0_16_r8.c: Regenerate.
  439. * generated/sum_i16.c: Regenerate.
  440. * generated/maxloc0_4_i8.c: Regenerate.
  441. * generated/cshift1_8.c: Regenerate.
  442. * generated/maxloc1_16_i16.c: Regenerate.
  443. * generated/minloc1_8_r4.c: Regenerate.
  444. * generated/sum_c8.c: Regenerate.
  445. * generated/count_8_l16.c: Regenerate.
  446. * generated/in_pack_i8.c: Regenerate.
  447. * generated/maxval_i16.c: Regenerate.
  448. * generated/count_4_l8.c: Regenerate.
  449. * generated/minloc1_4_i4.c: Regenerate.
  450. * generated/product_c16.c: Regenerate.
  451. * generated/reshape_r4.c: Regenerate.
  452. * generated/minloc0_8_r8.c: Regenerate.
  453. * generated/in_unpack_c8.c: Regenerate.
  454. * generated/product_r10.c: Regenerate.
  455. * generated/cshift1_16.c: Regenerate.
  456. * generated/all_l8.c: Regenerate.
  457. * generated/minloc0_4_i8.c: Regenerate.
  458. * generated/maxval_r4.c: Regenerate.
  459. * generated/count_16_l4.c: Regenerate.
  460. 2006-10-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  461. PR libfortran/27895
  462. * intrinsics/cshift0.c: Special cases for zero-sized arrays.
  463. * intrinsics/pack_generic.c: Likewise.
  464. * intrinsics/spread_generic.c: Likewise.
  465. 2006-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  466. PR libfortran/29277
  467. * io/write.c (write_a): Add conversion of LF to CR-LF for systems with
  468. #define HAVE_CRLF.
  469. 2006-10-18 Tobias Burnus <burnus@net-b.de>
  470. * m4/in_pack.m4: Fixed a typo.
  471. * m4/iforeach.m4: Fixed a typo.
  472. * m4/eoshift1.m4: Fixed a typo.
  473. * m4/eoshift3.m4: Fixed a typo.
  474. * m4/cshift1.m4: Fixed a typo.
  475. * m4/in_unpack.m4: Fixed a typo.
  476. * m4/reshape.m4: Fixed a typo.
  477. * m4/ifunction.m4: Fixed a typo.
  478. * runtime/environ.c: Fixed a typo.
  479. * runtime/in_pack_generic.c: Fixed a typo.
  480. * runtime/in_unpack_generic.c: Fixed a typo.
  481. * runtime/memory.c: Fixed a typo.
  482. * intrinsics/cshift0.c: Fixed a typo.
  483. * intrinsics/cpu_time.c: Fixed a typo.
  484. * intrinsics/pack_generic.c: Fixed a typo.
  485. * intrinsics/unpack_generic.c: Fixed a typo.
  486. * intrinsics/eoshift0.c: Fixed a typo.
  487. * intrinsics/eoshift2.c: Fixed a typo.
  488. * intrinsics/reshape_generic.c: Fixed a typo.
  489. * io/open.c: Fixed a typo.
  490. * io/list_read.c: Fixed a typo.
  491. * io/io.h: Fixed a typo.
  492. * io/transfer.c: Fixed a typo.
  493. * io/write.c: Fixed a typo.
  494. 2006-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  495. PR libfortran/29277
  496. * io/list_read.c (next_char): Update strm_pos.
  497. (eat_separator): Delete extra call to unget_char.
  498. * io/transfer.c (read_block): Use read_sf for formatted stream I/O.
  499. (next_record_r): Update strm_pos for formatted stream I/O and handle
  500. end-of-record correctly.
  501. (next_record_w): Ditto.
  502. (next_record): Enable next record (r/w) functions and update strm_pos.
  503. (finalize_transfer): Call next_record to finish the record.
  504. 2006-10-13 Steven G. Kargl <kargl@gcc.gnu.org>
  505. * m4/spacing.m4: Use scalbn[f,l] if ldexp[f,l] is unavailable.
  506. * m4/rrspacing.m4: Ditto.
  507. * generated/spacing_r4.c: Regenerated.
  508. * generated/spacing_r8.c: Ditto.
  509. * generated/spacing_r10.c: Ditto.
  510. * generated/spacing_r16.c: Ditto.
  511. * generated/rrspacing_r4.c: Ditto.
  512. * generated/rrspacing_r8.c: Ditto.
  513. * generated/rrspacing_r10.c: Ditto.
  514. * generated/rrspacing_r16.c: Ditto.
  515. 2006-10-06 Steven G. Kargl <kargl@gcc.gnu.org>
  516. PR fortran/15441
  517. PR fortran/29312
  518. * configure.ac: Add HAVE_LDEXPF, HAVE_LDEXP, and HAVE_LDEXPL
  519. * m4/spacing.m4: New file. Use new HAVE_* defines.
  520. * m4/rrspacing.m4: Ditto.
  521. * Makefile.am: Handle new files.
  522. * configure: Regenerated.
  523. * Makefile.in: Ditto.
  524. * config.h.in: Ditto.
  525. * generated/spacing_r4.c: Generated.
  526. * generated/spacing_r8.c: Ditto.
  527. * generated/spacing_r10.c: Ditto.
  528. * generated/spacing_r16.c: Ditto.
  529. * generated/rrspacing_r4.c: Ditto.
  530. * generated/rrspacing_r8.c: Ditto.
  531. * generated/rrspacing_r10.c: Ditto.
  532. * generated/rrspacing_r16.c: Ditto.
  533. 2006-10-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  534. * intrinsics/hyper.c: Remove file.
  535. * intrinsics/c99_functions.c: Add fallback functions asinhf,
  536. acoshf and atanhf.
  537. * Makefile.am: Remove file intrinsics/hyper.c.
  538. * Makefile.in: Regenerate.
  539. 2006-10-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  540. * c99_protos.h: Correctly protect definitions of prototypes for
  541. asinhf, acoshf and atanhf to be the same as in intrinsics/hyper.c.
  542. 2006-10-08 Paul Thomas <pault@gcc.gnu.org>
  543. Erik Edelmann <edelmann@gcc.gnu.org>
  544. PR libfortran/20541
  545. * Makefile.in : Add move_alloc.
  546. * intrinsics/move_alloc.c: New function.
  547. * Makefile.am : Add move_alloc.
  548. 2006-10-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  549. PR libfortran/26540
  550. * intrinsics/signal.c (signal_sub, signal_sub_int): Use intptr_t
  551. if available to cast function pointers to int and back.
  552. * configure.ac: Check for intptr_t.
  553. * config.h.in: Regenerate.
  554. * configure: Regenerate.
  555. 2006-10-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  556. PR fortran/16580
  557. PR fortran/29288
  558. * libgfortran/Makefile.am: Add the new files to the build
  559. process, and rules to build them.
  560. * libgfortran/Makefile.in: Regenerate.
  561. * libgfortran/m4/misc_specifics.m4: New file.
  562. * libgfortran/m4/specific.m4: Add new special cases for function
  563. with complex argument and real result, like abs_c* and aimag_c*.
  564. * libgfortran/intrinsics/f2c_specifics.F90: Add specifics for
  565. AIMAG, ASINH, ACOSH and ATANH.
  566. * libgfortran/generated/_aimag_c4.F90: New file.
  567. * libgfortran/generated/_aimag_c8.F90: New file.
  568. * libgfortran/generated/_asinh_r10.F90: New file.
  569. * libgfortran/generated/_acosh_r16.F90: New file.
  570. * libgfortran/generated/_aimag_c10.F90: New file.
  571. * libgfortran/generated/_atanh_r16.F90: New file.
  572. * libgfortran/generated/_acosh_r4.F90: New file.
  573. * libgfortran/generated/_acosh_r8.F90: New file.
  574. * libgfortran/generated/_asinh_r4.F90: New file.
  575. * libgfortran/generated/_asinh_r8.F90: New file.
  576. * libgfortran/generated/_asinh_r16.F90: New file.
  577. * libgfortran/generated/_atanh_r4.F90: New file.
  578. * libgfortran/generated/_atanh_r8.F90: New file.
  579. * libgfortran/generated/_acosh_r10.F90: New file.
  580. * libgfortran/generated/misc_specifics.F90: New file.
  581. * libgfortran/generated/_aimag_c16.F90: New file.
  582. * libgfortran/generated/_atanh_r10.F90: New file.
  583. 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
  584. * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__
  585. from test.
  586. * configure: Regenerate.
  587. 2006-10-05 Steven G. Kargl <kargl@gcc.gnu.org>
  588. * Makefile.am: Use $(M4) instead of m4.
  589. * Makefile.in: Regenerated.
  590. 2006-10-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  591. * libgfortran.h: Add prototype for internal_unpack_c16.
  592. 2006-09-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  593. PR libfortran/18791
  594. * m4/specific.m4: Special-case cabs so that its return type is
  595. real. Special-case conjg so that their suffices are _4, _8, _10 and
  596. _16 instead of _c4, _c8, _c10 and _c16.
  597. * intrinsics/f2c_specifics.F90: Special-case conjg functions so
  598. that their suffices are _4 and _8 instead of _c4 and _c8.
  599. * generated/_conjg_c4.F90: Regenerate.
  600. * generated/_conjg_c8.F90: Regenerate.
  601. * generated/_conjg_c10.F90: Regenerate.
  602. * generated/_conjg_c16.F90: Regenerate.
  603. * generated/_abs_c4.F90: Regenerate.
  604. * generated/_abs_c8.F90: Regenerate.
  605. * generated/_abs_c10.F90: Regenerate.
  606. * generated/_abs_c16.F90: Regenerate.
  607. 2006-09-29 Steven G. Kargl <kargl@gcc.gnu.org>
  608. * intrinsics/cpu_time.c: Add cpu_time_10 and cpu_time_16 routines.
  609. 2006-09-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  610. D
  611. * Makefile.am: Install libgfortranbegin inside compiler libraries
  612. directory instead of system libraries directory.
  613. * Makefile.in: Regenerate.
  614. 2006-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  615. * Makefile.am: Remove dependency on gfortypes.h.
  616. * Makefile.in: Regenerate.
  617. 2006-09-22 Danny Smith <dannysmith@users.sourceforge.net>
  618. PR libfortran/27964
  619. * configure.ac: Check for setmode() function.
  620. * configure: Regenerate.
  621. * config.h.in: Regenerate.
  622. * io/unix.c (output_stream): Force stdout to binary mode.
  623. (error_stream): Force stderr to binary mode.
  624. 2006-09-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  625. PR libfortran/29099
  626. * intrinsics/date_and_time.c (secnds): Fix case of zero time.
  627. 2006-09-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  628. PR libfortran/29053
  629. * io.h (gfc_unit): Add variable, strm_pos, to track
  630. STREAM I/O file position.
  631. * file_pos.c (st_rewind): Set strm_pos to beginning.
  632. * open.c (new_unit): Initialize strm_pos.
  633. * read.c (read_x): Bump strm_pos.
  634. * inquire.c (inquire_via_unit): Return strm_pos value.
  635. * transfer.c (read_block),(read_block_direct),(write_block)
  636. (write_buf): Seek to strm_pos - 1. Update strm_pos when done.
  637. (pre_position): Initialize strm_pos.
  638. (data_transfer_init): Set strm_pos if DT_HAS_REC.
  639. (finalize_transfer): Flush file, no need to update strm_pos.
  640. 2006-09-10 Paul Thomas <pault@gcc.gnu.org>
  641. PR libfortran/28947
  642. * m4/matmul.m4: For the case where the second input argument is
  643. transposed, ensure that the case with rank (a) == 1 is
  644. correctly calculated.
  645. * generated/matmul_r4.c: Regenerate.
  646. * generated/matmul_r8.c: Regenerate.
  647. * generated/matmul_r10.c: Regenerate.
  648. * generated/matmul_r16.c: Regenerate.
  649. * generated/matmul_c4.c: Regenerate.
  650. * generated/matmul_c8.c: Regenerate.
  651. * generated/matmul_c10.c: Regenerate.
  652. * generated/matmul_c16.c: Regenerate.
  653. * generated/matmul_i4.c: Regenerate.
  654. * generated/matmul_i8.c: Regenerate.
  655. * generated/matmul_i16.c: Regenerate.
  656. 2006-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  657. PR libfortran/28354
  658. * io/write.c: Check for special case of zero precision in format
  659. and pre-round the real value.
  660. 2006-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  661. PR libfortran/25828
  662. * libgfortran.h: Rename GFC_LARGE_IO_INT to GFC_IO_INT.
  663. * io/file_pos.c (st_backspace): Ignore if access=STREAM.
  664. (st_rewind): Handle case of access=STREAM.
  665. * io/open.c (access_opt): Add STREAM_ACCESS.
  666. (edit_modes): Set current_record to zero only if not STREAM.
  667. (new_unit): Initialize maxrec, recl, and last_record for STREAM.
  668. * io/read.c (read_x): Advance file position for STREAM.
  669. * io/io.h (enum unit_access): Align IOPARM flags with frontend.
  670. Add ACCESS_STREAM. Add prototype for is_stream_io () function.
  671. Use GFC_IO_INT.
  672. * io/inquire.c (inquire_via_unit): Add text for access = "STREAM".
  673. * io/unit.c (is_stream_io): New function to return true if access =
  674. STREAM.
  675. * io/transfer.c (file_mode): Add modes for unformatted stream and
  676. formatted stream. (current_mode): Return appropriate file mode based
  677. on access flags.
  678. (read_block): Handle formatted stream reads.
  679. (read_block_direct): Handle unformatted stream reads.
  680. (write_block): Handle formatted stream writes.
  681. (write_buf): Handle unformatted stream writes.
  682. (unformatted_read): Fix up, use temporary for size.
  683. (pre_position): Position file for STREAM access.
  684. (data_transfer_init): Initialize for stream access, skip irrelevent
  685. error checks.
  686. (next_record_r),(next_record_w), and (next_record): Do nothing for
  687. stream I/O.
  688. (finalize_transfer): Flush when all done if stream I/O.
  689. 2006-08-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  690. * intrinsics/bessel.c: Add prototypes for all functions.
  691. 2006-08-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  692. * intrinsics/access.c (access_func): Remove export directive.
  693. 2006-08-02 Thomas Koenig <Thomas.Koenig@online.de>
  694. * Makefile.in: Regenerate using automake 1.9.6.
  695. * aclocal.m4: Revert to previous version.
  696. 2006-08-01 Thomas Koenig <Thomas.Koenig@online.de>
  697. PR libfortran/28452
  698. * Makefile.am: Remove normalize.c.
  699. * aclocal.m4: Regenerate using aclocal 1.9.3.
  700. * Makefile.in: Regenerate using automake 1.9.3.
  701. * libgfortran.h: #include <float.h>.
  702. Define GFC_REAL_*_DIGITS and GFC_REAL_*_RADIX.
  703. Remove prototypes for normalize_r4_i4 and normalize_r8_i8.
  704. * intrinsics/random.c (top level): Add prototypes for
  705. random_r10, arandom_r10, random_r16 and arandom_r16.
  706. (rnumber_4): New static function.
  707. (rnumber_8): New static function.
  708. (rnumber_10): New static function.
  709. (rnumber_16): New static function.
  710. (top level): Set to kiss_size to 12 if we have
  711. REAL(KIND=16), to 8 otherwise.
  712. Define KISS_DEFAULT_SEED_1, KISS_DEFAULT_SEED_2 and
  713. KISS_DEFAULT_SEED_3.
  714. (kiss_random_kernel): Take argument to differentiate
  715. between different random number generators.
  716. (random_r4): Add argument to call to kiss_random_kernel,
  717. use rnumber_*.
  718. (random_r8): Likewise.
  719. (random_r10): New function.
  720. (random_r16): New function.
  721. (arandom_r4): Add argument to call to kiss_random_kernel,
  722. use_rnumber_*.
  723. (arandom_r8): Likewise.
  724. (arandom_r10): New function.
  725. (arandom_r16): New function.
  726. * intrinsics/rand.c (rand): Use shift and mask.
  727. * runtime/normalize.c: Remove.
  728. 2006-07-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  729. PR libfortran/28335
  730. * file_position.c (st_flush): Add clearer error when UNIT does not
  731. exist. Add reference to standard in comment.
  732. 2006-07-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  733. PR libfortran/28335
  734. * close.c (st_close): Revert previous patch and add comment.
  735. * file_position.c (st_flush): Revert previous patch and add comment.
  736. 2006-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  737. * intrinsics/date_and_time.c: Add functions for GMTIME and LTIME.
  738. * intrinsics/access.c: New file.
  739. * intrinsics/chmod.c: New file.
  740. * configure.ac: Add checks for <sys/wait.h>, access, fork,execl
  741. and wait.
  742. * Makefile.am: Add new files intrinsics/access.c and
  743. intrinsics/chmod.c.
  744. * configure: Regenerate.
  745. * config.h.in: Regenerate.
  746. * Makefile.in: Regenerate.
  747. 2006-07-30 Janne Blomqvist <jb@gcc.gnu.org>
  748. * io/transfer.c (transfer_array): Remove stride0 fix.
  749. 2006-07-26 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  750. * configure.ac: Check for function clock.
  751. * Makefile.am: Compile new file intrinsics/clock.c.
  752. * intrinsics/clock.c: New file.
  753. * Makefile.in: Regenerate.
  754. * configure: Regenerate.
  755. * config.h.in: Regenerate.
  756. * intrinsics/stat.c: Rename the old stat_i?_sub functions to
  757. helper functions stat_i?_sub_0, and use them for both STAT and
  758. LSTAT.
  759. 2006-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  760. PR libfortran/28335
  761. * close.c (st_close): Add error when UNIT does not exist.
  762. * file_position.c (st_flush): Add error when UNIT does not exist.
  763. 2006-07-25 Paolo Bonzini <bonzini@gnu.org>
  764. PR build/26188
  765. * configure: Regenerate.
  766. 2006-07-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  767. PR libfortran/25289
  768. * libgfortran.h: Add conditional definition of GFC_LARGE_IO_INT type.
  769. * io/io.h (st_parameter_dt): Define rec as type GFC_LARGE_IO_INT.
  770. 2006-07-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  771. PR libfortran/28339
  772. * io/transfer.c (next_record_w): Use next_array_record result to set
  773. END_FILE. (write_block): Test for END_FILE before the next write occurs.
  774. * io/unit.c (get_internal_unit): Initialize iunit->endfile for internal
  775. unit.
  776. 2006-07-19 Janne Blomqvist <jb@gcc.gnu.org>
  777. PR fortran/27919
  778. * m4/dotprodc.m4: Remove.
  779. * m4/dotprodl.m4: Remove.
  780. * m4/dotprod.m4: Remove.
  781. * generated/dotprod_*.c: Remove.
  782. * Makefile.am: Remove any references to dot_product
  783. implementation.
  784. * Makefile.in: Regenerated.
  785. 2006-07-18 Paolo Bonzini <bonzini@gnu.org>
  786. * configure: Regenerate.
  787. 2006-07-15 Steven G. Kargl <kargls@comcast.net>
  788. * intrinsics/etime.c: Remove etime_
  789. * libtool-version: Bump from libgfortran.so.1 to libgfortran.so.2
  790. 2006-07-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  791. PR fortran/28163
  792. * intrinsics/string_intrinsics.c (copy_string): Remove function.
  793. 2006-07-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  794. * intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8,
  795. idate_i4,idate_i8): New functions.
  796. 2006-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  797. PR libfortran/27704
  798. * runtime/error.c (notify_std): Pass common flags into function. Use
  799. flags to show locus of error or warning.
  800. * libgfortran.h: Add enum try. Add prototype for notify_std.
  801. * io/open.c (edit_modes): Allow status="old" and add extension to
  802. allow status="scratch"
  803. *io/list_read.c (nml_read_obj): Update call to notify_std.
  804. *io/io.h: Remove enum try and prototype for notify_std.
  805. *io/transfer.c (read_sf): Update call to notify_std.
  806. *io/format.c (parse_format_list): Update call to notify_std.
  807. 2006-06-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  808. * io/io.h: Move proto for unit_to_fd...
  809. * libgfortran.h: ...here.
  810. 2006-06-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  811. * intrinsics/ierrno.c: Don't include "io/io.h".
  812. * intrinsics/sleep.c: Likewise.
  813. * intrinsics/perror.c: Likewise.
  814. * intrinsics/stat.c: Likewise.
  815. * intrinsics/kill.c: Likewise.
  816. * intrinsics/time.c: Likewise.
  817. * intrinsics/fnum.c: Likewise.
  818. * intrinsics/rename.c: Likewise.
  819. * intrinsics/symlnk.c: Likewise.
  820. * intrinsics/chdir.c: Likewise.
  821. * intrinsics/link.c: Likewise.
  822. * intrinsics/random.c: Don't include "io/io.h". Include <gthr.h>.
  823. * intrinsics/rand.c: Likewise.
  824. 2006-06-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  825. PR fortran/28094
  826. * Makefile.am: Add _mod_r10.F90 and _mod_r16.F90.
  827. * Makefile.in: Regenerate.
  828. * generated/_mod_r10.F90: New file.
  829. * generated/_mod_r16.F90: New file.
  830. 2006-06-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  831. PR libfortran/26769
  832. * Makefile.am: Add r4 and r8 versions of reshape and transpose.
  833. * Makefile.in: Regenerate.
  834. * generated/reshape_r4.c: New file.
  835. * generated/reshape_r8.c: New file.
  836. * generated/transpose_r4.c: New file.
  837. * generated/transpose_r8.c: New file.
  838. 2006-06-20 Paul Thomas <pault@gcc.gnu.org>
  839. PR libfortran/28005
  840. * m4/matmul.m4: aystride = 1 does not uniquely detect the
  841. presence of a temporary transpose; an array element in the
  842. first dimension produces the same signature. Detect this
  843. using the rank of a and add specific code.
  844. * generated/matmul_r4.c: Regenerate.
  845. * generated/matmul_r8.c: Regenerate.
  846. * generated/matmul_r10.c: Regenerate.
  847. * generated/matmul_r16.c: Regenerate.
  848. * generated/matmul_c4.c: Regenerate.
  849. * generated/matmul_c8.c: Regenerate.
  850. * generated/matmul_c10.c: Regenerate.
  851. * generated/matmul_c16.c: Regenerate.
  852. * generated/matmul_i4.c: Regenerate.
  853. * generated/matmul_i8.c: Regenerate.
  854. * generated/matmul_i16.c: Regenerate.
  855. 2006-06-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
  856. PR libgomp/27254
  857. * io/unit.c (get_internal_unit): Initialize and lock thread mutex
  858. for internal units.
  859. 2006-06-06 Janne Blomqvist <jb@gcc.gnu.org>
  860. * m4/in_pack.m4: Add TODO comment about detecting temporaries,
  861. remove test for stride 0, update copyright year.
  862. * m4/transpose.m4: Remove test for stride 0, update copyright
  863. year.
  864. * m4/iforeach.m4: Likewise.
  865. * m4/shape.m4: Likewise.
  866. * m4/in_unpack.m4: Likewise.
  867. * m4/reshape.m4: Likewise.
  868. * m4/ifunction.m4: Likewise.
  869. * m4/matmul.m4: Likewise.
  870. * m4/matmull.m4: Likewise.
  871. * intrinsics/etime.c: Likewise.
  872. * intrinsics/transpose_generic.c: Likewise.
  873. * intrinsics/spread_generic.c: Likewise.
  874. * intrinsics/stat.c: Likewise.
  875. * intrinsics/reshape_generic.c: Likewise.
  876. * intrinsics/random.c: Likewise.
  877. * generated/*: Regenerated from above changed m4 files.
  878. 2006-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  879. PR libfortran/27757
  880. * io/unix.c (fd_seek): Set active to zero.
  881. 2006-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  882. PR libfortran/27634
  883. * io/format.c (parse_format_list): Allow missing period in format only
  884. if -std=legacy.
  885. 2006-05-28 Thomas Koenig <Thomas.Koenig@online.de>
  886. * intrinsics/string_intrinsics.c (compare_string):
  887. Use memcmp instead of strncmp to avoid tripping over
  888. CHAR(0) in a string.
  889. 2006-05-27 Janne Blomqvist <jb@gcc.gnu.org>
  890. * io/io.h (find_or_create_unit): Correct export declaration.
  891. 2006-05-27 Janne Blomqvist <jb@gcc.gnu.org>
  892. * intrinsics/abort.c (abort_): Remove.
  893. 2006-05-26 Janne Blomqvist <jb@gcc.gnu.org>
  894. * configure.ac: Remove AC_FUNC_MMAP.
  895. * configure: Regenerated.
  896. * Makefile.in: Regenerated.
  897. * config.h.in: Regenerated.
  898. * aclocal.m4: Regenerated.
  899. 2006-05-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  900. * intrinsics/associated.c (associated): Zero-sized arrays should
  901. not be reported as ASSOCIATED.
  902. 2006-05-24 Carlos O'Donell <carlos@codesourcery.com>
  903. * Makefile.am: Add install-html target. Add install-html to .PHONY
  904. * Makefile.in: Regenerate.
  905. * aclocal.m4: Regenerate.
  906. 2006-05-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  907. PR libfortran/24459
  908. * io/list_read.c (nml_parse_qualifier): Leave loop spec end value
  909. at default value unless -std=f95 or if an array section
  910. is specified in namelist input. Warn if -pedantic.
  911. * io/io.h (st_parameter_dt): Add expanded_read flag.
  912. 2006-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  913. PR libfortran/22423
  914. * io/transfer.c (read_block): Return NULL instead of nothing.
  915. 2006-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  916. PR libfortran/27575
  917. * io/transfer.c (read_block): Add check for end file condition.
  918. (read_block_direct): Add check for end file condition.
  919. 2006-05-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  920. PR libfortran/26985
  921. * m4/matmul.m4: Correct the condition for the memset call,
  922. and remove the unneeded call to size0.
  923. * generated/matmul_r4.c: Regenerate.
  924. * generated/matmul_r8.c: Regenerate.
  925. * generated/matmul_r10.c: Regenerate.
  926. * generated/matmul_r16.c: Regenerate.
  927. * generated/matmul_c4.c: Regenerate.
  928. * generated/matmul_c8.c: Regenerate.
  929. * generated/matmul_c10.c: Regenerate.
  930. * generated/matmul_c16.c: Regenerate.
  931. * generated/matmul_i4.c: Regenerate.
  932. * generated/matmul_i8.c: Regenerate.
  933. * generated/matmul_i16.c: Regenerate.
  934. 2006-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  935. PR libfortran/27360
  936. * io/list_read.c (read_logical): Free line_buffer and free saved.
  937. 2006-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  938. PR libfortran/27304
  939. * io/transfer.c (formatted_transfer_scalar): Generate error if data
  940. descriptors are exhausted.
  941. * io/format.c (next_format0): Fix comment.
  942. 2006-04-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  943. PR libfortran/20257
  944. * io/io.h: Add prototypes for get_internal_unit and free_internal_unit.
  945. * io/unit.c (get_internal_unit): Initialize unit number, not zero.
  946. (free_internal_unit): New function to consolidate freeing memory.
  947. (get_unit): Initialize internal_unit_desc to NULL when unit is
  948. external.
  949. * io/unix.c (mem_close): Check for not NULL before freeing memory.
  950. * io/transfer.c (read_block): Reset bytes_left and skip error if unit
  951. is preconnected and default record length is reached.
  952. (read_block_direct): Ditto.
  953. (write_block): Ditto.
  954. (write_buf): Ditto.
  955. (data_transfer_init): Only flush if not internal unit.
  956. (finalize_transfer): Ditto and delete code to free memory used by
  957. internal units.
  958. (st_read_done): Use new function - free_internal_unit.
  959. (st_write_done): Use new function - free_internal unit.
  960. 2006-04-22 Jakub Jelinek <jakub@redhat.com>
  961. PR fortran/26769
  962. * Makefile.am (i_transpose_c): Add generated/transpose_r16.c.
  963. (i_reshape_c): Add generated/reshape_r16.c.
  964. * Makefile.in: Regenerated.
  965. * generated/transpose_r16.c: Generated new file.
  966. * generated/redhape_r16.c: Generated new file.
  967. 2006-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  968. PR libfortran/27138
  969. * io/list_read.c (eat_line): New function.
  970. (parse_repeat): Use new function and free_saved.
  971. (read_logical): Same.
  972. (read_integer): Use new function.
  973. (parse_real): Use nml_bad_return and new function.
  974. (read_complex): Use new function and free_saved.
  975. (read_real): Same.
  976. 2006-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  977. PR libfortran/26766
  978. * io/io.h: Add bit to identify associated unit as internal.
  979. * io/unit.c (get_external_unit): Renamed the find_unit_1 function to
  980. reflect the external unit functionality vs internal unit.
  981. (get_internal_unit): New function to allocate and initialize an internal
  982. unit structure.
  983. (get_unit): Use get_internal_unit and get_external_unit.
  984. (is_internal_unit): Revised to use new bit added in io.h.
  985. * io/transfer.c (data_transfer_init): Fix line width.
  986. (st_read_done): Free memory allocated for internal unit.
  987. (st_write_done): Add test to only flush and truncate when not an
  988. internal unit. Free memory allocated for internal unit.
  989. 2006-04-11 Jakub Jelinek <jakub@redhat.com>
  990. * io/io.h (st_parameter_dt): Revert 2005-12-10 change to
  991. u.pad, fix comment.
  992. (check_st_parameter_dt): New compile time assert.
  993. 2006-04-10 Jakub Jelinek <jakub@redhat.com>
  994. PR libfortran/24685
  995. * io/write.c (MIN_FIELD_WIDTH, STR, STR1): Define.
  996. (output_float): Increase buffer sizes for IEEE quad and IBM extended
  997. long double.
  998. (write_real): Output REAL(16) as 1PG43.34E4 rather than 1PG40.31E4.
  999. 2006-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1000. PR libfortran/26890
  1001. * io/io.h: Revert change to pad size made on 2006-03-30.
  1002. Add comment explaining dependency with fortran/trans-io.c.
  1003. 2006-04-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1004. * io/write.c (output_float): Update condition to not error when
  1005. decimal precision in format specifier is zero.
  1006. 2006-04-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  1007. * config/fpu-387.h: Use previously added SSE code in all
  1008. cases, as it really is the right thing to do.
  1009. 2006-03-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1010. PR libfortran/26890
  1011. * io/io.h: Add size_used to st_parameter_dt, adjust pad size.
  1012. *io/transfer.c (data_transfer_init): Initialize size_used to zero.
  1013. (read_sf): Use size_used.
  1014. (read_block): Likewise.
  1015. (read_block_direct): Likewise.
  1016. (write_block): Likewise.
  1017. (write_buf): Likewise and eliminate erroneous FAILURE return.
  1018. (finalize_transfer): Assign value of size_used to *dtp->size.
  1019. 2006-03-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  1020. PR libfortran/26712
  1021. * config/fpu-387.h: Add special case for handling of SSE
  1022. control bit on i386-darwin.
  1023. 2006-03-30 Thomas Koenig <Thomas.Koenig@online.de>
  1024. PR fortran/25031
  1025. * runtime/memory.c (allocate_array): If stat is present and
  1026. the variable is already allocated, free the variable, do
  1027. the allocation and set stat.
  1028. (allocate_array_64): Likewise. Whitespace fix.
  1029. 2006-03-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1030. PR libfortran/26880
  1031. * io/file_pos.c (st_rewind): Clear read_bad flag.
  1032. 2006-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1033. PR libfortran/26661
  1034. * io/io.h: Add read_sf so it can be used by read_x.
  1035. * io/transfer.c (read_sf): Pass no_error flag to read_sf. Use it to
  1036. break out rather than error on EOF or EOR conditions.
  1037. (read_block): Update call to read_sf.
  1038. (read_block_direct): Ditto.
  1039. * io/read.c (read_x): Use the modified read_sf instead of read_block.
  1040. 2006-03-25 Thomas Koenig <Thomas.Koenig@online.de>
  1041. PR libfortran/26735
  1042. * io/transfer.c (data_transfer_init): Set u_flags.convert
  1043. on an unopened unit if specified by environment variable
  1044. (via get_unformatted_convert) or by compile-time option.
  1045. 2006-03-25 Thomas Koenig <Thomas.Koenig@online.de>
  1046. PR fortran/26769
  1047. * Makefile.am: Add transpose_r10.c and reshape_r10.c.
  1048. * aclocal.m4: Regenerate using aclocal 1.9.3.
  1049. * Makefile.in: Regenerate using automake 1.9.3.
  1050. * m4/iparm.m4 (rtype_ccode): If rtype_letter is `i',
  1051. evaluate to rtype_kind, otherwise to rtype_code.
  1052. * generated/transpose_r10.c: Add.
  1053. * generated/reshape_r10.c: Add.
  1054. 2006-03-22 Thomas Koenig <Thomas.Koenig@online.de>
  1055. PR fortran/19303
  1056. * libgfortran.h (compile_options_t): Add record_marker.
  1057. * runtime/compile_options.c (set_record_marker):
  1058. New function.
  1059. * io/open.c: If we have four-byte record markers, use
  1060. GFC_INTEGER_4_HUGE as default record length.
  1061. * io/file_pos.c (unformatted_backspace): Handle
  1062. different size record markers.
  1063. * io/transfer.c (us_read): Likewise.
  1064. (us_write): Likewise.
  1065. (next_record_r): Likewise.
  1066. (write_us_marker): Likewise.
  1067. (next_record_w): Likewise.
  1068. 2006-03-20 Thomas Koenig <Thomas.Koenig@online.de>
  1069. PR fortran/20935
  1070. * m4/iforeach.m4: Add SCALAR_FOREACH_FUNCTION macro.
  1071. * m4/ifunction.m4: Add SCALAR_ARRAY_FUNCTION macro.
  1072. * m4/minloc0.m4: Use SCALAR_FOREACH_FUNCTION.
  1073. * m4/minloc1.m4: Use SCALAR_ARRAY_FUNCTION.
  1074. * m4/maxloc0.m4: Use SCALAR_FOREACH_FUNCTION.
  1075. * m4/maxloc1.m4: Use SCALAR_ARRAY_FUNCTION.
  1076. * m4/minval.m4: Likewise.
  1077. * m4/maxval.m4: Likewise.
  1078. * m4/product.m4: Likewise.
  1079. * m4/sum.m4: Likewise.
  1080. * minloc0_16_i16.c : Regenerated.
  1081. * minloc0_16_i4.c : Regenerated.
  1082. * minloc0_16_i8.c : Regenerated.
  1083. * minloc0_16_r10.c : Regenerated.
  1084. * minloc0_16_r16.c : Regenerated.
  1085. * minloc0_16_r4.c : Regenerated.
  1086. * minloc0_16_r8.c : Regenerated.
  1087. * minloc0_4_i16.c : Regenerated.
  1088. * minloc0_4_i4.c : Regenerated.
  1089. * minloc0_4_i8.c : Regenerated.
  1090. * minloc0_4_r10.c : Regenerated.
  1091. * minloc0_4_r16.c : Regenerated.
  1092. * minloc0_4_r4.c : Regenerated.
  1093. * minloc0_4_r8.c : Regenerated.
  1094. * minloc0_8_i16.c : Regenerated.
  1095. * minloc0_8_i4.c : Regenerated.
  1096. * minloc0_8_i8.c : Regenerated.
  1097. * minloc0_8_r10.c : Regenerated.
  1098. * minloc0_8_r16.c : Regenerated.
  1099. * minloc0_8_r4.c : Regenerated.
  1100. * minloc0_8_r8.c : Regenerated.
  1101. * minloc1_16_i16.c : Regenerated.
  1102. * minloc1_16_i4.c : Regenerated.
  1103. * minloc1_16_i8.c : Regenerated.
  1104. * minloc1_16_r10.c : Regenerated.
  1105. * minloc1_16_r16.c : Regenerated.
  1106. * minloc1_16_r4.c : Regenerated.
  1107. * minloc1_16_r8.c : Regenerated.
  1108. * minloc1_4_i16.c : Regenerated.
  1109. * minloc1_4_i4.c : Regenerated.
  1110. * minloc1_4_i8.c : Regenerated.
  1111. * minloc1_4_r10.c : Regenerated.
  1112. * minloc1_4_r16.c : Regenerated.
  1113. * minloc1_4_r4.c : Regenerated.
  1114. * minloc1_4_r8.c : Regenerated.
  1115. * minloc1_8_i16.c : Regenerated.
  1116. * minloc1_8_i4.c : Regenerated.
  1117. * minloc1_8_i8.c : Regenerated.
  1118. * minloc1_8_r10.c : Regenerated.
  1119. * minloc1_8_r16.c : Regenerated.
  1120. * minloc1_8_r4.c : Regenerated.
  1121. * minloc1_8_r8.c : Regenerated.
  1122. * maxloc0_16_i16.c : Regenerated.
  1123. * maxloc0_16_i4.c : Regenerated.
  1124. * maxloc0_16_i8.c : Regenerated.
  1125. * maxloc0_16_r10.c : Regenerated.
  1126. * maxloc0_16_r16.c : Regenerated.
  1127. * maxloc0_16_r4.c : Regenerated.
  1128. * maxloc0_16_r8.c : Regenerated.
  1129. * maxloc0_4_i16.c : Regenerated.
  1130. * maxloc0_4_i4.c : Regenerated.
  1131. * maxloc0_4_i8.c : Regenerated.
  1132. * maxloc0_4_r10.c : Regenerated.
  1133. * maxloc0_4_r16.c : Regenerated.
  1134. * maxloc0_4_r4.c : Regenerated.
  1135. * maxloc0_4_r8.c : Regenerated.
  1136. * maxloc0_8_i16.c : Regenerated.
  1137. * maxloc0_8_i4.c : Regenerated.
  1138. * maxloc0_8_i8.c : Regenerated.
  1139. * maxloc0_8_r10.c : Regenerated.
  1140. * maxloc0_8_r16.c : Regenerated.
  1141. * maxloc0_8_r4.c : Regenerated.
  1142. * maxloc0_8_r8.c : Regenerated.
  1143. * maxloc1_16_i16.c : Regenerated.
  1144. * maxloc1_16_i4.c : Regenerated.
  1145. * maxloc1_16_i8.c : Regenerated.
  1146. * maxloc1_16_r10.c : Regenerated.
  1147. * maxloc1_16_r16.c : Regenerated.
  1148. * maxloc1_16_r4.c : Regenerated.
  1149. * maxloc1_16_r8.c : Regenerated.
  1150. * maxloc1_4_i16.c : Regenerated.
  1151. * maxloc1_4_i4.c : Regenerated.
  1152. * maxloc1_4_i8.c : Regenerated.
  1153. * maxloc1_4_r10.c : Regenerated.
  1154. * maxloc1_4_r16.c : Regenerated.
  1155. * maxloc1_4_r4.c : Regenerated.
  1156. * maxloc1_4_r8.c : Regenerated.
  1157. * maxloc1_8_i16.c : Regenerated.
  1158. * maxloc1_8_i4.c : Regenerated.
  1159. * maxloc1_8_i8.c : Regenerated.
  1160. * maxloc1_8_r10.c : Regenerated.
  1161. * maxloc1_8_r16.c : Regenerated.
  1162. * maxloc1_8_r4.c : Regenerated.
  1163. * maxloc1_8_r8.c : Regenerated.
  1164. * maxval_i16.c : Regenerated.
  1165. * maxval_i4.c : Regenerated.
  1166. * maxval_i8.c : Regenerated.
  1167. * maxval_r10.c : Regenerated.
  1168. * maxval_r16.c : Regenerated.
  1169. * maxval_r4.c : Regenerated.
  1170. * maxval_r8.c : Regenerated.
  1171. * minval_i16.c : Regenerated.
  1172. * minval_i4.c : Regenerated.
  1173. * minval_i8.c : Regenerated.
  1174. * minval_r10.c : Regenerated.
  1175. * minval_r16.c : Regenerated.
  1176. * minval_r4.c : Regenerated.
  1177. * minval_r8.c : Regenerated.
  1178. * sum_c10.c : Regenerated.
  1179. * sum_c16.c : Regenerated.
  1180. * sum_c4.c : Regenerated.
  1181. * sum_c8.c : Regenerated.
  1182. * sum_i16.c : Regenerated.
  1183. * sum_i4.c : Regenerated.
  1184. * sum_i8.c : Regenerated.
  1185. * sum_r10.c : Regenerated.
  1186. * sum_r16.c : Regenerated.
  1187. * sum_r4.c : Regenerated.
  1188. * sum_r8.c : Regenerated.
  1189. * product_c10.c : Regenerated.
  1190. * product_c16.c : Regenerated.
  1191. * product_c4.c : Regenerated.
  1192. * product_c8.c : Regenerated.
  1193. * product_i16.c : Regenerated.
  1194. * product_i4.c : Regenerated.
  1195. * product_i8.c : Regenerated.
  1196. * product_r10.c : Regenerated.
  1197. * product_r16.c : Regenerated.
  1198. * product_r4.c : Regenerated.
  1199. * product_r8.c : Regenerated.
  1200. 2006-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1201. PR libfortran/26509
  1202. * libgfortran.h: Add ERROR_DIRECT_EOR.
  1203. * runtime/error.c (translate_error): Add translation for new error.
  1204. * io/transfer.c (write_buf): Add check for EOR when mode is
  1205. direct access.
  1206. 2006-03-13 Paul Thomas <pault@gcc.gnu.org>
  1207. PR fortran/25378
  1208. * libgfortran/m4/minloc1.m4: Set the initial position to zero and
  1209. modify the condition for updating it, to implement the F2003
  1210. requirement for all(mask).eq.false.
  1211. * libgfortran/m4/maxloc1.m4: The same.
  1212. * libgfortran/m4/iforeach.m4: The same.
  1213. * libgfortran/m4/minloc0.m4: The same.
  1214. * libgfortran/m4/maxloc0.m4: The same.
  1215. * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together
  1216. with 41 others.
  1217. * libgfortran/generated/minloc0_16_i16.c: Regenerated, together
  1218. with 41 others.
  1219. 2006-03-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1220. PR libfortran/26499
  1221. * io/file_pos (st_rewind): Flush always.
  1222. * io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for
  1223. special files like /dev/null.
  1224. * io/transfer.c (st_write_done): Remove broken logic that
  1225. prevented calling fd_truncate.
  1226. 2006-03-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1227. PR libfortran/26554
  1228. * io/list_read.c (read_logical): Return the value if not in namelist
  1229. mode.
  1230. 2006-03-03 Thomas Koenig <Thomas.Koenig@online.de>
  1231. PR fortran/25031
  1232. * runtime/memory.c: Adjust copyright years.
  1233. (allocate_array): New function.
  1234. (allocate64_array): New function.
  1235. * libgfortran.h (error_codes): Add ERROR_ALLOCATION.
  1236. 2006-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1237. PR libfortran/26136
  1238. * io/io.h: Add flag for reading from line_buffer.
  1239. * io/list_read.c (l_push_char): New function to save namelist
  1240. input when reading logicals.
  1241. (free_line): New function to free line_buffer memory.
  1242. (next_char): Added feature to read from line_buffer.
  1243. (read_logical): Use new functions to test for '=' after reading a
  1244. logical value, checking for possible variable name.
  1245. (namelist_read): Use free_line when all done.
  1246. 2006-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1247. PR libfortran/26464
  1248. * io/file_pos.c (st_backspace): Flush and truncate file
  1249. when in AFTER_ENDFILE condition.
  1250. * io/transfer.c (st_read_done): Remove flush, no longer needed.
  1251. 2006-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1252. PR libfortran/26423
  1253. * io/unix.c (fd_seek): Revert change from 25949.
  1254. (fd_read): Same.
  1255. (fd_write): Same.
  1256. 2006-02-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  1257. * io/open.c (edit_modes): Correct abusive copy-pasting.
  1258. 2006-02-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  1259. PR libfortran/24903
  1260. * m4/dotprodc.m4: Use __builtin_conj instead of assigning real
  1261. and imaginary parts separately.
  1262. * generated/dotprod_c4.c: Regenerated.
  1263. * generated/dotprod_c8.c: Regenerated.
  1264. * generated/dotprod_c10.c: Regenerated.
  1265. * generated/dotprod_c16.c: Regenerated.
  1266. 2006-02-12 Janne Blomqvist <jb@gcc.gnu.org>
  1267. PR libfortran/25949
  1268. * io/io.h: Add set function pointer to struct stream.
  1269. * io/unix.c (fd_seek): Only update offset, don't seek.
  1270. (fd_sset): New function.
  1271. (fd_read): Call lseek directly if necessary.
  1272. (fd_write): Likewise.
  1273. (fd_open): Set pointer to fd_sset.
  1274. (mem_set): New function.
  1275. (open_internal): Set pointer to mem_set.
  1276. * io/transfer.c (write_block_direct): Rename to write_buf, add
  1277. error return, non-pointer length argument.
  1278. (unformatted_write): Update to use write_buf.
  1279. (us_write): Simplify by using swrite instead of salloc_w.
  1280. (write_us_marker): New function.
  1281. (new_record_w): Use sset instead of memset, use write_us_marker,
  1282. simplify by using swrite instead of salloc_w.
  1283. 2006-02-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  1284. PR libfortran/25425
  1285. * libgfortran.h: Add pedantic field to compile_options struct.
  1286. * io/write.c (calculate_G_format): Depending on the standard,
  1287. choose E or F format for list-directed output of 0.0.
  1288. * runtime/error.c (notify_std): Make warning and error dependent
  1289. on pedanticity.
  1290. * runtime/compile_options.c (set_std): Use new pedantic argument.
  1291. 2006-02-07 Dale Ranta <dir@lanl.gov>
  1292. PR fortran/25577
  1293. * intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.
  1294. 2006-02-07 Rainer Emrich <r.emrich@de.tecosim.com>
  1295. * intrinsics/c99_functions.c: Work around incompatible
  1296. declarations of cabs{,f,l} on pre-C99 IRIX systems.
  1297. 2005-02-06 Thomas Koenig <Thomas.Koenig@online.de>
  1298. PR libfortran/23815
  1299. * runtime/environ.c (init_unformatted): Add GFORTRAN_CONVERT_UNIT
  1300. environment variable.
  1301. (top level): Add defines, type and static variables for
  1302. GFORTRAN_CONVERT_UNIT handling.
  1303. (search_unit): New function.
  1304. (match_word): New function.
  1305. (match_integer): New function.
  1306. (next_token): New function.
  1307. (push_token): New function.
  1308. (mark_single): New function.
  1309. (mark_range): New funciton.
  1310. (do_parse): New function.
  1311. (init_unformatted): New function.
  1312. (get_unformatted_convert): New function.
  1313. * runtime/compile_options.c: Add set_convert().
  1314. * libgfortran.h: Add convert to compile_options_t.
  1315. * io/open.c (st_open): Call get_unformatted_convert to get
  1316. unit default; if CONVERT_NONE is returned, check for
  1317. the presence of a CONVERT specifier and use it.
  1318. As default, use compile_options.convert.
  1319. * io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal
  1320. "nothing has been set".
  1321. (top level): Add prototype for get_unformatted_convert.
  1322. 2006-02-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  1323. PR libfortran/24685
  1324. * io/write.c (write_real): Widen the default format for real(10)
  1325. variables output.
  1326. 2006-01-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1327. PR libfortran/25835
  1328. * io/transfer.c (st_read_done): Flush buffers when read is done.
  1329. 2006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1330. PR libfortran/25697
  1331. * io/transfer.c (us_read): Detect end of file condition from previous
  1332. operations and bail out (no need to pre-position).
  1333. 2006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1334. PR libfortran/25631
  1335. * io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
  1336. skips so that TL works correctly when no bytes_used yet.
  1337. 2006-01-16 Roger Sayle <roger@eyesopen.com>
  1338. * configure.ac (CFLAGS): Update to include -std=gnu99 so that
  1339. the configure tests will be run with the same environment as
  1340. used to compile the libgfortran source code.
  1341. * configure: Regenerate.
  1342. 2006-01-12 Roger Sayle <roger@eyesopen.com>
  1343. * intrinsics/c99_functions.c: Add function prototypes to avoid
  1344. warnings from -Wstrict-prototypes -Wmissing-prototypes. On Tru64
  1345. work around a brain-dead libm by redirecting calls to cabs{,f,l}
  1346. to a local __gfc_cabs{,f,l}.
  1347. 2006-01-07 Janne Blomqvist <jb@gcc.gnu.org>
  1348. * configure.ac: Remove check for sys/mman.h.
  1349. * configure: Regenerated.
  1350. * Makefile.in: Regenerated.
  1351. * config.h.in: Regenerated.
  1352. * aclocal.m4: Regenerated.
  1353. 2006-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1354. PR libfortran/25598
  1355. * io/file_pos.c (unformatted_backspace): Assure the new file position
  1356. to seek is not less than zero.
  1357. (st_backspace): Set unit bytes_left to zero.
  1358. * io/transfer.c (next_record_r): Fix line lengths, no functional change.
  1359. 2006-01-02 Paolo Bonzini <bonzini@gnu.org>
  1360. PR target/25259
  1361. * configure.ac: Use GCC_HEADER_STDINT.
  1362. * libgfortran.h: Include gstdint.h.
  1363. * aclocal.m4: Regenerate.
  1364. * configure: Regenerate.
  1365. 2006-01-01 Steven G. Kargl <kargls@comcast.net>
  1366. * ChangeLog: Split into years ...
  1367. * ChangeLog-2002: here.
  1368. * ChangeLog-2003: here.
  1369. * ChangeLog-2004: here.
  1370. * ChangeLog-2005: here.
  1371. Copyright (C) 2006 Free Software Foundation, Inc.
  1372. Copying and distribution of this file, with or without modification,
  1373. are permitted in any medium without royalty provided the copyright
  1374. notice and this notice are preserved.