ChangeLog-2014 95 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579
  1. 2014-12-31 Tobias Burnus <burnus@net-b.de>
  2. * match.c (gfc_match_stopcode): Permit error stop in pure
  3. procedures with F2015.
  4. 2014-12-31 Uros Bizjak <ubizjak@gmail.com>
  5. * trans-array.c (trans_array_bound_check): Use xasprintf instead
  6. of unchecked asprintf.
  7. (gfc_conv_array_ref): Ditto.
  8. (gfc_conv_ss_startstride): Ditto.
  9. (gfc_trans_dummy_array_bias): Ditto.
  10. (gfc_conv_array_parameter): Ditto.
  11. * trans-decl.c (gfc_generate_function_code): Ditto.
  12. * trans-expr.c (gfc_conv_substring): Ditto.
  13. (gfc_conv_procedure_call): Ditto.
  14. * trans-io.c (gfc_trans_io_runtime_check): Ditto.
  15. (set_string): Ditto.
  16. * trans.c (trans-runtime_error_vararg): Ditto.
  17. 2014-12-29 Janus Weil <janus@gcc.gnu.org>
  18. PR fortran/60357
  19. * array.c (check_constructor): Ignore empty expressions.
  20. * expr.c (check_alloc_comp_init): Check if constructor expression
  21. exists.
  22. * primary.c (build_actual_constructor): Warn for absent alloc-comp
  23. initializers in pre-2008 standards.
  24. 2014-12-28 Thomas Koenig <tkoenig@gcc.gnu.org>
  25. PR fortran/56867
  26. * trans-array.c (gfc_conv_resolve_dependencies): Also check
  27. dependencies when there may be substrings of character arrays.
  28. 2014-12-27 Janus Weil <janus@gcc.gnu.org>
  29. PR fortran/54756
  30. * resolve.c (resolve_formal_arglist): Reject polymorphic INTENT(OUT)
  31. arguments of pure procedures.
  32. 2014-12-22 Tobias Burnus <burnus@net-b.de>
  33. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, conv_caf_send):
  34. Fix vector handling.
  35. 2014-12-22 Janus Weil <janus@gcc.gnu.org>
  36. PR fortran/63363
  37. * check.c (gfc_check_kind): Reject polymorphic and non-data arguments.
  38. 2014-12-19 Janus Weil <janus@gcc.gnu.org>
  39. PR fortran/64209
  40. * trans-expr.c (gfc_trans_class_array_init_assign): Check if _def_init
  41. component is non-NULL.
  42. (gfc_trans_class_init_assign): Ditto.
  43. 2014-12-17 Janus Weil <janus@gcc.gnu.org>
  44. PR fortran/64173
  45. * trans-array.c (structure_alloc_comps): Do not nullify procedure
  46. pointer components.
  47. 2014-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
  48. * trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays
  49. with column major ordering.
  50. 2014-12-17 Tobias Burnus <burnus@net-b.de>
  51. PR fortran/54687
  52. * gfortran.h (gfc_option_t): Remove flags which now
  53. have a Var().
  54. (init_local_real, gfc_fcoarray): Moved to ../flag-types.h.
  55. * libgfortran.h (unit_convert): Add comment.
  56. * lang.opt (flag-convert, flag-init_real, flag-coarray):
  57. Add Var() and Enum().
  58. * options.c (gfc_handle_coarray_option): Remove.
  59. (gfc_init_options, gfc_post_options, gfc_handle_option):
  60. Update for *.opt changes.
  61. * array.c: Update for flag-variable name changes.
  62. * check.c: Ditto.
  63. * match.c: Ditto.
  64. * resolve.c: Ditto.
  65. * simplify.c: Ditto.
  66. * trans-array.c: Ditto.
  67. * trans-decl.c: Ditto.
  68. * trans-expr.c: Ditto.
  69. * trans-intrinsic.c: Ditto.
  70. * trans-stmt.c: Ditto.
  71. * trans-types.c: Ditto.
  72. * trans.c: Ditto.
  73. 2014-12-16 Tobias Burnus <burnus@net-b.de>
  74. PR fortran/54687
  75. * gfortran.h (gfc_option_t): Remove flags which now
  76. have a Var().
  77. * lang.opt (flag-aggressive_function_elimination,
  78. flag-align_commons, flag-all_intrinsics,
  79. flag-allow_leading_underscore, flag-automatic, flag-backslash,
  80. flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer,
  81. flag-dollar_ok, flag-dump_fortran_original,
  82. flag-dump_fortran_optimized, flag-external_blas, flag-f2c,
  83. flag-implicit_none, flag-max_array_constructor,
  84. flag-module_private, flag-pack_derived, flag-range_check,
  85. flag-recursive, flag-repack_arrays, flag-sign_zero,
  86. flag-underscoring): Add Var() and, where applicable, Enum().
  87. * options.c (gfc_init_options, gfc_post_options,
  88. gfc_handle_option): Update for *.opt changes.
  89. * arith.c: Update for flag-variable name changes.
  90. * array.c: Ditto.
  91. * cpp.c: Ditto.
  92. * decl.c: Ditto.
  93. * expr.c: Ditto.
  94. * f95-lang.c: Ditto.
  95. * frontend-passes.c: Ditto.
  96. * intrinsic.c: Ditto.
  97. * io.c: Ditto.
  98. * match.c: Ditto.
  99. * module.c: Ditto.
  100. * parse.c: Ditto.
  101. * primary.c: Ditto.
  102. * resolve.c: Ditto.
  103. * scanner.c: Ditto.
  104. * simplify.c: Ditto.
  105. * symbol.c: Ditto.
  106. * trans-array.c: Ditto.
  107. * trans-common.c: Ditto.
  108. * trans-decl.c: Ditto.
  109. * trans-expr.c: Ditto.
  110. * trans-intrinsic.c: Ditto.
  111. * trans-openmp.c: Ditto.
  112. * trans-types.c: Ditto.
  113. 2014-12-16 Tobias Burnus <burnus@net-b.de>
  114. PR fortran/54687
  115. * lang.opt (fsecond-underscore, frecord-marker=8, frecord-marker=4,
  116. frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4,
  117. freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens,
  118. fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=,
  119. ffrontend-optimize, ffree-line-length-, ffixed-line-length-,
  120. finteger-4-integer-8, fdefault-real-8, fdefault-integer-8,
  121. fdefault-double-8): Add Var() and Init().
  122. * gfortran.h (gfc_option_t): Remove moved flags.
  123. * options.c (gfc_init_options, gfc_handle_option): Ditto.
  124. (gfc_post_options): Update for name change.
  125. * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle
  126. flag-name change.
  127. * frontend-passes.c (gfc_run_passes): Ditto.
  128. * module.c (use_iso_fortran_env_module): Ditto.
  129. * primary.c (match_integer_constant, match_real_constant): Ditto.
  130. * resolve.c (resolve_ordinary_assign): Ditto.
  131. * scanner.c (gfc_next_char_literal, load_line): Ditto.
  132. * trans-array.c (gfc_trans_allocate_array_storage,
  133. gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation,
  134. gfc_conv_ss_startstride): Ditto.
  135. * trans-common.c (gfc_sym_mangled_common_id): Ditto.
  136. * trans-decl.c (gfc_sym_mangled_function_id,
  137. create_main_function): Ditto.
  138. * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call,
  139. arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign,
  140. gfc_trans_assignment_1): Ditto.
  141. * trans-stmt.c (gfc_trans_allocate): Ditto.
  142. * trans-types.c (gfc_init_kinds): Ditto.
  143. 2014-12-16 Janus Weil <janus@gcc.gnu.org>
  144. PR fortran/64244
  145. * resolve.c (resolve_typebound_call): New argument to pass out the
  146. non-overridable attribute of the specific procedure.
  147. (resolve_typebound_subroutine): Get overridable flag from
  148. resolve_typebound_call.
  149. 2014-12-15 Steven Bosscher <steven@gcc.gnu.org>
  150. PR fortran/61669
  151. * gfortran.h (struct gfc_namespace): Add OLD_DATA field.
  152. * decl.c (gfc_reject_data): New function.
  153. * parse.c *use_modules): Record roll-back point.
  154. (next_statement): Likewise.
  155. (reject_statement): Roll back to last accepted DATA.
  156. 2014-12-15 Janus Weil <janus@gcc.gnu.org>
  157. PR fortran/63727
  158. * resolve.c (resolve_actual_arglist): Check for elemental procedure
  159. pointer components.
  160. 2014-12-15 Janus Weil <janus@gcc.gnu.org>
  161. PR fortran/63674
  162. * resolve.c (check_pure_function): Rewording in error message.
  163. 2014-12-14 Janus Weil <janus@gcc.gnu.org>
  164. PR fortran/63674
  165. * resolve.c (pure_function): Treat procedure-pointer components.
  166. (check_pure_function): New function.
  167. (resolve_function): Use it.
  168. (pure_subroutine): Return a bool to indicate success and modify
  169. arguments.
  170. (resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return
  171. value of 'pure_subroutine'.
  172. (resolve_ppc_call): Call 'pure_subroutine'.
  173. (resolve_expr_ppc): Call 'check_pure_function'.
  174. 2014-12-13 Tobias Burnus <burnus@net-b.de>
  175. Manuel López-Ibáñez <manu@gcc.gnu.org>
  176. * error.c (gfc_error): Add variant which takes a va_list.
  177. (gfc_notify_std): Convert to common diagnostic.
  178. * array.c: Use %qs, %<...%> in more gfc_error calls and
  179. for gfc_notify_std.
  180. * check.c: Ditto.
  181. * data.c: Ditto.
  182. * decl.c: Ditto.
  183. * expr.c: Ditto.
  184. * interface.c: Ditto.
  185. * intrinsic.c: Ditto.
  186. * io.c: Ditto.
  187. * match.c: Ditto.
  188. * matchexp.c: Ditto.
  189. * module.c: Ditto.
  190. * openmp.c: Ditto.
  191. * parse.c: Ditto.
  192. * primary.c: Ditto.
  193. * resolve.c: Ditto.
  194. * simplify.c: Ditto.
  195. * symbol.c: Ditto.
  196. * trans-common.c: Ditto.
  197. * trans-intrinsic.c: Ditto.
  198. 2014-12-11 Richard Biener <rguenther@suse.de>
  199. PR tree-optimization/42108
  200. * trans-stmt.c (gfc_trans_do): Execute the division computing
  201. countm1 before the loop entry check.
  202. 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
  203. PR fortran/44054
  204. * error.c (pp_error_buffer): New static variable.
  205. (pp_warning_buffer): Make it a pointer.
  206. (gfc_output_buffer_empty_p): New.
  207. (gfc_error_init_1): Call gfc_buffer_error.
  208. (gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the
  209. buffered_p flag.
  210. (gfc_clear_warning): Likewise.
  211. (gfc_warning_check): Call gfc_clear_warning. Only check the new
  212. pp_warning_buffer if the old warning_buffer was empty. Call
  213. diagnostic_action_after_output.
  214. (gfc_error_1): Renamed from gfc_error.
  215. (gfc_error): New.
  216. (gfc_clear_error): Clear also pp_error_buffer.
  217. (gfc_error_flag_test): Check also pp_error_buffer.
  218. (gfc_error_check): Likewise. Only check the new pp_error_buffer
  219. if the old error_buffer was empty.
  220. (gfc_move_output_buffer_from_to): New.
  221. (gfc_push_error): Use it here. Take also an output_buffer as argument.
  222. (gfc_pop_error): Likewise.
  223. (gfc_free_error): Likewise.
  224. (gfc_diagnostics_init): Use XNEW and placement-new to init
  225. pp_error_buffer and pp_warning_buffer. Set flush_p to false for
  226. both pp_warning_buffer and pp_error_buffer.
  227. * Update gfc_push_error, gfc_pop_error and gfc_free_error calls
  228. according to the above changes.
  229. * Use gfc_error_1 for all gfc_error calls that use multiple
  230. locations.
  231. * Use %qs instead of '%s' for many gfc_error calls.
  232. 2014-12-11 Tobias Burnus <burnus@net-b.de>
  233. Manuel López-Ibáñez <manu@gcc.gnu.org>
  234. * diagnostic.c (get_terminal_width): Renamed from getenv_columns,
  235. removed static, and additionally use ioctl to get width.
  236. (diagnostic_set_caret_max_width): Update call.
  237. * diagnostic.h (get_terminal_width): Add prototype.
  238. * opts.c (print_specific_help): Use it for x_help_columns.
  239. * doc/invoke.texi (fdiagnostics-show-caret): Document how the
  240. width is set.
  241. 2014-12-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
  242. PR fortran/60718
  243. * trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing
  244. violation when passing a class object to a formal parameter which has
  245. different pointer or allocatable attributes.
  246. 2014-12-06 Tobias Burnus <burnus@net-b.de>
  247. * error.c (gfc_error_check): Use bool not int.
  248. * gfortran.h (gfc_error_check): Update prototype.
  249. * match.c (gfc_match_if): Update call.
  250. * parse.c (decode_statement, decode_omp_directive,
  251. decode_gcc_attribute): Ditto.
  252. 2014-12-06 Tobias Burnus <burnus@net-b.de>
  253. Manuel López-Ibáñez <manu@gcc.gnu.org>
  254. * error.c (gfc_buffer_error, gfc_error_flag_test): Use bool not int.
  255. (buffer_flag): Remove static variable.
  256. (buffered_p): Add static variable.
  257. (gfc_error_init_1): Call gfc_buffer_error.
  258. (gfc_warning_1, gfc_warning, gfc_warning_now_1, gfc_error,
  259. gfc_error_now_1): Update for static variable change.
  260. * gfortran.h (gfc_buffer_error, gfc_error_flag_test): Update
  261. prototype.
  262. * parse.c (use_modules, decode_specification_statement,
  263. next_fixed, next_statement, match_deferred_characteristics):
  264. Update calls.
  265. * decl.c (gfc_match_data_decl): Ditto.
  266. * match.c (gfc_match_name): Ditto.
  267. 2014-12-05 Andre Vehreschild <vehre@gmx.de>
  268. PR fortran/60414
  269. * interface.c (compare_parameter): Remove class argument rank
  270. check short circuit.
  271. 2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
  272. * error.c (gfc_diagnostic_build_locus_prefix): Use
  273. diagnostic_expand_location.
  274. 2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
  275. * scanner.c (gfc_next_char_literal): Use gfc_warning_now.
  276. (load_file): Use the line length as the column hint for
  277. linemap_line_start. Reserve a location for the highest column of
  278. the line.
  279. 2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
  280. PR fortran/44054
  281. * gfortran.h (gfc_warning): Now returns bool. Add overload that
  282. accepts opt.
  283. (gfc_warning_1): Declare.
  284. * error.c
  285. (pp_warning_buffer,warningcount_buffered,werrorcount_buffered): New.
  286. (gfc_buffer_error): Set pp_warning_buffer.flush_p.
  287. (gfc_clear_pp_buffer): New.
  288. (gfc_warning_1): Renamed from gfc_warning.
  289. (gfc_warning): Add three new overloads. One that takes just a
  290. format string and ellipsis, another that takes also a warning
  291. option, and another that takes also va_list instead of ellipsis.
  292. (gfc_clear_warning): Clear pp_warning_buffer.
  293. (gfc_warning_check): Flush pp_warning_buffer and update warning
  294. and werror counters.
  295. (gfc_diagnostics_init): Init pp_warning_buffer.
  296. * Update all gfc_warning calls that do not use multiple
  297. locations to use %qs and OPT_W*, otherwise use gfc_warning_1.
  298. 2014-12-02 Tobias Burnus <burnus@net-b.de>
  299. Manuel López-Ibáñez <manu@gcc.gnu.org>
  300. * error.c (warnings_not_errors): Use bool.
  301. (gfc_clear_error): Update.
  302. (gfc_get_errors): Ditto. Use bool argument.
  303. * gfortran.h (gfc_get_errors): Update prototype.
  304. * resolve.c (resolve_global_procedure): Update call.
  305. 2014-12-02 Richard Biener <rguenther@suse.de>
  306. PR fortran/64137
  307. * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Check
  308. proper expressions type, use proper type for computing
  309. -Huge - 1.
  310. 2014-11-29 Jakub Jelinek <jakub@redhat.com>
  311. * trans-openmp.c (gfc_omp_finish_clause,
  312. gfc_trans_omp_array_reduction_or_udr, gfc_trans_omp_atomic): Remove
  313. NULL last argument from create_tmp_var_raw and create_tmp_var calls.
  314. 2014-11-29 Tobias Burnus <burnus@net-b.de>
  315. * scanner.c (skip_free_comments, gfc_gobble_whitespace): Use
  316. gfc_warning_now instead of ..._now_1.
  317. 2014-11-29 Tobias Burnus <burnus@net-b.de>
  318. Manuel López-Ibáñez <manu@gcc.gnu.org>
  319. * lang.opt (Wtabs): Combine duplicated item into a single
  320. one using || for LangEnabledBy.
  321. 2014-11-25 Tobias Burnus <burnus@net-b.de>
  322. * error.c (gfc_internal_error): Convert to common diagnostics.
  323. * interface.c (gfc_find_sym_in_symtree): Use %qs.
  324. * intrinsic.c (make_generic, gfc_check_intrinsic_standard,
  325. gfc_convert_type_warn): Ditto.
  326. * module.c (write_symbol): Ditto.
  327. * symbol.c (gfc_get_default_type): Ditto; use fatal instead
  328. of internal error.
  329. * trans-array.c (gfc_walk_subexpr): Replace internal_error by
  330. gfc_internal_error.
  331. * trans-decl.c (gfc_get_symbol_decl,
  332. (gfc_create_module_variable): Ditto. Use %qs.
  333. * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto.
  334. * trans-io.c (transfer_expr): Ditto.
  335. * trans-openmp.c (gfc_trans_omp_workshare): Ditto.
  336. * trans.c (trans_code): Ditto.
  337. 2014-11-25 Tobias Burnus <burnus@net-b.de>
  338. * gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
  339. (gfc_error_now_1): Renamed from gfc_error_now.
  340. (gfc_error_now): Renamed from gfc_error_now_2.
  341. (gfc_warning_now_1): Renamed from gfc_warning_now.
  342. (gfc_warning_now): Renamed from gfc_warning_now_2.
  343. * error.c (gfc_error_now_1): Renamed from gfc_error_now.
  344. (gfc_error_now): Renamed from gfc_error_now_2.
  345. (gfc_warning_now_1): Renamed from gfc_warning_now.
  346. (gfc_warning_now): Renamed from gfc_warning_now_2.
  347. (gfc_get_errors): Include common diagnostic in count.
  348. * lang.opt (Wc-binding-type, Wconversion, Wconversion-extra,
  349. Wintrinsics-std): Create a Var for those warnings.
  350. * check.c (gfc_check_cmplx): Pass warning flag to
  351. diagnostic function.
  352. * decl.c (get_proc_name, gfc_verify_c_interop_param, build_sym
  353. gfc_set_constant_character_len, verify_bind_c_sym): Ditto; use
  354. _1 for old diagnostic, remove _2 for new diagnostic.
  355. * expr.c (gfc_check_assign, gfc_check_vardef_context): Ditto.
  356. * frontend-passes.c (doloop_code, do_function): Ditto.
  357. * intrinsic.c (gfc_is_intrinsic, gfc_convert_type_warn): Ditto.
  358. * match.c (gfc_match_common): Ditto.
  359. * module.c (use_iso_fortran_env_module, gfc_use_module): Ditto.
  360. * parse.c (decode_statement, decode_gcc_attribute, next_free,
  361. next_fixed, gfc_check_do_variable): Ditto.
  362. * resolve.c (resolve_common_vars, resolve_ordinary_assign):
  363. Ditto.
  364. * scanner.c (add_path_to_list, skip_free_comments,
  365. gfc_next_char_literal, gfc_gobble_whitespace, load_line,
  366. preprocessor_line, load_file): Ditto.
  367. * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
  368. Ditto.
  369. * options.c (gfc_post_options): Ditto.
  370. (gfc_init_options, set_Wall, gfc_handle_option): Ditto; remove
  371. flags which now have a Var.
  372. * invoke.texi (Wconversion-extra): Make clear that the flag
  373. does not imply -Wconversion.
  374. 2014-11-24 Jakub Jelinek <jakub@redhat.com>
  375. PR fortran/63938
  376. * trans-openmp.c (gfc_trans_omp_atomic): Make sure lhsaddr is
  377. simple enough for goa_lhs_expr_p.
  378. 2014-11-24 Tobias Burnus <burnus@net-b.de>
  379. * error.c (gfc_fatal_error_1): Remove.
  380. * gfortran.h (gfc_fatal_error_1): Remove.
  381. * check.c (check_co_collective): Change gfc_fatal_error_1 to
  382. gfc_fatal_error.
  383. * match.c (gfc_match_name): Ditto.
  384. * trans-array.c (gfc_conv_array_initializer): Ditto.
  385. * trans-stmt.c (gfc_trans_sync): Ditto.
  386. 2014-11-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
  387. PR fortran/44054
  388. * decl.c (gfc_verify_c_interop_param): Use gfc_error_now_2.
  389. (gfc_set_constant_character_len): Use gfc_warning_now_2.
  390. * resolve.c (resolve_ordinary_assign): Likewise.
  391. * gfortran.h (warn_character_truncation): Do not declare here.
  392. * error.c (gfc_format_decoder): Handle %L.
  393. * lang.opt (Wcharacter-truncation): Add Var and LangEnabledBy.
  394. * options.c (gfc_init_options): Do not handle
  395. warn_character_truncation explicitly.
  396. (set_Wall): Likewise.
  397. (gfc_handle_option): Likewise.
  398. 2014-11-23 Tobias Burnus <burnus@net-b.de>
  399. * invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that
  400. -Wtabs enables the warning.
  401. 2014-11-23 Tobias Burnus <burnus@net-b.de>
  402. * error.c (gfc_diagnostic_build_prefix): Correct coloring
  403. of the colon of the prefix.
  404. 2014-11-23 Tobias Burnus <burnus@net-b.de>
  405. Manuel López-Ibáñez <manu@gcc.gnu.org>
  406. * gfortran.h (gfc_option_t): Remove warn_tabs.
  407. * lang.opt (Wpedantic): Add.
  408. (Wtabs): Use Var and LangEnabledBy.
  409. * options.c (gfc_init_options, gfc_post_options,
  410. set_Wall): Remove -Wtabs handling.
  411. (gfc_handle_option): Update -std=, remove OPT_Wtabs.
  412. * scanner.c (gfc_gobble_whitespace): Update for
  413. flag-variable renaming.
  414. (load_line): Ditto. Pass warn flag to diagnostic.
  415. 2014-11-22 Tobias Burnus <burnus@net-b.de>
  416. * trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
  417. 2014-11-15 Tobias Burnus <burnus@net-b.de>
  418. * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
  419. (gfc_fatal_error): Add; uses common diagnostics.
  420. * array.c (gfc_match_array_ref, gfc_match_array_spec): Use
  421. %< %>.
  422. * check.c (check_co_collective, gfc_check_lcobound,
  423. gfc_check_image_index, gfc_check_num_images,
  424. gfc_check_this_image, gfc_check_ucobound): Ditto.
  425. * cpp.c (gfc_cpp_post_options): Ditto.
  426. (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
  427. * gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
  428. * gfortran.h (gfc_fatal_error_1): Add.
  429. * match.c (gfc_match_name, gfc_match_critical,
  430. lock_unlock_statement, sync_statement): Add %< %>.
  431. * module.c (bad_module, gfc_dump_module, gfc_use_module): Change
  432. %s to %qs.
  433. * options.c (gfc_handle_module_path_options, gfc_handle_fpe_option,
  434. gfc_handle_coarray_option, gfc_handle_runtime_check_option,
  435. gfc_handle_option): Add %< %>.
  436. * simplify.c (gfc_simplify_num_images): Ditto.
  437. * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
  438. * trans-array.c (gfc_conv_array_initializer): Ditto.
  439. * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
  440. of fatal_error; add %< %> quotations.
  441. 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
  442. Thomas Schwinge <thomas@codesourcery.com>
  443. Ilya Verbin <ilya.verbin@intel.com>
  444. Andrey Turetskiy <andrey.turetskiy@intel.com>
  445. * Make-lang.in (fortran.install-common): Do not install for the offload
  446. compiler.
  447. 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
  448. PR fortran/44054
  449. * gfortran.h (warn_use_without_only): Remove.
  450. (gfc_diagnostics_finish): Declare.
  451. * error.c: Include tree-diagnostics.h
  452. (gfc_format_decoder): New.
  453. (gfc_diagnostics_init): Use gfc_format_decoder. Set default caret
  454. char.
  455. (gfc_diagnostics_finish): Restore tree diagnostics defaults, but
  456. keep gfc_diagnostics_starter and finalizer. Restore default caret.
  457. * options.c: Remove all uses of warn_use_without_only.
  458. * lang.opt (Wuse-without-only): Add Var.
  459. * f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish.
  460. * module.c (gfc_use_module): Use gfc_warning_now_2.
  461. * parse.c (decode_statement): Likewise.
  462. (decode_gcc_attribute): Likewise.
  463. (next_free): Likewise.
  464. (next_fixed): Likewise.
  465. 2014-11-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  466. PR fortran/63701
  467. * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.
  468. 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
  469. PR libfortran/47007
  470. PR libfortran/61847
  471. * gfortran.texi: Add note about locale issues to thread-safety
  472. section.
  473. 2014-11-04 Bernd Schmidt <bernds@codesourcery.com>
  474. * f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
  475. scalbn, scalbnl and scalbnf.
  476. * mathbuiltins.def (JN, YN): Use type index 5.
  477. 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
  478. * trans-types.c, trans-types.h: Remove redundant enum from
  479. machine_mode.
  480. 2014-10-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
  481. PR fortran/44054
  482. * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2.
  483. (gfc_error_cmdline): Rename as gfc_error_now_2.
  484. * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space.
  485. (gfc_diagnostic_starter): Add space between locus and prefix.
  486. (gfc_warning_now_2): Renamed from gfc_warning_cmdline.
  487. (gfc_error_now_2): Renamed from gfc_error_cmdline.
  488. * scanner.c (add_path_to_list): Use gfc_warning_now_2.
  489. (load_line): Likewise.
  490. (load_file): Likewise.
  491. * options.c (gfc_post_options): Update all renamed functions.
  492. 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
  493. * f95-lang.c: Adjust include files.
  494. * trans-decl.c: Ditto.
  495. 2014-10-24 Tobias Burnus <burnus@net-b.de>
  496. * check.c (check_co_collective): Reject coindexed A args.
  497. (gfc_check_co_reduce): Add OPERATOR checks.
  498. * gfortran.texi (_gfortran_caf_co_broadcast, _gfortran_caf_co_max,
  499. _gfortran_caf_co_min, _gfortran_caf_co_sum,
  500. _gfortran_caf_co_reduce): Add ABI documentation.
  501. * intrinsic.texi (CO_REDUCE): Document intrinsic.
  502. (DPROD): Returns double not single precision.
  503. * trans-decl.c (gfor_fndecl_co_reduce): New global var.
  504. (gfc_build_builtin_function_decls): Init it.
  505. * trans.h (gfor_fndecl_co_reduce): Declare it.
  506. * trans-intrinsic.c (conv_co_collective,
  507. gfc_conv_intrinsic_subroutine): Handle CO_REDUCE.
  508. 2014-10-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  509. PR fortran/48979
  510. * trans-const.c (gfc_build_nan): New function.
  511. * trans-const.h (gfc_build_nan): New prototype.
  512. * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special
  513. values.
  514. (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan.
  515. (gfc_conv_intrinsic_fraction): Handle special values.
  516. (gfc_conv_intrinsic_spacing): Likewise.
  517. (gfc_conv_intrinsic_rrspacing): Likewise.
  518. (gfc_conv_intrinsic_set_exponent): Likewise.
  519. 2014-10-18 Paul Thomas <pault@gcc.gnu.org>
  520. PR fortran/63553
  521. * resolve.c (resolve_ordinary_assign): Add data component to
  522. rvalue expression for class to type assignment.
  523. 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
  524. * f95-lang.c: Adjust include files.
  525. * trans-decl.c: Likewise.
  526. 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
  527. * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
  528. 2014-10-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  529. PR fortran/48979
  530. * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
  531. (gfc_simplify_log): Likewise.
  532. (gfc_simplify_scale): Likewise.
  533. (gfc_simplify_exponent): Handle infinities and NaNs.
  534. (gfc_simplify_fraction): Handle infinities.
  535. (gfc_simplify_rrspacing): Handle signed zeros and NaNs.
  536. (gfc_simplify_set_exponent): Handle infinities and NaNs.
  537. (gfc_simplify_spacing): Handle zeros, infinities and NaNs.
  538. 2014-10-10 Jakub Jelinek <jakub@redhat.com>
  539. PR fortran/59488
  540. * trans-openmp.c (gfc_omp_predetermined_sharing): Return
  541. OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
  542. 2014-10-10 Tobias Burnus <burnus@net-b.de>
  543. * gfortran.h (gfc_set_implicit_none): Update prototype.
  544. * symbol.c (gfc_set_implicit_none): Take and
  545. use error location. Move diagnostic from here to ...
  546. * decl.c (gfc_match_implicit_none): ... here. And
  547. update call. Handle empty implicit-none-spec.
  548. (gfc_match_implicit): Handle statement-separator ";".
  549. 2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  550. * f95-lang.c (gfc_init_builtin_functions): Add more floating-point
  551. built-ins.
  552. * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
  553. remainder, rint and signbit.
  554. * trans-decl.c (save_fp_state, restore_fp_state): Move to
  555. trans-intrinsic.c
  556. (gfc_generate_function_code): Use new names for these two functions.
  557. * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
  558. emit code from the front-end.
  559. * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
  560. conv_ieee_function_args, conv_intrinsic_ieee_builtin,
  561. conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
  562. conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
  563. conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
  564. conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
  565. New functions.
  566. * trans.h (gfc_conv_ieee_arithmetic_function,
  567. gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
  568. 2014-10-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
  569. PR fortran/44054
  570. PR fortran/54687
  571. * gfortran.h (gfc_warning_cmdline): Add overload that takes an
  572. option.
  573. (gfc_error_cmdline): Declare.
  574. * error.c (gfc_warning_cmdline): New overload that takes an option.
  575. (gfc_error_cmdline): New.
  576. * lang.opt (Wmissing-include-dirs): New.
  577. * scanner.c (add_path_to_list): Use the new functions.
  578. (load_file): Likewise.
  579. * options.c (gfc_init_options): Wmissing-include-dirs is enabled
  580. by default in Fortran.
  581. (gfc_handle_option): Accept automatically handled options.
  582. 2014-10-06 Tobias Burnus <burnus@net-b.de>
  583. * libgfortran.h (GFC_STD_F2015): Add.
  584. * decl.c (gfc_match_implicit_none): Handle spec list.
  585. (gfc_match_implicit): Move double intrinsic warning here.
  586. * gfortran.h (gfc_namespace): Add has_implicit_none_export:1.
  587. (gfc_set_implicit_none): Update interface.
  588. * interface.c (gfc_procedure_use): Add implicit-none external
  589. error check.
  590. * parse.c (accept_statement): Remove call.
  591. (verify_st_order): Permit that external-implict-none follows
  592. implicit statement.
  593. * symbol.c (gfc_set_implicit_none): Handle external/type
  594. implicit none.
  595. 2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  596. PR fortran/36534
  597. * resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
  598. 2014-09-25 Tobias Burnus <burnus@net-b.de>
  599. * check.c (check_co_collective): Renamed from check_co_minmaxsum,
  600. handle co_reduce.
  601. (gfc_check_co_minmax, gfc_check_co_sum): Update call.
  602. (gfc_check_co_broadcast, gfc_check_co_reduce): New.
  603. * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
  604. GFC_ISYM_CO_REDUCE.
  605. * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
  606. * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
  607. proto types.
  608. * intrinsic.texi (CO_BROADCAST): Add.
  609. * trans.h (gfor_fndecl_co_broadcast): New.
  610. * trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
  611. (gfc_build_builtin_function_decls): Add decl for it,
  612. * trans-intrinsic.c (conv_co_collective): Renamed from
  613. conv_co_minmaxsum. Handle co_reduce.
  614. (gfc_conv_intrinsic_subroutine): Handle co_reduce.
  615. 2014-09-23 Jakub Jelinek <jakub@redhat.com>
  616. PR fortran/63331
  617. * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
  618. instead of VAR_DECL for base_decl.
  619. 2014-09-21 Jan Hubicka <hubicka@ucw.cz>
  620. * openmp.c (omp_context): Rename to ...
  621. (fortran_omp_context): ... this one.
  622. 2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
  623. * resolve.c (resolve_fl_procedure): Remove duplicated lines.
  624. 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
  625. Tobias Burnus <burnus@net-b.de>
  626. * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
  627. generating temporary for value argument.
  628. 2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
  629. * trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
  630. (gfc_conv_class_to_class): Likewise.
  631. (gfc_conv_procedure_call): Likewise.
  632. (arrayfunc_assign_needs_temporary): Likewise.
  633. (realloc_lhs_loop_for_fcn_call): Likewise.
  634. (gfc_trans_assignment_1): Likewise.
  635. * trans-array.c (gfc_conv_array_ref): Likewise.
  636. (gfc_array_allocate): Likewise.
  637. (gfc_alloc_allocatable_for_assignment): Likewise.
  638. * symbol.c (generate_isocbinding_symbol): Likewise.
  639. * class.c (finalization_scalarizer): Likewise.
  640. (finalizer_insert_packed_call): Likewise.
  641. (generate_finalization_wrapper): Likewise.
  642. (find_intrinsic_vtab): Likewise.
  643. * decl.c (gfc_match_import): Likewise.
  644. (match_procedure_decl): Likewise.
  645. (gfc_match_subroutine): Likewise.
  646. (gfc_match_bind_c): Likewise.
  647. (gfc_match_volatile): Likewise.
  648. * trans-common.c (create_common): Likewise.
  649. * error.c (gfc_diagnostic_starter): Likewise.
  650. * trans-stmt.c (gfc_trans_sync): Likewise.
  651. (gfc_trans_critical): Likewise.
  652. (gfc_trans_simple_do): Likewise.
  653. (gfc_trans_do): Likewise.
  654. (gfc_trans_where_assign): Likewise.
  655. * expr.c (gfc_is_simply_contiguous): Likewise.
  656. * module.c (unquote_string): Likewise.
  657. * trans.c (gfc_add_finalizer_call): Likewise.
  658. * trans-types.c (gfc_init_kinds): Likewise.
  659. * scanner.c (preprocessor_line): Likewise.
  660. * gfortranspec.c (lang_specific_driver): Likewise.
  661. * frontend-passes.c (create_var): Likewise.
  662. (cfe_expr_0): Likewise.
  663. * resolve.c (check_host_association): Likewise.
  664. (gfc_resolve_code): Likewise.
  665. (resolve_fl_derived0): Likewise.
  666. (resolve_symbol): Likewise.
  667. * f95-lang.c (poplevel): Likewise.
  668. * trans-decl.c (create_main_function): Likewise.
  669. * trans-io.c (transfer_expr): Likewise.
  670. * arith.c (gfc_arith_divide): Likewise.
  671. * parse.c (resolve_all_program_units): Likewise.
  672. * check.c (gfc_check_rank): Likewise.
  673. (gfc_check_sizeof): Likewise.
  674. (is_c_interoperable): Likewise.
  675. * dependency.c (gfc_dep_difference): Likewise.
  676. * primary.c (gfc_match_rvalue): Likewise.
  677. * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
  678. (conv_isocbinding_subroutine): Likewise.
  679. * options.c (gfc_post_options): Likewise.
  680. (gfc_handle_fpe_option): Likewise.
  681. (gfc_get_option_string): Likewise.
  682. * simplify.c (simplify_transformation_to_scalar): Likewise.
  683. (gfc_simplify_spread): Likewise.
  684. 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org>
  685. PR fortran/63152
  686. * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.
  687. 2014-09-15 Jakub Jelinek <jakub@redhat.com>
  688. * Make-lang.in (check_gfortran_parallelize): Change to just an upper
  689. bound number.
  690. 2014-09-13 Tobias Burnus <burnus@net-b.de>
  691. PR fortran/63252
  692. * trans-decl.c (gfc_build_builtin_function_decls): Fix
  693. caf_unlock declaration.
  694. 2014-09-12 Joseph Myers <joseph@codesourcery.com>
  695. * trans-types.c (gfc_init_kinds): Check
  696. targetm.libgcc_floating_mode_supported_p for floating-point
  697. modes. Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE.
  698. 2014-09-05 Joost VandeVondele <vondele@gcc.gnu.org>
  699. PR fortran/62245
  700. * intrinsic.texi (INT): clarify result.
  701. 2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
  702. PR fortran/62174
  703. * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees
  704. when matching a component declaration.
  705. 2014-09-02 Marek Polacek <polacek@redhat.com>
  706. PR fortran/62270
  707. * interface.c (compare_parameter): Fix condition.
  708. * trans-expr.c (gfc_conv_procedure_call): Likewise.
  709. 2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
  710. PR fortran/62309
  711. * resolve.c (apply_default_init_local): Don't treat variables
  712. in RECURSIVE procedures as saved.
  713. 2014-08-31 Tobias Burnus <burnus@net-b.de>
  714. * trans-decl.c (gfc_build_builtin_function_decls): Add
  715. may_require_tmp dummy argument.
  716. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
  717. conv_caf_send): Handle may_require_tmp argument.
  718. (gfc_conv_intrinsic_function): Update call.
  719. * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
  720. _gfortran_caf_sendget): Update interface description.
  721. 2014-08-30 Tobias Burnus <burnus@net-b.de>
  722. * trans.h (gfc_caf_get_image_index,
  723. gfc_get_caf_token_offset): New prototypes.
  724. * trans-expr.c (gfc_caf_get_image_index): Moved from
  725. trans-intrinsic.c and renamed.
  726. (gfc_get_caf_token_offset) Ditto; support offset = NULL
  727. with early return.
  728. * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
  729. Moved to trans-expr.
  730. (gfc_conv_intrinsic_caf_get, conv_caf_send,
  731. conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
  732. conv_intrinsic_atomic_cas): Update callers.
  733. 2014-08-30 Tobias Burnus <burnus@net-b.de>
  734. PR fortran/62278
  735. PR fortran/44735
  736. PR fortran/60593
  737. * dependency.c (gfc_check_dependency): Allow for optimizations
  738. in the pointer-alias check.
  739. 2014-08-30 Janne Blomqvist <jb@gcc.gnu.org>
  740. * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
  741. unlink().
  742. 2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com>
  743. PR fortran/62215
  744. * module.c (gfc_dump_module): Unlink old module file before
  745. renaming new one.
  746. 2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
  747. * frontend_passes (expr_array): Replace by vec template.
  748. (expr_size): Remove.
  749. (expr_count): Remove.
  750. (doloop_list): Replace by vec template.
  751. (doloop_size): Remove.
  752. (gfc_run_passes): Adjust to use of vec template.
  753. (cfe_register_funcs): Likewise.
  754. (cfe_expr_0): Likewise.
  755. (doloop_code): Likewise.
  756. 2014-08-22 Steven Bosscher <steven@gcc.gnu.org>
  757. PR fortran/62135
  758. * resolve.c (resolve_select): Fix list traversal in case the
  759. last element of the CASE list was dropped as unreachable code.
  760. 2014-08-22 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
  761. PR fortran/61234
  762. * lang.opt (Wuse-without-only): New flag.
  763. * gfortran.h (gfc_option_t): Add it.
  764. * invoke.texi: Document it.
  765. * module.c (gfc_use_module): Warn if needed.
  766. * options.c (gfc_init_options,gfc_handle_option): Init accordingly.
  767. 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
  768. PR fortran/62214
  769. * frontend-passes.c (optimize_binop_array_assignment):
  770. Do not try to optimize the array assignment for string
  771. concatenation.
  772. 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
  773. PR fortran/44054
  774. * error.c (gfc_diagnostic_build_locus_prefix): New function.
  775. (gfc_diagnostic_starter): Follow Fortran FE diagnostics.
  776. (gfc_diagnostic_finalizer): Do not call default finalizer.
  777. 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
  778. PR fortran/44054
  779. * error.c (gfc_diagnostic_finalizer): Call default finalizer.
  780. 2014-08-20 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
  781. * options.c (gfc_init_options_struct): assert that the frontend sets
  782. flag_errno_math and flag_associative_math.
  783. 2014-08-17 Tobias Burnus <burnus@net-b.de>
  784. * resolve.c (gfc_resolve_finalizers): Ensure that parents are
  785. resolved first.
  786. 2014-08-17 Tobias Burnus <burnus@net-b.de>
  787. * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
  788. IOCALL_SET_NML_VAL.
  789. (transfer_namelist_element): Use proper int type as argument.
  790. 2014-08-15 Thomas Koenig <tkoenig@gcc.gnu.org>
  791. PR fortran/62142
  792. * trans-expr.c (is_runtime_conformable): Add NULL pointer checks.
  793. 2014-08-15 Tobias Burnus <burnus@net-b.de>
  794. * resolve.c (resolve_critical): Fix name mangling.
  795. * trans-stmt.c (gfc_trans_critical): Fix lock call.
  796. 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
  797. PR fortran/44054
  798. * gfortran.h: Define GCC_DIAG_STYLE.
  799. (gfc_diagnostics_init,gfc_warning_cmdline): Declare.
  800. * trans-array.c: Include gfortran.h before diagnostic-core.h.
  801. * trans-expr.c: Likewise.
  802. * trans-openmp.c: Likewise.
  803. * trans-const.c: Likewise.
  804. * trans.c: Likewise.
  805. * trans-types.c: Likewise.
  806. * f95-lang.c: Likewise.
  807. * trans-decl.c: Likewise.
  808. * trans-io.c: Likewise.
  809. * trans-intrinsic.c: Likewise.
  810. * error.c: Include diagnostic.h and diagnostic-color.h.
  811. (gfc_diagnostic_build_prefix): New.
  812. (gfc_diagnostic_starter): New.
  813. (gfc_diagnostic_finalizer): New.
  814. (gfc_warning_cmdline): New.
  815. (gfc_diagnostics_init): New.
  816. * gfc-diagnostic.def: New.
  817. * options.c (gfc_init_options): Call gfc_diagnostics_init.
  818. (gfc_post_options): Use gfc_warning_cmdline.
  819. 2014-08-15 Jakub Jelinek <jakub@redhat.com>
  820. Tobias Burnus <burnus@net-b.de>
  821. PR fortran/62131
  822. * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
  823. is allocatable, rather than whenever var->attr.allocatable.
  824. 2014-08-15 Jakub Jelinek <jakub@redhat.com>
  825. PR fortran/62107
  826. * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
  827. or allocatable passed by reference.
  828. (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.
  829. 2014-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
  830. PR fortran/62106
  831. * gfortran.h (symbol_attribute): Add fe_temp flag.
  832. * frontend-passes.c (is_fe_temp): New function.
  833. (create_var): Don't add a temporary for an already
  834. created variable or for a constant.
  835. (combine_ARRAY_constructor): Remove special handling
  836. for constants.
  837. 2014-08-14 Tobias Burnus <burnus@net-b.de>
  838. * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
  839. (_gfortran_caf_register): Update for locking/critical.
  840. (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
  841. * resolve.c (resolve_critical): New.
  842. (gfc_resolve_code): Call it.
  843. * trans-decl.c (gfor_fndecl_caf_critical,
  844. gfor_fndecl_caf_end_critical): Remove.
  845. (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
  846. (gfc_build_builtin_function_decls): Remove critical,
  847. assign locking declarations.
  848. (generate_coarray_sym_init): Handle locking and
  849. critical variables.
  850. * trans-stmt.c (gfc_trans_critical): Add calls to
  851. lock/unlock libcaf functions.
  852. * trans.h (gfc_coarray_type): Update locking, add
  853. critical enum values.
  854. (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
  855. (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
  856. 2014-08-14 Tobias Burnus <burnus@net-b.de>
  857. * gfortran.texi (Coarray Programming): Add first ABI
  858. documentation.
  859. 2014-08-14 Jakub Jelinek <jakub@redhat.com>
  860. PR fortran/62076
  861. * openmp.c (gfc_match_omp_clauses): When failed to match
  862. operator name, defined op name or name, set buffer to
  863. empty string. Don't call gfc_find_omp_udr if buffer is empty
  864. string.
  865. (gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
  866. before calling gfc_free_omp_udr.
  867. 2014-08-11 Richard Biener <rguenther@suse.de>
  868. PR fortran/61950
  869. * trans-expr.c (gfc_conv_structure): Initialize _size with
  870. a value of proper type.
  871. 2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
  872. PR fortran/61999
  873. * simplify.c (gfc_simplify_dot_product): Convert types of
  874. vectors before calculating the result.
  875. 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
  876. * openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
  877. 2014-07-26 Tobias Burnus <burnus@net-b.de>
  878. PR fortran/61881
  879. PR fortran/61888
  880. PR fortran/57305
  881. * intrinsic.texi (SIZEOF): Document changed behavior
  882. for polymorphic arrays.
  883. 2014-07-26 Tobias Burnus <burnus@net-b.de>
  884. PR fortran/61881
  885. PR fortran/61888
  886. PR fortran/57305
  887. * check.c (gfc_check_sizeof): Permit for assumed type if and
  888. only if it has an array descriptor.
  889. * intrinsic.c (do_ts29113_check): Permit SIZEOF.
  890. (add_functions): SIZEOF is an Inquiry function.
  891. * intrinsic.texi (SIZEOF): Add note that only contiguous
  892. arrays are permitted.
  893. * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
  894. rank.
  895. * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
  896. assumed type + array descriptor, CLASS and assumed rank.
  897. (gfc_conv_intrinsic_storage_size): Handle class arrays.
  898. 2014-07-25 Tobias Burnus <burnus@net-b.de>
  899. * simplify.c (gfc_simplify_storage_size): Use proper
  900. integer kind for the returned value.
  901. 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
  902. * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
  903. correct menu position to match sectioning.
  904. 2014-06-15 Tobias Burnus <burnus@net-b.de>
  905. * symbol.c (check_conflict): Add codimension conflict with
  906. pointer; fix cray-pointee check.
  907. 2014-06-14 Tobias Burnus <burnus@net-b.de>
  908. * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
  909. for kind mismatch with -fcoarray=lib.
  910. 2014-07-12 Paul Thomas <pault@gcc.gnu.org>
  911. PR fortran/61780
  912. * dependency.c (gfc_dep_resolver): Index the 'reverse' array so
  913. that elements are skipped. This then correctly aligns 'reverse'
  914. with the scalarizer loops.
  915. 2014-07-12 Tobias Burnus <burnus@net-b.de>
  916. PR fortran/61628
  917. * trans-types.c (gfc_init_types): Fix data-type bug
  918. with gfc_max_array_element_size.
  919. 2014-07-12 Tobias Burnus <burnus@net-b.de>
  920. * libgfortran.h (libcaf_atomic_codes): Add.
  921. * trans-decl.c (gfor_fndecl_caf_atomic_def,
  922. gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
  923. gfor_fndecl_caf_atomic_op): New variables.
  924. (gfc_build_builtin_function_decls): Initialize them.
  925. * trans.h (gfor_fndecl_caf_atomic_def,
  926. gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
  927. gfor_fndecl_caf_atomic_op): New variables.
  928. * trans-intrinsic.c (conv_intrinsic_atomic_op,
  929. conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
  930. Add library calls with -fcoarray=lib.
  931. 2014-07-12 Tobias Burnus <burnus@net-b.de>
  932. * check.c (gfc_check_atomic): Update for STAT=.
  933. (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
  934. (gfc_check_atomic_op, gfc_check_atomic_cas,
  935. gfc_check_atomic_fetch_op): New.
  936. * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD,
  937. GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
  938. GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
  939. GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
  940. * intrinsic.c (add_subroutines): Handle them.
  941. * intrinsic.texi: Add documentation for them.
  942. (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
  943. (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
  944. * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
  945. gfc_check_atomic_fetch_op): New
  946. prototypes.
  947. * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE.
  948. * iso-fortran-env.def: Add it.
  949. * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
  950. conv_intrinsic_atomic_ref; handle more atomics.
  951. (conv_intrinsic_atomic_def): Handle STAT=.
  952. (conv_intrinsic_atomic_cas): New.
  953. (gfc_conv_intrinsic_subroutine): Handle new atomics.
  954. 2014-07-09 Bernd Schmidt <bernds@codesourcery.com>
  955. * trans-array.c (gfc_build_constant_array_constructor): Build a
  956. static decl manually.
  957. * trans-decl.c (create_main_function): Likewise.
  958. 2014-07-07 Paul Thomas <pault@gcc.gnu.org>
  959. PR fortran/61459
  960. PR fortran/58883
  961. * trans-expr.c (fcncall_realloc_result): Use the natural type
  962. for the address expression of 'res_desc'.
  963. 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com>
  964. * gfortran.texi (Fortran 2003 status): Fix grammar.
  965. 2014-07-04 Tobias Burnus <burnus@net-b.de>
  966. * resolve.c (resolve_assoc_var): Fix corank setting.
  967. * trans-array.c (gfc_conv_descriptor_token): Change assert.
  968. for select-type temporaries.
  969. * trans-decl.c (generate_coarray_sym_init): Skip for
  970. attr.select_type_temporary.
  971. * trans-expr.c (gfc_conv_procedure_call): Fix for
  972. select-type temporaries.
  973. * trans-intrinsic.c (get_caf_token_offset): Ditto.
  974. (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
  975. the correct dtype.
  976. * trans-types.h (gfc_get_dtype_rank_type): New.
  977. * trans-types.c (gfc_get_dtype_rank_type): Ditto.
  978. 2014-07-03 Tobias Burnus <burnus@net-b.de>
  979. * scanner.c (skip_free_comments): Fix indentation.
  980. 2014-07-02 Jakub Jelinek <jakub@redhat.com>
  981. Fritz Reese <Reese-Fritz@zai.com>
  982. * decl.c (variable_decl): Reject old style initialization
  983. for derived type components.
  984. 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  985. PR fortran/36275
  986. PR fortran/38839
  987. * decl.c (check_bind_name_identifier): New function.
  988. (gfc_match_bind_c): Match any constant expression as binding
  989. label.
  990. * match.c (gfc_match_name_C): Remove.
  991. 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  992. PR fortran/29383
  993. * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
  994. * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
  995. both C and Fortran.
  996. * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
  997. * simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
  998. * module.c (mio_symbol): Keep track of symbols which came from
  999. intrinsic modules.
  1000. (gfc_use_module): Keep track of the IEEE modules.
  1001. * trans-decl.c (gfc_get_symbol_decl): Adjust code since
  1002. we have new intrinsic modules.
  1003. (gfc_build_builtin_function_decls): Build decls for
  1004. ieee_procedure_entry and ieee_procedure_exit.
  1005. (is_from_ieee_module, is_ieee_module_used, save_fp_state,
  1006. restore_fp_state): New functions.
  1007. (gfc_generate_function_code): Save and restore floating-point
  1008. state on procedure entry/exit, when IEEE modules are used.
  1009. * intrinsic.texi: Document the IEEE modules.
  1010. 2014-06-25 Tobias Burnus <burnus@net-b.de>
  1011. * interface.c (check_intents): Fix diagnostic with
  1012. coindexed coarrays.
  1013. 2014-06-25 Tobias Burnus <burnus@net-b.de>
  1014. * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
  1015. when assigning a coindexed RHS scalar to a noncoindexed LHS
  1016. array.
  1017. * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
  1018. for a noncoindexed scalar RHS.
  1019. 2014-06-25 Tobias Burnus <burnus@net-b.de>
  1020. * check.c (check_co_minmaxsum): Add definable check.
  1021. * expr.c (gfc_check_vardef_context): Fix context == NULL case.
  1022. * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
  1023. arguments.
  1024. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of
  1025. temporary strings.
  1026. 2014-06-25 Jakub Jelinek <jakub@redhat.com>
  1027. * trans.h (gfc_omp_clause_linear_ctor): New prototype.
  1028. * trans-openmp.c (gfc_omp_linear_clause_add_loop,
  1029. gfc_omp_clause_linear_ctor): New functions.
  1030. (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
  1031. correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
  1032. * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
  1033. 2014-06-24 Jakub Jelinek <jakub@redhat.com>
  1034. * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
  1035. of n->udr.
  1036. * f95-lang.c (gfc_init_builtin_functions): Initialize
  1037. BUILT_IN_ASSUME_ALIGNED.
  1038. * gfortran.h (gfc_omp_namelist): Change udr field type to
  1039. struct gfc_omp_namelist_udr.
  1040. (gfc_omp_namelist_udr): New type.
  1041. (gfc_get_omp_namelist_udr): Define.
  1042. (gfc_resolve_code): New prototype.
  1043. * match.c (gfc_free_omp_namelist): Free name->udr.
  1044. * module.c (intrinsics): Add INTRINSIC_USER.
  1045. (fix_mio_expr): Likewise.
  1046. (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
  1047. * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
  1048. (gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
  1049. Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
  1050. (struct resolve_omp_udr_callback_data): New type.
  1051. (resolve_omp_udr_callback, resolve_omp_udr_callback2,
  1052. resolve_omp_udr_clause): New functions.
  1053. (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
  1054. here.
  1055. (omp_udr_callback): Don't check for implicitly declared functions
  1056. here.
  1057. (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for
  1058. implicitly declared subroutines here.
  1059. * resolve.c (resolve_function): If value.function.isym is non-NULL,
  1060. consider it already resolved.
  1061. (resolve_code): Renamed to ...
  1062. (gfc_resolve_code): ... this. No longer static.
  1063. (gfc_resolve_blocks, generate_component_assignments, resolve_codes):
  1064. Adjust callers.
  1065. * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
  1066. by reference type (C_PTR) variables.
  1067. (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
  1068. (gfc_trans_omp_udr_expr): Remove.
  1069. (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
  1070. Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
  1071. expand it as assignment or subroutine call. Don't initialize
  1072. value.function.isym.
  1073. 2014-06-23 Tobias Burnus <burnus@net-b.de>
  1074. * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
  1075. explicit-size arrays with -fcoarray=lib.
  1076. 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1077. PR fortran/33363
  1078. * invoke.texi: Don't mention nonexisting -fcase-lower option.
  1079. 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1080. PR fortran/61454
  1081. * expr.c (scalarize_intrinsic_call): Take care of optional
  1082. arguments.
  1083. 2014-06-19 Tobias Burnus <burnus@net-b.de>
  1084. * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
  1085. passing.
  1086. 2014-06-18 Tobias Burnus <burnus@net-b.de>
  1087. * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
  1088. * intrinsic.texi (OpenMP Modules): Ditto.
  1089. 2014-06-18 Jakub Jelinek <jakub@redhat.com>
  1090. * cpp.c (cpp_define_builtins): Change _OPENMP macro to
  1091. 201307.
  1092. * dump-parse-tree.c (show_omp_namelist): Add list_type
  1093. argument. Adjust for rop being u.reduction_op now,
  1094. handle depend_op or map_op.
  1095. (show_omp_node): Adjust callers. Print some new
  1096. OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
  1097. becoming a single OMP_LIST_DEPEND.
  1098. * f95-lang.c (gfc_handle_omp_declare_target_attribute): New
  1099. function.
  1100. (gfc_attribute_table): New variable.
  1101. (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
  1102. * frontend-passes.c (gfc_code_walker): Handle new OpenMP target
  1103. EXEC_OMP_* codes and new clauses.
  1104. * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
  1105. ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
  1106. ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
  1107. ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
  1108. ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
  1109. ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
  1110. ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
  1111. ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
  1112. ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
  1113. ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
  1114. ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
  1115. ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
  1116. ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
  1117. ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
  1118. ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
  1119. ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
  1120. ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
  1121. ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
  1122. ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
  1123. ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
  1124. ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
  1125. (symbol_attribute): Add omp_declare_target field.
  1126. (gfc_omp_depend_op, gfc_omp_map_op): New enums.
  1127. (gfc_omp_namelist): Replace rop field with union
  1128. containing reduction_op, depend_op and map_op.
  1129. (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
  1130. (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
  1131. (gfc_omp_clauses): Add num_teams, device, thread_limit,
  1132. dist_sched_kind, dist_chunk_size fields.
  1133. (gfc_common_head): Add omp_declare_target field.
  1134. (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
  1135. EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
  1136. EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
  1137. EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
  1138. EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
  1139. EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
  1140. EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
  1141. EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
  1142. EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
  1143. EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
  1144. EXEC_OMP_TARGET_UPDATE.
  1145. (gfc_add_omp_declare_target): New prototype.
  1146. * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
  1147. gfc_match_omp_distribute_parallel_do,
  1148. gfc_match_omp_distribute_parallel_do_simd,
  1149. gfc_match_omp_distribute_simd, gfc_match_omp_target,
  1150. gfc_match_omp_target_data, gfc_match_omp_target_teams,
  1151. gfc_match_omp_target_teams_distribute,
  1152. gfc_match_omp_target_teams_distribute_parallel_do,
  1153. gfc_match_omp_target_teams_distribute_parallel_do_simd,
  1154. gfc_match_omp_target_teams_distribute_simd,
  1155. gfc_match_omp_target_update, gfc_match_omp_teams,
  1156. gfc_match_omp_teams_distribute,
  1157. gfc_match_omp_teams_distribute_parallel_do,
  1158. gfc_match_omp_teams_distribute_parallel_do_simd,
  1159. gfc_match_omp_teams_distribute_simd): New prototypes.
  1160. * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
  1161. (attr_bits): Likewise.
  1162. (mio_symbol_attribute): Handle omp_declare_target attribute.
  1163. (gfc_free_omp_clauses): Free num_teams, device, thread_limit
  1164. and dist_chunk_size expressions.
  1165. (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
  1166. OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
  1167. OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
  1168. OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
  1169. OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
  1170. OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
  1171. OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
  1172. OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
  1173. OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
  1174. (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
  1175. OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
  1176. OMP_CLAUSE_DIST_SCHEDULE): Define.
  1177. (gfc_match_omp_clauses): Change mask parameter to unsigned int.
  1178. Adjust for rop becoming u.reduction_op. Disallow inbranch with
  1179. notinbranch. For depend clause, always create OMP_LIST_DEPEND
  1180. and fill in u.depend_op. Handle num_teams, device, map,
  1181. to, from, thread_limit and dist_schedule clauses.
  1182. (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
  1183. OMP_CLAUSE_NOTINBRANCH.
  1184. (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
  1185. OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
  1186. OMP_DISTRIBUTE_CLAUSES): Define.
  1187. (match_omp): New function.
  1188. (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
  1189. gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
  1190. gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
  1191. gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
  1192. gfc_match_omp_task): Rewritten using match_omp.
  1193. (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
  1194. Diagnose if the directives are followed by unexpected junk.
  1195. (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
  1196. gfc_match_omp_distribute_parallel_do_simd,
  1197. gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
  1198. gfc_match_omp_target, gfc_match_omp_target_data,
  1199. gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
  1200. gfc_match_omp_target_teams_distribute_parallel_do,
  1201. gfc_match_omp_target_teams_distribute_parallel_do_simd,
  1202. gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
  1203. gfc_match_omp_teams, gfc_match_omp_teams_distribute,
  1204. gfc_match_omp_teams_distribute_parallel_do,
  1205. gfc_match_omp_teams_distribute_parallel_do_simd,
  1206. gfc_match_omp_teams_distrbute_simd): New functions.
  1207. * openmp.c (resolve_omp_clauses): Adjust for
  1208. OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle
  1209. OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
  1210. dist_chunk_size and thread_limit.
  1211. (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
  1212. ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various
  1213. new EXEC_OMP_* codes.
  1214. (resolve_omp_do): Handle various new EXEC_OMP_* codes.
  1215. (gfc_resolve_omp_directive): Likewise.
  1216. (gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
  1217. * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
  1218. offloading related directives.
  1219. (case_executable): Add ST_OMP_TARGET_UPDATE.
  1220. (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
  1221. ST_OMP_DISTRIBUTE*.
  1222. (case_decl): Add ST_OMP_DECLARE_TARGET.
  1223. (gfc_ascii_statement): Handle new ST_OMP_* codes.
  1224. (parse_omp_do): Handle various new ST_OMP_* codes.
  1225. (parse_executable): Likewise.
  1226. * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
  1227. codes.
  1228. (resolve_code): Likewise.
  1229. (resolve_symbol): Change that !$OMP DECLARE TARGET variables
  1230. are saved.
  1231. * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
  1232. * symbol.c (check_conflict): Check omp_declare_target conflicts.
  1233. (gfc_add_omp_declare_target): New function.
  1234. (gfc_copy_attr): Copy omp_declare_target.
  1235. * trans.c (trans_code): Handle various new EXEC_OMP_* codes.
  1236. * trans-common.c (build_common_decl): Add "omp declare target"
  1237. attribute if needed.
  1238. * trans-decl.c (add_attributes_to_decl): Likewise.
  1239. * trans.h (gfc_omp_finish_clause): New prototype.
  1240. * trans-openmp.c (gfc_omp_finish_clause): New function.
  1241. (gfc_trans_omp_reduction_list): Adjust for rop being renamed
  1242. to u.reduction_op.
  1243. (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
  1244. change to OMP_LIST_DEPEND and fix up depend handling.
  1245. Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
  1246. thread_limit, device, dist_chunk_size and dist_sched_kind.
  1247. (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
  1248. (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
  1249. GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
  1250. GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
  1251. (gfc_split_omp_clauses): Handle splitting of clauses for new
  1252. EXEC_OMP_* codes.
  1253. (gfc_trans_omp_do_simd): Add pblock argument, adjust for being
  1254. callable for combined constructs.
  1255. (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
  1256. (gfc_trans_omp_distribute, gfc_trans_omp_teams,
  1257. gfc_trans_omp_target, gfc_trans_omp_target_data,
  1258. gfc_trans_omp_target_update): New functions.
  1259. (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
  1260. new EXEC_OMP_* codes.
  1261. 2014-06-18 Tobias Burnus <burnus@net-b.de>
  1262. PR fortran/61126
  1263. * invoke.texi (-Wunused-parameter): Make clearer when
  1264. -Wextra implies this option.
  1265. 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
  1266. PR fortran/61126
  1267. * options.c (gfc_handle_option): Remove call to
  1268. handle_generated_option.
  1269. 2014-06-17 Tobias Burnus <burnus@net-b.de>
  1270. * check.c (gfc_check_atomic, gfc_check_atomic_def):
  1271. Use argument for GFC_ISYM_CAF_GET.
  1272. * resolve.c (resolve_variable): Enable CAF_GET insertion.
  1273. (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
  1274. (resolve_ordinary_assign): Enable CAF_SEND insertion.
  1275. * trans-const.c (gfc_build_string_const,
  1276. gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
  1277. * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
  1278. gfor_fndecl_caf_sendget): New global variables.
  1279. (gfc_build_builtin_function_decls): Initialize them;
  1280. update co_min/max/sum initialization.
  1281. * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
  1282. get_tree_for_caf_expr and removed static.
  1283. (gfc_conv_procedure_call): Update call.
  1284. * trans-intrinsic.c (caf_get_image_index,
  1285. conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
  1286. get_caf_token_offset, gfc_conv_intrinsic_caf_get,
  1287. conv_caf_send): New.
  1288. (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
  1289. gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
  1290. (conv_co_minmaxsum): Update call for remove unused vector
  1291. subscript.
  1292. (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
  1293. Skip a CAF_GET of the argument.
  1294. * trans-types.c (gfc_get_caf_vector_type): New.
  1295. * trans-types.h (gfc_get_caf_vector_type): New.
  1296. * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
  1297. gfor_fndecl_caf_sendget): New global variables.
  1298. (gfc_get_tree_for_caf_expr): New prototypes.
  1299. 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
  1300. * trans-common.c (build_common_decl): Use
  1301. set_decl_tls_model.
  1302. * trans-decl.c (gfc_finish_var_decl): Likewise.
  1303. (get_proc_pointer_decl): Likewise.
  1304. 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1305. PR fortran/28484
  1306. PR fortran/61429
  1307. * check.c (gfc_check_system_clock): Improve checking of arguments.
  1308. * intrinsic.texi: Update doc of SYSTEM_CLOCK.
  1309. * iresolve.c (gfc_resolve_system_clock): Choose library function
  1310. used depending on argument kinds.
  1311. * trans-decl.c (gfc_build_intrinsic_function_decls): Build
  1312. decls for system_clock_4 and system_clock_8.
  1313. * trans-intrinsic.c (conv_intrinsic_system_clock): New function.
  1314. (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
  1315. * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
  1316. New variables.
  1317. 2014-06-12 Tobias Burnus <burnus@net-b.de>
  1318. * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
  1319. * symbol.c (gfc_copy_formal_args_intr): Handle the case
  1320. that absent optional arguments should be ignored.
  1321. * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
  1322. (gfc_conv_intrinsic_funcall,
  1323. conv_generic_with_optional_char_arg): Update call.
  1324. * resolve.c (gfc_resolve_intrinsic): Ditto.
  1325. 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr>
  1326. Mikael Morin <mikael@gcc.gnu.org>
  1327. PR fortran/41936
  1328. * trans-expr.c (gfc_conv_expr_reference): Deallocate array
  1329. components.
  1330. 2014-06-10 Jakub Jelinek <jakub@redhat.com>
  1331. PR fortran/60928
  1332. * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
  1333. like -fopenmp.
  1334. * openmp.c (resolve_omp_clauses): Remove allocatable components
  1335. diagnostics. Add associate-name and intent(in) pointer
  1336. diagnostics for various clauses, diagnose procedure pointers in
  1337. reduction clause.
  1338. * parse.c (match_word_omp_simd): New function.
  1339. (matchs, matcho): New macros.
  1340. (decode_omp_directive): Change match macros to either matchs
  1341. or matcho. Handle -fopenmp-simd.
  1342. (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
  1343. * scanner.c (skip_free_comments, skip_fixed_comments, include_line):
  1344. Likewise.
  1345. * trans-array.c (get_full_array_size): Rename to...
  1346. (gfc_full_array_size): ... this. No longer static.
  1347. (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument
  1348. and handle it.
  1349. (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
  1350. duplicate_allocatable callers.
  1351. (gfc_duplicate_allocatable_nocopy): New function.
  1352. (structure_alloc_comps): Adjust g*_full_array_size and
  1353. duplicate_allocatable caller.
  1354. * trans-array.h (gfc_full_array_size,
  1355. gfc_duplicate_allocatable_nocopy): New prototypes.
  1356. * trans-common.c (create_common): Call gfc_finish_decl_attrs.
  1357. * trans-decl.c (gfc_finish_decl_attrs): New function.
  1358. (gfc_finish_var_decl, create_function_arglist,
  1359. gfc_get_fake_result_decl): Call it.
  1360. (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
  1361. don't allocate it again.
  1362. (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
  1363. associate-names.
  1364. * trans.h (gfc_finish_decl_attrs): New prototype.
  1365. (struct lang_decl): Add scalar_allocatable and scalar_pointer
  1366. bitfields.
  1367. (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
  1368. GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
  1369. GFC_DECL_ASSOCIATE_VAR_P): Define.
  1370. (GFC_POINTER_TYPE_P): Remove.
  1371. * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
  1372. GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
  1373. GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
  1374. (gfc_omp_predetermined_sharing): Associate-names are predetermined.
  1375. (enum walk_alloc_comps): New.
  1376. (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
  1377. gfc_walk_alloc_comps): New functions.
  1378. (gfc_omp_private_outer_ref): Return true for scalar allocatables or
  1379. decls with allocatable components.
  1380. (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
  1381. gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
  1382. allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
  1383. allocatables and decls with allocatable components.
  1384. (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
  1385. arrays here.
  1386. (gfc_trans_omp_reduction_list): Call
  1387. gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
  1388. (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
  1389. (gfc_trans_omp_parallel_do_simd): Likewise.
  1390. * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
  1391. (gfc_get_derived_type): Call gfc_finish_decl_attrs.
  1392. 2014-06-09 Paul Thomas <pault@gcc.gnu.org>
  1393. PR fortran/61406
  1394. * trans-stmt.c (trans_associate_var): Check that array
  1395. constructors are constant for direct reference.
  1396. 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1397. PR fortran/36096
  1398. * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
  1399. BESSEL_Y0, and BESSEL_Y1.
  1400. 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1401. PR fortran/45187
  1402. * trans-decl.c (gfc_create_module_variable): Don't create
  1403. Cray-pointee decls twice.
  1404. 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1405. * io.c (resolve_tag): Warn on non-default kind for NUMBER,
  1406. NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.
  1407. 2014-06-06 Jakub Jelinek <jakub@redhat.com>
  1408. * dump-parse-tree.c (show_omp_namelist): Dump reduction
  1409. id in each list item.
  1410. (show_omp_node): Only handle OMP_LIST_REDUCTION, not
  1411. OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't
  1412. dump reduction id here.
  1413. * frontend-passes.c (dummy_code_callback): Renamed to...
  1414. (gfc_dummy_code_callback): ... this. No longer static.
  1415. (optimize_reduction): Use gfc_dummy_code_callback instead of
  1416. dummy_code_callback.
  1417. * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
  1418. (symbol_attribute): Add omp_udr_artificial_var bitfield.
  1419. (gfc_omp_reduction_op): New enum.
  1420. (gfc_omp_namelist): Add rop and udr fields.
  1421. (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
  1422. OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
  1423. OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
  1424. OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
  1425. (OMP_LIST_REDUCTION): New.
  1426. (gfc_omp_udr): New type.
  1427. (gfc_get_omp_udr): Define.
  1428. (gfc_symtree): Add n.omp_udr field.
  1429. (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
  1430. (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
  1431. gfc_dummy_code_callback): New prototypes.
  1432. * match.h (gfc_match_omp_declare_reduction): New prototype.
  1433. * module.c (MOD_VERSION): Increase to 13.
  1434. (omp_declare_reduction_stmt): New array.
  1435. (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
  1436. New functions.
  1437. (read_module): Read OpenMP user defined reductions.
  1438. (write_module): Write OpenMP user defined reductions.
  1439. * openmp.c: Include arith.h.
  1440. (gfc_free_omp_udr, gfc_find_omp_udr): New functions.
  1441. (gfc_match_omp_clauses): Handle user defined reductions.
  1442. Store reduction kind into gfc_omp_namelist instead of using
  1443. several OMP_LIST_* entries.
  1444. (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
  1445. gfc_match_omp_declare_reduction): New functions.
  1446. (resolve_omp_clauses): Adjust for reduction clauses being only
  1447. in OMP_LIST_REDUCTION list. Diagnose missing UDRs.
  1448. (struct omp_udr_callback_data): New type.
  1449. (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
  1450. functions.
  1451. * parse.c (decode_omp_directive): Handle !$omp declare reduction.
  1452. (case_decl): Add ST_OMP_DECLARE_REDUCTION.
  1453. (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
  1454. * resolve.c (resolve_fl_variable): Allow len=: or len=* on
  1455. sym->attr.omp_udr_artificial_var symbols.
  1456. (resolve_types): Call gfc_resolve_omp_udrs.
  1457. * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
  1458. use parent ns instead of gfc_current_ns.
  1459. (gfc_get_sym_tree): Don't insert symbols into
  1460. namespaces with omp_udr_ns set.
  1461. (free_omp_udr_tree): New function.
  1462. (gfc_free_namespace): Call it.
  1463. * trans-openmp.c (struct omp_udr_find_orig_data): New type.
  1464. (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
  1465. (gfc_trans_omp_array_reduction): Renamed to...
  1466. (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM
  1467. argument, instead pass gfc_omp_namelist pointer N. Handle
  1468. user defined reductions.
  1469. (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
  1470. Handle user defined reductions and reduction ops in gfc_omp_namelist.
  1471. (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
  1472. list.
  1473. (gfc_split_omp_clauses): Likewise.
  1474. 2014-06-05 Richard Biener <rguenther@suse.de>
  1475. PR fortran/61418
  1476. * gfortranspec.c (spec_file): Remove.
  1477. (find_spec_file): Likewise.
  1478. (lang_specific_driver): Do not look for specs file in -L
  1479. or append -specs command line argument.
  1480. (lang_specific_pre_link): Always %:include libgfortran.spec.
  1481. 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
  1482. * fortran/trans.c (trans_runtime_error_vararg): Call
  1483. fold_build_call_array_loc instead of fold_builtin_call_array.
  1484. 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
  1485. * trans-decl.c (gfc_build_builtin_function_decls): Correct number of
  1486. arguments to caf_init.
  1487. 2014-05-26 Tobias Burnus <burnus@net-b.de>
  1488. * gfortran.texi (Project Status): Fix broken link.
  1489. 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
  1490. PR libfortran/61310
  1491. * intrinsics.texi (CTIME): Remove mention of locale-dependent
  1492. behavior.
  1493. 2014-05-26 Tobias Burnus <burnus@net-b.de>
  1494. PR fortran/55117
  1495. * trans-io.c (nml_full_name, transfer_namelist_element): Insert
  1496. a '+' rather then '%' to differentiate namelist variable names
  1497. that are based on extended derived types.
  1498. 2014-05-25 Tobias Burnus <burnus@net-b.de>
  1499. * check.c (gfc_check_num_images): New.
  1500. (gfc_check_this_image): Handle distance argument.
  1501. * intrinsic.c (add_functions): Update this_image and num_images
  1502. for new distance and failed arguments.
  1503. * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
  1504. arguments.
  1505. * intrinsic.h (gfc_check_num_images): New.
  1506. (gfc_check_this_image, gfc_simplify_num_images,
  1507. gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
  1508. * iresolve.c (gfc_resolve_this_image): Handle distance argument.
  1509. * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
  1510. Handle new arguments.
  1511. * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
  1512. (gfc_conv_intrinsic_function): Update trans_num_images call.
  1513. 2014-05-23 Tobias Burnus <burnus@net-b.de>
  1514. * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
  1515. * gfortran.texi: Ditto.
  1516. 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
  1517. * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
  1518. (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
  1519. (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
  1520. * types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
  1521. 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
  1522. * f95-lang.c (pushlevel): Adjust.
  1523. * trans-decl.c (gfc_allocate_lang_decl): Adjust.
  1524. (gfc_find_module): Likewise.
  1525. * trans-types.c (gfc_get_nodesc_array_type): Likewise.
  1526. (gfc_get_array_type_bounds): Likewise.
  1527. (gfc_nonrestricted_type): Likewise.
  1528. * trans.h: Don't use variable_size gty attribute.
  1529. 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
  1530. * check.c (gfc_check_fn_rc2008): move "argument" to the right
  1531. place.
  1532. 2014-05-12 Tobias Burnus <burnus@net-b.de>
  1533. PR fortran/60127
  1534. * openmp.c (resolve_omp_do): Reject do concurrent loops.
  1535. 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
  1536. PR fortran/60834
  1537. * frontend-passes.c (in_assoc_list): New variable.
  1538. (optimize_namespace): Initialize in_assoc_list
  1539. (combine_array_constructor): Don't try to combine
  1540. assoc lists.
  1541. (gfc_code_walker): Keep track of in_assoc_list.
  1542. 2014-05-11 Jakub Jelinek <jakub@redhat.com>
  1543. * gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
  1544. ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
  1545. ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
  1546. ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
  1547. ST_OMP_DECLARE_SIMD.
  1548. (gfc_omp_namelist): New typedef.
  1549. (gfc_get_omp_namelist): Define.
  1550. (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
  1551. OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
  1552. (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
  1553. (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
  1554. Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
  1555. simdlen_expr fields.
  1556. (gfc_omp_declare_simd): New typedef.
  1557. (gfc_get_omp_declare_simd): Define.
  1558. (gfc_namespace): Add omp_declare_simd field.
  1559. (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
  1560. EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
  1561. EXEC_OMP_PARALLEL_DO_SIMD.
  1562. (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
  1563. and GFC_OMP_ATOMIC_SWAP.
  1564. (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
  1565. (gfc_free_omp_namelist, gfc_free_omp_declare_simd,
  1566. gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
  1567. prototypes.
  1568. * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
  1569. * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
  1570. * openmp.c (gfc_free_omp_clauses): Free safelen_expr and
  1571. simdlen_expr. Use gfc_free_omp_namelist instead of
  1572. gfc_free_namelist.
  1573. (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
  1574. functions.
  1575. (gfc_match_omp_variable_list): Add end_colon, headp and
  1576. allow_sections arguments. Handle parsing of array sections.
  1577. Use *omp_namelist* instead of *namelist* data structure and
  1578. functions/macros. Allow termination at : character.
  1579. (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
  1580. OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
  1581. OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
  1582. (gfc_match_omp_clauses): Change first and needs_space variables
  1583. into arguments with default values. Parse inbranch, notinbranch,
  1584. proc_bind, safelen, simdlen, uniform, linear, aligned and
  1585. depend clauses.
  1586. (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
  1587. (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
  1588. (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
  1589. (gfc_match_omp_do_simd): New function.
  1590. (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
  1591. data structure and functions/macros.
  1592. (gfc_match_omp_simd, gfc_match_omp_declare_simd,
  1593. gfc_match_omp_parallel_do_simd): New functions.
  1594. (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
  1595. (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
  1596. gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
  1597. functions.
  1598. (resolve_omp_clauses): Add where, omp_clauses and ns arguments.
  1599. Use *omp_namelist* instead of *namelist* data structure and
  1600. functions/macros. Resolve uniform, aligned, linear, depend,
  1601. safelen and simdlen clauses.
  1602. (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
  1603. addition, recognize atomic swap.
  1604. (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
  1605. of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
  1606. EXEC_OMP_PARALLEL_DO.
  1607. (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
  1608. data structure and functions/macros.
  1609. (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
  1610. EXEC_OMP_PARALLEL_DO_SIMD.
  1611. (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
  1612. EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
  1613. resolve_omp_clauses caller.
  1614. (gfc_resolve_omp_declare_simd): New function.
  1615. * parse.c (decode_omp_directive): Parse cancellation point, cancel,
  1616. declare simd, end do simd, end simd, end parallel do simd,
  1617. end taskgroup, parallel do simd, simd and taskgroup directives.
  1618. (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
  1619. (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
  1620. ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
  1621. (case_decl): Add ST_OMP_DECLARE_SIMD.
  1622. (gfc_ascii_statement): Handle ST_OMP_CANCEL,
  1623. ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
  1624. ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
  1625. ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
  1626. ST_OMP_DECLARE_SIMD.
  1627. (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
  1628. ST_OMP_PARALLEL_DO_SIMD.
  1629. (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
  1630. (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
  1631. ST_OMP_PARALLEL_DO_SIMD.
  1632. (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
  1633. ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
  1634. * trans-decl.c (gfc_get_extern_function_decl,
  1635. gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
  1636. needed.
  1637. * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
  1638. EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
  1639. safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
  1640. of depend, aligned and linear clauses.
  1641. * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
  1642. and EXEC_OMP_PARALLEL_DO_SIMD.
  1643. (gfc_free_omp_namelist): New function.
  1644. * dump-parse-tree.c (show_namelist): Removed.
  1645. (show_omp_namelist): New function.
  1646. (show_omp_node): Handle OpenMP 4.0 additions.
  1647. (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
  1648. EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
  1649. EXEC_OMP_TASKGROUP.
  1650. * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
  1651. gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
  1652. gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
  1653. gfc_match_omp_taskgroup): New prototypes.
  1654. * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
  1655. argument, handle it. Allow current_function_decl to be NULL.
  1656. (gfc_trans_omp_variable_list): Add declare_simd argument, pass
  1657. it through to gfc_trans_omp_variable and disregard whether
  1658. sym is referenced if declare_simd is true. Work on gfc_omp_namelist
  1659. instead of gfc_namelist.
  1660. (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
  1661. gfc_namelist. Adjust gfc_trans_omp_variable caller.
  1662. (gfc_trans_omp_clauses): Add declare_simd argument, pass it through
  1663. to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
  1664. instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
  1665. simdlen, depend, uniform, linear, proc_bind and aligned clauses.
  1666. Handle cancel kind.
  1667. (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
  1668. adjust for GFC_OMP_ATOMIC_* changes.
  1669. (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
  1670. functions.
  1671. (gfc_trans_omp_do): Add op argument, handle simd translation into
  1672. generic.
  1673. (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
  1674. GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
  1675. GFC_OMP_MASK_PARALLEL): New.
  1676. (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
  1677. (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
  1678. (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
  1679. functions.
  1680. (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
  1681. EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
  1682. EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
  1683. Adjust gfc_trans_omp_do caller.
  1684. (gfc_trans_omp_declare_simd): New function.
  1685. * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
  1686. EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
  1687. EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
  1688. For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
  1689. gfc_free_namelist.
  1690. * module.c (omp_declare_simd_clauses): New variable.
  1691. (mio_omp_declare_simd): New function.
  1692. (mio_symbol): Call it.
  1693. * trans.c (trans_code): Handle EXEC_OMP_CANCEL,
  1694. EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
  1695. EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
  1696. * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
  1697. EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
  1698. (resolve_code): Handle EXEC_OMP_CANCEL,
  1699. EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
  1700. EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
  1701. (resolve_types): Call gfc_resolve_omp_declare_simd.
  1702. 2014-05-11 Tobias Burnus <burnus@net-b.de>
  1703. * trans-intrinsic.c (gfc_build_builtin_function_decls):
  1704. Change type of second argument to int.
  1705. 2014-05-09 Mike Stump <mikestump@comcast.net>
  1706. PR fortran/61109
  1707. * trans-array.c (gfc_conv_array_initializer): Fix wide-int
  1708. conversion bug.
  1709. 2014-05-08 Tobias Burnus <burnus@net-b.de>
  1710. * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
  1711. and GFC_ISYM_CAF_SEND.
  1712. * intrinsic.c (add_functions): Add only internally
  1713. accessible caf_get and caf_send functions.
  1714. * resolve.c (add_caf_get_intrinsic,
  1715. remove_caf_get_intrinsic): New functions.
  1716. (resolve_variable): Resolve expression rank and
  1717. prepare for add_caf_get_intrinsic call.
  1718. (gfc_resolve_expr): For variables, remove rank
  1719. resolution.
  1720. (resolve_ordinary_assign): Prepare call to
  1721. GFC_ISYM_CAF_SEND.
  1722. (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
  1723. the LHS of an assignment.
  1724. 2014-05-08 Tobias Burnus <burnus@net-b.de>
  1725. * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
  1726. 2014-05-08 Tobias Burnus <burnus@net-b.de>
  1727. * check.c (check_co_minmaxsum, gfc_check_co_minmax,
  1728. gfc_check_co_sum): New.
  1729. * error.c (gfc_notify_std): Update -std=f2008ts.
  1730. * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
  1731. GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
  1732. * intrinsic.h (gfc_check_co_minmax,
  1733. gfc_check_co_sum): Declare.
  1734. * intrinsic.c (add_subroutines): Add co_min, co_max
  1735. and co_sum.
  1736. (gfc_check_intrinsic_standard): Update text for
  1737. -std=f2008ts.
  1738. * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
  1739. them.
  1740. * invoke.texi (-std=f2008ts): Update wording.
  1741. * trans.h (gfor_fndecl_co_max,
  1742. gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
  1743. * trans-decl.c (gfor_fndecl_co_max,
  1744. gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
  1745. (gfc_build_builtin_function_decls): Assign to it.
  1746. * trans-intrinsic.c (conv_co_minmaxsum): New.
  1747. (gfc_conv_intrinsic_subroutine): Call it.
  1748. 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
  1749. Mike Stump <mikestump@comcast.net>
  1750. Richard Sandiford <rdsandiford@googlemail.com>
  1751. * target-memory.c: Include wide-int.h.
  1752. (gfc_interpret_logical): Use wide-int interfaces.
  1753. * trans-array.c: Include wide-int.h.
  1754. (gfc_conv_array_initializer): Use wide-int interfaces.
  1755. * trans-const.c: Include wide-int.h.
  1756. (gfc_conv_string_init): Use wide-int interfaces.
  1757. (gfc_conv_mpz_to_tree): Likewise.
  1758. (gfc_conv_tree_to_mpz): Likewise.
  1759. * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
  1760. * trans-expr.c: Include wide-int.h.
  1761. (gfc_conv_cst_int_power): Use wide-int interfaces.
  1762. (gfc_string_to_single_character): Likewise.
  1763. (gfc_optimize_len_trim): Likewise.
  1764. * trans-intrinsic.c: Include wide-int.h.
  1765. (trans_this_image): Use wide-int interfaces.
  1766. (gfc_conv_intrinsic_bound): Likewise.
  1767. (conv_intrinsic_cobound): Likewise.
  1768. * trans-types.c (gfc_init_types): Likewise.
  1769. (gfc_get_array_type_bounds): Pass an integer of the correct type
  1770. instead of using integer_one_node.
  1771. 2014-04-30 Tobias Burnus <burnus@net-b.de>
  1772. * trans-decl.c (create_function_arglist): Add hidden coarray arguments
  1773. also for polymorphic coarrays.
  1774. * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments
  1775. also for polymorphic coarrays.
  1776. 2014-04-30 Tobias Burnus <burnus@net-b.de>
  1777. * resolve.c (resolve_function): Don't do
  1778. assumed-size check for lcobound/ucobound.
  1779. * trans-types.c (gfc_build_array_type): Only build an array
  1780. descriptor with codimensions for allocatable coarrays.
  1781. 2014-04-30 Tobias Burnus <burnus@net-b.de>
  1782. * gfortran.h (gfc_init_coarray_decl): Remove.
  1783. * parse.c (translate_all_program_units): Remove call to it.
  1784. (gfc_parse_file): Update call.
  1785. * trans.h (gfor_fndecl_caf_this_image,
  1786. gfor_fndecl_caf_num_images): Add.
  1787. (gfort_gvar_caf_num_images,
  1788. gfort_gvar_caf_this_image): Remove.
  1789. * trans-decl.c (gfor_fndecl_caf_this_image,
  1790. gfor_fndecl_caf_num_images): Add.
  1791. (gfort_gvar_caf_num_images,
  1792. gfort_gvar_caf_this_image): Remove.
  1793. (gfc_build_builtin_function_decls): Init new decl.
  1794. (gfc_init_coarray_dec): Remove.
  1795. (create_main_function): Change calls.
  1796. * trans-intrinsic.c (trans_this_image, trans_image_index,
  1797. conv_intrinsic_cobound): Generate call to new library function
  1798. instead of to a static variable.
  1799. * trans-stmt.c (gfc_trans_sync): Ditto.
  1800. 2014-04-30 Tobias Burnus <burnus@net-b.de>
  1801. * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic
  1802. and derived-type coarrays.
  1803. 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
  1804. PR fortran/59604
  1805. PR fortran/58003
  1806. * gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
  1807. * arith.c (gfc_int2int): Convert number to signed if
  1808. arithmetic overflow is not checked.
  1809. * simplify.c (convert_mpz_to_unsigned): Only trigger assert for
  1810. size if range checking is in force.
  1811. (convert_mpz_to_signed): Make non-static, rename to
  1812. (gfc_convert_mpz_to_signed).
  1813. (simplify_dshift): Use gfc_convert_mpz_to_signed.
  1814. (gfc_simplify_ibclr): Likewise.
  1815. (gfc_simplify_ibits): Likewise.
  1816. (gfc_simplify_ibset): Likewise.
  1817. (simplify_shift): Likewise.
  1818. (gfc_simplify_ishiftc): Likewise.
  1819. (gfc_simplify_maskr): Likewise.
  1820. (gfc_simplify_maskl): Likewise.
  1821. 2014-04-22 Tobias Burnus <burnus@net-b.de>
  1822. PR fortran/60881
  1823. * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
  1824. of scalar coarrays.
  1825. 2014-04-17 Jakub Jelinek <jakub@redhat.com>
  1826. * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
  1827. argument is enum machine_mode.
  1828. 2014-04-13 Paul Thomas <pault@gcc.gnu.org>
  1829. PR fortran/58085
  1830. PR fortran/60717
  1831. * trans.h: Add 'use_offset' bitfield to gfc_se.
  1832. * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
  1833. as a trigger to unconditionally recalculate the offset for
  1834. array slices and constant arrays.
  1835. trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
  1836. trans-stmt.c (trans_associate_var): Ditto.
  1837. (gfc_conv_procedure_call): Ditto.
  1838. 2014-04-11 Tobias Burnus <burnus@net-b.de>
  1839. PR fortran/58880
  1840. PR fortran/60495
  1841. * resolve.c (gfc_resolve_finalizers): Ensure that vtables
  1842. and finalization wrappers are generated.
  1843. 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org>
  1844. * intrinsic.texi (RANDOM_SEED): Improve example.
  1845. 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
  1846. * class.c (gfc_build_class_symbol): Append "_t" to target class
  1847. names to make the generated type names unique.
  1848. 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
  1849. PR fortran/60191
  1850. * trans-types.c (gfc_get_function_type): In case of recursion
  1851. build a variadic function type with empty argument list instead of a
  1852. stdarg-like function type with incomplete argument list.
  1853. 2014-04-04 Tobias Burnus <burnus@net-b.de>
  1854. * check.c (gfc_check_cmplx): Fix typo.
  1855. 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
  1856. Tobias Burnus <burnus@net-b.de>
  1857. PR fortran/60576
  1858. * trans-expr.c (gfc_conv_derived_to_class): Avoid
  1859. generation of out-of-bounds range expr.
  1860. 2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
  1861. PR fortran/60677
  1862. * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
  1863. list buffer.
  1864. 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
  1865. PR fortran/60522
  1866. * frontend-passes.c (cfe_code): Do not walk subtrees
  1867. for WHERE.
  1868. 2014-03-27 Tobias Burnus <burnus@net-b.de>
  1869. PR fortran/58880
  1870. * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
  1871. of nonpointers.
  1872. 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>
  1873. PR fortran/34928
  1874. * fortran.texi: Document Volatile COMMON as not supported.
  1875. 2014-03-22 Jakub Jelinek <jakub@redhat.com>
  1876. PR debug/60603
  1877. * cpp.c (gfc_cpp_init): Restore cb_change_file call to
  1878. <built-in>.
  1879. 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1880. PR fortran/60148
  1881. * gfortran.texi: Add description of namelist DELIM= behavior.
  1882. 2014-03-19 Tobias Burnus <burnus@net-b.>
  1883. PR fortran/60543
  1884. * io.c (check_io_constraints): Use gfc_unset_implicit_pure.
  1885. * resolve.c (resolve_ordinary_assign): Ditto.
  1886. 2014-03-19 Tobias Burnus <burnus@net-b.de>
  1887. PR fortran/60543
  1888. PR fortran/60283
  1889. * gfortran.h (gfc_unset_implicit_pure): New prototype.
  1890. * resolve.c (gfc_unset_implicit_pure): New.
  1891. (resolve_structure_cons, resolve_function,
  1892. pure_subroutine): Use it.
  1893. * decl.c (match_old_style_init, gfc_match_data,
  1894. match_pointer_init, variable_decl): Ditto.
  1895. * expr.c (gfc_check_pointer_assign): Ditto.
  1896. * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
  1897. * io.c (match_vtag, gfc_match_open, gfc_match_close,
  1898. match_filepos, gfc_match_inquire, gfc_match_print,
  1899. gfc_match_wait): Ditto.
  1900. * match.c (gfc_match_critical, gfc_match_stopcode,
  1901. lock_unlock_statement, sync_statement, gfc_match_allocate,
  1902. gfc_match_deallocate): Ditto.
  1903. * parse.c (decode_omp_directive): Ditto.
  1904. * symbol.c (gfc_add_save): Ditto.
  1905. 2014-03-18 Janus Weil <janus@gcc.gnu.org>
  1906. PR fortran/55207
  1907. PR fortran/60549
  1908. * decl.c (match_attr_spec): Revert r208590.
  1909. 2014-03-18 Jakub Jelinek <jakub@redhat.com>
  1910. PR ipa/58721
  1911. * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
  1912. if !optimize.
  1913. 2014-03-18 Tobias Burnus <burnus@net-b.de>
  1914. PR ipa/58721
  1915. * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
  1916. (gfc_trans_io_runtime_check): Remove.
  1917. * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
  1918. as argument, add predictor to block.
  1919. (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
  1920. gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
  1921. * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
  1922. (gfc_trans_runtime_check, gfc_allocate_using_malloc,
  1923. gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
  1924. branch predictor.
  1925. * trans-expr.c (gfc_conv_procedure_call): Ditto.
  1926. * trans-stmt.c (gfc_trans_allocate): Ditto.
  1927. * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
  1928. 2014-03-15 Janus Weil <janus@gcc.gnu.org>
  1929. PR fortran/55207
  1930. * decl.c (match_attr_spec): Variables in the main program implicitly
  1931. get the SAVE attribute in Fortran 2008.
  1932. 2014-03-14 Mikael Morin <mikael@gcc.gnu.org>
  1933. PR fortran/60392
  1934. * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
  1935. if it has transposed dimensions.
  1936. 2014-03-08 Tobias Burnus <burnus@net-b.de>
  1937. PR fortran/60447
  1938. * f95-lang.c (gfc_init): Return false when only
  1939. preprocessing.
  1940. * options.c (gfc_post_options): Ditto.
  1941. 2014-03-08 Tobias Burnus <burnus@net-b.de>
  1942. * gfortran.texi (Fortran 2003 Status): Mention finalization,
  1943. deferred-length character support and input rounding.
  1944. (Fortran 2008 Status): Mention that at termination
  1945. signalling exceptions are shown.
  1946. 2014-03-06 Paul Thomas <pault@gcc.gnu.org>
  1947. Janus Weil <janus@gcc.gnu.org>
  1948. PR fortran/51976
  1949. * gfortran.h (symbol_attribute): Add deferred_parameter attribute.
  1950. * primary.c (build_actual_constructor): It is not an error if
  1951. a missing component has the deferred_parameter attribute;
  1952. equally, if one is given a value, it is an error.
  1953. * resolve.c (resolve_fl_derived0): Remove error for deferred
  1954. character length components. Add the hidden string length
  1955. field to the structure. Give it the deferred_parameter
  1956. attribute.
  1957. * trans-array.c (duplicate_allocatable): Add a strlen field
  1958. which is used as the element size if it is non-null.
  1959. (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
  1960. NULL to the new argument in duplicate_allocatable.
  1961. (structure_alloc_comps): Set the hidden string length as
  1962. appropriate. Use it in calls to duplicate_allocatable.
  1963. (gfc_alloc_allocatable_for_assignment): When a deferred length
  1964. backend declaration is variable, use that; otherwise use the
  1965. string length from the expression evaluation.
  1966. * trans-expr.c (gfc_conv_component_ref): If this is a deferred
  1967. character length component, the string length should have the
  1968. value of the hidden string length field.
  1969. (gfc_trans_subcomponent_assign): Set the hidden string length
  1970. field for deferred character length components. Allocate the
  1971. necessary memory for the string.
  1972. (alloc_scalar_allocatable_for_assignment): Same change as in
  1973. gfc_alloc_allocatable_for_assignment above.
  1974. * trans-stmt.c (gfc_trans_allocate): Likewise.
  1975. * trans-intrinsic (size_of_string_in_bytes): Make non-static.
  1976. * trans-types.c (gfc_get_derived_type): Set the tree type for
  1977. a deferred character length component.
  1978. * trans.c (gfc_deferred_strlen): New function.
  1979. * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
  1980. 2014-03-01 Mikael Morin <mikael@gcc.gnu.org>
  1981. PR fortran/60341
  1982. * frontend-passes.c (optimize_comparison): Guard two union accesses
  1983. with the corresponding tag checks.
  1984. 2014-02-28 Janus Weil <janus@gcc.gnu.org>
  1985. PR fortran/60359
  1986. * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
  1987. procedure for characters.
  1988. 2014-02-21 Janus Weil <janus@gcc.gnu.org>
  1989. PR fortran/60302
  1990. * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
  1991. is successful.
  1992. 2014-02-21 Janus Weil <janus@gcc.gnu.org>
  1993. PR fortran/60234
  1994. * gfortran.h (gfc_build_class_symbol): Removed argument.
  1995. * class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
  1996. (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
  1997. delayed now, except for unlimited polymorphics.
  1998. (comp_is_finalizable): Procedure pointer components are not finalizable.
  1999. * decl. (build_sym, build_struct, attr_decl1): Removed argument of
  2000. 'gfc_build_class_symbol'.
  2001. * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
  2002. Ditto.
  2003. * symbol.c (gfc_set_default_type): Ditto.
  2004. 2014-02-19 Janus Weil <janus@gcc.gnu.org>
  2005. PR fortran/60232
  2006. * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
  2007. functions, which are used as procedure pointer target.
  2008. 2014-02-18 Tobias Burnus <burnus@net-b.de>
  2009. PR fortran/49397
  2010. * expr.c (gfc_check_pointer_assign): Add check for
  2011. F2008Cor2, C729.
  2012. * trans-decl.c (gfc_get_symbol_decl): Correctly generate external
  2013. decl in a corner case.
  2014. 2014-02-18 Janus Weil <janus@gcc.gnu.org>
  2015. PR fortran/60231
  2016. * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
  2017. arguments to prevent ICE.
  2018. 2014-02-17 Janus Weil <janus@gcc.gnu.org>
  2019. PR fortran/55907
  2020. * resolve.c (build_default_init_expr): Don't initialize character
  2021. variable if -fno-automatic is given.
  2022. 2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
  2023. PR fortran/59599
  2024. * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
  2025. number of arguments.
  2026. 2014-02-11 Jakub Jelinek <jakub@redhat.com>
  2027. PR fortran/52370
  2028. * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
  2029. on decl if sym->attr.optional.
  2030. 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
  2031. PR fortran/57522
  2032. * resolve.c (resolve_assoc_var): Set the subref_array_pointer
  2033. attribute for the 'associate-name' if necessary.
  2034. * trans-stmt.c (trans_associate_var): If the 'associate-name'
  2035. is a subref_array_pointer, assign the element size of the
  2036. associate variable to 'span'.
  2037. 2014-02-09 Paul Thomas <pault@gcc.gnu.org>
  2038. PR fortran/59026
  2039. * trans-expr.c (gfc_conv_procedure_call): Pass the value of the
  2040. actual argument to a formal argument with the value attribute
  2041. in an elemental procedure.
  2042. 2014-02-08 Janus Weil <janus@gcc.gnu.org>
  2043. Mikael Morin <mikael.morin@gcc.gnu.org>
  2044. PR fortran/58470
  2045. * class.c (generate_finalization_wrapper): Assert that proc_tree has
  2046. been set in gfc_resolve_finalizers.
  2047. * resolve.c (resolve_fl_derived0): Remove unnecessary call to
  2048. gfc_is_finalizable.
  2049. 2014-02-07 Benno Schulenberg <bensberg@justemail.net>
  2050. PR translation/52289
  2051. * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
  2052. in an error message.
  2053. 2014-02-02 Mikael Morin <mikael@gcc.gnu.org>
  2054. PR fortran/57033
  2055. * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
  2056. dereference.
  2057. 2014-02-01 Paul Thomas <pault@gcc.gnu.org>
  2058. PR fortran/59906
  2059. * trans-stmt.c (gfc_add_loop_ss_code): In the case of character
  2060. SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
  2061. pointer to the string is stored.
  2062. * trans-expr.c (gfc_conv_expr_reference): Likewise, use
  2063. gfc_conv_string_parameter to ensure that a pointer to is passed
  2064. to the elemental function.
  2065. 2014-01-28 Paul Thomas <pault@gcc.gnu.org>
  2066. PR fortran/59414
  2067. * trans-stmt.c (gfc_trans_allocate): Before the pointer
  2068. assignment to transfer the source _vptr to a class allocate
  2069. expression, the final class reference should be exposed. The
  2070. tail that includes the _data and array references is stored.
  2071. This reduced expression is transferred to 'lhs' and the _vptr
  2072. added. Then the tail is restored to the allocate expression.
  2073. 2014-01-26 Mikael Morin <mikael@gcc.gnu.org>
  2074. PR fortran/58007
  2075. * module.c (read_module): Assert for component name correctness.
  2076. 2014-01-18 Mikael Morin <mikael@gcc.gnu.org>
  2077. PR fortran/58007
  2078. * module.c (MOD_VERSION): Bump.
  2079. (fp2, find_pointer2): Remove.
  2080. (mio_component_ref): Don't forcedfully set the containing derived type
  2081. symbol for loading. Remove unused argument.
  2082. (mio_ref): Update caller
  2083. (mio_symbol): Dump component list earlier.
  2084. (skip_list): New argument nest_level. Initialize level with the new
  2085. argument.
  2086. (read_module): Add forced pointer components association for derived
  2087. type symbols.
  2088. 2014-01-12 Janus Weil <janus@gcc.gnu.org>
  2089. PR fortran/58026
  2090. * decl.c (gfc_match_data_decl): Improve error recovery.
  2091. 2014-01-09 Tobias Burnus <burnus@net-b.de>
  2092. * cpp.c (gfc_cpp_handle_option): Add missing break.
  2093. * trans-io.c (transfer_expr): Silence unused value warning.
  2094. 2014-01-08 Janus Weil <janus@gcc.gnu.org>
  2095. PR fortran/58182
  2096. * resolve.c (gfc_verify_binding_labels): Modify order of checks.
  2097. 2014-01-06 Janus Weil <janus@gcc.gnu.org>
  2098. PR fortran/59589
  2099. * class.c (comp_is_finalizable): New function to dermine if a given
  2100. component is finalizable.
  2101. (finalize_component, generate_finalization_wrapper): Use it.
  2102. 2014-01-06 Janus Weil <janus@gcc.gnu.org>
  2103. PR fortran/59023
  2104. PR fortran/59662
  2105. * resolve.c (resolve_global_procedure): Don't apply to c-binding
  2106. procedures.
  2107. (gfc_verify_binding_labels): Remove duplicate line.
  2108. 2014-01-04 Janus Weil <janus@gcc.gnu.org>
  2109. PR fortran/59547
  2110. * class.c (add_proc_comp): Copy pure attribute.
  2111. 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
  2112. Update copyright years
  2113. 2014-01-02 Tobias Burnus <burnus@net-b.de>
  2114. * gfortranspec.c (lang_specific_driver): Update copyright notice
  2115. dates.
  2116. * gfc-internals.texi: Bump @copying's copyright year.
  2117. * gfortran.texi: Ditto.
  2118. * intrinsic.texi: Ditto.
  2119. * invoke.texi: Ditto.
  2120. 2014-01-02 Janus Weil <janus@gcc.gnu.org>
  2121. PR fortran/59654
  2122. * resolve.c (resolve_typebound_procedures): No need to create the vtab
  2123. here.
  2124. Copyright (C) 2014 Free Software Foundation, Inc.
  2125. Copying and distribution of this file, with or without modification,
  2126. are permitted in any medium without royalty provided the copyright
  2127. notice and this notice are preserved.