12020-03-04 Release Manager 2 3 * GCC 8.4.0 released. 4 52019-11-25 Eric Botcazou <ebotcazou@adacore.com> 6 7 PR ada/92575 8 * expect.c (__gnat_expect_poll [VMS, HPUX]): Fix typo. 9 102019-10-12 Eric Botcazou <ebotcazou@adacore.com> 11 12 PR ada/91995 13 * sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls 14 to Defining_Entity. 15 * sem_elab.adb (Find_Unit_Entity): Likewise. Deal with N_Subunit 16 here in lieu of in Defining_Entity. 17 * sem_spark.adb (Check_Callable_Body): Likewise. 18 (Check_Package_Body): Likewise. 19 * sem_util.ads (Defining_Entity): Remove 2nd and 3th parameters. 20 * sem_util.adb (Defining_Entity): Remove 2nd and 3th parameters, 21 and adjust accordingly. Deal with N_Compilation_Unit. 22 232019-10-11 Eric Botcazou <ebotcazou@adacore.com> 24 25 * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Really test the 26 sign of the value when deciding to build a NEGATE_EXPR. 27 <PLUS_EXPR>: Remove redundant line. 28 <BIT_AND_EXPR>: Do the negation here. 29 302019-09-23 Eric Botcazou <ebotcazou@adacore.com> 31 32 * gcc-interface/trans.c (Attribute_to_gnu): Test Can_Use_Internal_Rep 33 on the underlying type of the node. 34 (Call_to_gnu): Likewise with the type of the prefix. 35 362019-09-01 Iain Sandoe <iain@sandoe.co.uk> 37 38 Backport from mainline. 39 2019-07-02 Iain Sandoe <iain@sandoe.co.uk> 40 41 * libgnat/system-darwin-ppc.ads: Set Stack_Check_Probes True for 42 PPC Darwin. 43 442019-08-05 Iain Sandoe <iain@sandoe.co.uk> 45 46 Backport from mainline. 47 2019-06-30 Iain Sandoe <iain@sandoe.co.uk> 48 49 * gnatlink.adb (Link_Step): Push -shared-libgcc explicitly, when it 50 is the target default (unless overidden by the static flag). 51 When the user has put an instance of shared/static-libgcc do not push 52 a duplicate of this. 53 542019-06-29 Eric Botcazou <ebotcazou@adacore.com> 55 56 * gcc-interface/decl.c (gnat_to_gnu_entity): Beep up comment on SAVED, 57 and tweak comment on the assertion about the scopes of Itypes. Do not 58 skip the regular processing for Itypes that are E_Record_Subtype with 59 a Cloned_Subtype. Get the Cloned_Subtype for every E_Record_Subtype 60 if the type is dummy and hasn't got its own freeze node. 61 <E_Record_Subtype>: Save again the DECL of the Cloned_Subtype, if any. 62 <E_Access_Subtype>: Save again the DECL of the equivalent type. 63 (Gigi_Equivalent_Type) <E_Access_Subtype>: New case. 64 652019-06-29 Eric Botcazou <ebotcazou@adacore.com> 66 67 * gcc-interface/trans.c (mark_visited_r): Set TYPE_SIZES_GIMPLIFIED on 68 the main variant of a type, if any. 69 702019-06-29 Eric Botcazou <ebotcazou@adacore.com> 71 72 * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add 73 missing guard for the presence of TYPE_CANONICAL. 74 (set_reverse_storage_order_on_array_type): Likewise. 75 762019-06-17 Arnaud Charlet <charlet@adacore.com> 77 78 PR ada/80590 79 * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two 80 conditions to avoid a unnecessary exception propagation in the default 81 case. 82 832019-05-28 Eric Botcazou <ebotcazou@adacore.com> 84 85 * gcc-interface/trans.c (walk_nesting_tree): New static function. 86 (finalize_nrv): Use it to walk the entire nesting tree. 87 882019-05-27 Eric Botcazou <ebotcazou@adacore.com> 89 90 * gcc-interface/utils.c (maybe_pad_type): Issue the warning for the 91 specific case of component types preferably. 92 932019-05-27 Eric Botcazou <ebotcazou@adacore.com> 94 95 * gcc-interface/trans.c (Call_to_gnu): Use the unpadded type when 96 putting back an intermediate conversion the type of the actuals. 97 982019-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 99 100 * gcc-interface/Makefile.in (install-gcc-specs): Use foreach. 101 Honor DESTDIR. 102 1032019-02-23 Eric Botcazou <ebotcazou@adacore.com> 104 105 PR ada/89349 106 Backport from mainline 107 2018-05-25 Arnaud Charlet <charlet@adacore.com> 108 109 * osint.ads (Unknown_Attributes): No longer pretend this is a constant. 110 (No_File_Info_Cache): Initialize separately. 111 * osint.adb (No_File_Info_Cache): Update initializer. 112 1132019-02-22 Release Manager 114 115 * GCC 8.3.0 released. 116 1172019-02-08 Eric Botcazou <ebotcazou@adacore.com> 118 119 * gcc-interface/utils.c (max_size) <tcc_unary>: Be prepared for an 120 operand with VOID_TYPE. 121 1222019-02-08 Eric Botcazou <ebotcazou@adacore.com> 123 124 * gcc-interface/trans.c (Loop_Statement_to_gnu): Replace tests on 125 individual flag_unswitch_loops and flag_tree_loop_vectorize switches 126 with test on global optimize switch. 127 (Raise_Error_to_gnu): Likewise. 128 1292019-02-07 Eric Botcazou <ebotcazou@adacore.com> 130 131 * libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value. 132 1332019-01-27 Eric Botcazou <ebotcazou@adacore.com> 134 135 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return 136 the same value for every dimension of a multidimensional array type. 137 1382019-01-26 Eric Botcazou <ebotcazou@adacore.com> 139 140 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use 141 DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned 142 by a call to memset if the LHS is a DECL. 143 1442019-01-26 Eric Botcazou <ebotcazou@adacore.com> 145 146 * gcc-interface/trans.c (struct loop_info_d): Remove artificial field. 147 (Loop_Statement_to_gnu): Do not set it. 148 1492019-01-26 Eric Botcazou <ebotcazou@adacore.com> 150 151 * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on 152 the sign bit instead of on the sign of the value. 153 <PLUS_EXPR>: Turn addition of negative constant into subtraction. 154 <MULT_EXPR>: Add test for degenerate case. 155 <BIT_AND_EXPR>: Simplify. 156 1572018-12-23 Iain Sandoe <iain@sandoe.co.uk> 158 159 * adaint.c [__APPLE__] (__gnat_lwp_self): Ensure that the system 160 interface used is available on the target. 161 1622018-11-15 Eric Botcazou <ebotcazou@adacore.com> 163 164 * gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the switch 165 -fnon-call-exceptions passed on the command line in -gnatp mode. 166 1672018-11-13 Eric Botcazou <ebotcazou@adacore.com> 168 169 * gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions 170 for the runtime on platforms where System.Machine_Overflow is true. 171 1722018-11-08 Eric Botcazou <ebotcazou@adacore.com> 173 174 * fe.h (Suppress_Checks): Declare. 175 * gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions 176 only if checks are not suppressed and -faggressive-loop-optimizations 177 only if they are. 178 * gcc-interface/trans.c (struct loop_info_d): Remove has_checks and 179 warned_aggressive_loop_optimizations fields. 180 (gigi): Do not clear warn_aggressive_loop_optimizations here. 181 (Raise_Error_to_gnu): Do not set has_checks. 182 (gnat_to_gnu) <N_Indexed_Component>: Remove support for aggressive 183 loop optimizations. 184 1852018-10-22 Eric Botcazou <ebotcazou@adacore.com> 186 187 * gcc-interface/utils.c (unchecked_convert): Use local variables for 188 the biased and reverse SSO attributes of both types. 189 Further extend the processing of integral types in the presence of 190 reverse SSO to all scalar types. 191 1922018-10-22 Eric Botcazou <ebotcazou@adacore.com> 193 194 * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Inspection_Point>: Use 195 a simple memory constraint in all cases. 196 1972018-09-13 Eric Botcazou <ebotcazou@adacore.com> 198 199 Backport from mainline 200 2018-07-31 Eric Botcazou <ebotcazou@adacore.com> 201 202 * libgnarl/s-osinte__solaris.ads (upad64_t): New private type. 203 (mutex_t): Use it for 'lock' and 'data' components. 204 (cond_t): Likewise for 'data' and use single 'flags' component. 205 2062018-07-26 Release Manager 207 208 * GCC 8.2.0 released. 209 2102018-07-17 Eric Botcazou <ebotcazou@adacore.com> 211 212 * gcc-interface/decl.c (choices_to_gnu): Rename parameters. Deal with 213 an operand of Character type. Factor out range generation to the end. 214 Check that the bounds are literals and convert them to the type of the 215 operand before building the ranges. 216 * gcc-interface/utils.c (make_dummy_type): Minor tweak. 217 (make_packable_type): Propagate TYPE_DEBUG_TYPE. 218 (maybe_pad_type): Likewise. 219 2202018-07-17 Eric Botcazou <ebotcazou@adacore.com> 221 222 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with 223 more rvalues in the expression of a renaming. 224 2252018-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> 226 227 * libgnat/system-rtems.ads (Frontend_Exceptions): Set to False. 228 (ZCX_By_Default): Set to True. 229 2302018-06-12 Eric Botcazou <ebotcazou@adacore.com> 231 232 * gcc-interface/ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from 233 using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0. 234 (TYPE_ALIGN_OK): Move around. 235 (TYPE_PADDING_FOR_COMPONENT): Remove superfluous parentheses. 236 * gcc-interface/decl.c (change_qualified_type): Move to... 237 (gnat_to_gnu_entity): Adjust comment. 238 * gcc-interface/gigi.h (change_qualified_type): ...here; make inline. 239 (ceil_pow2): Use ceil_log2. 240 * gcc-interface/utils.c (finish_subprog_decl): Add couple of comments 241 and do not set TREE_SIDE_EFFECTS. 242 (handle_noreturn_attribute): Use change_qualified_type. 243 2442018-06-12 Eric Botcazou <ebotcazou@adacore.com> 245 246 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Do not get 247 the expression of a dispatch table that is not being defined. 248 <E_Record_Subtype>: Remove obsolete kludge. 249 2502018-06-12 Eric Botcazou <ebotcazou@adacore.com> 251 252 * gcc-interface/decl.c (warn_on_field_placement): Use specific wording 253 for discriminants. 254 (warn_on_list_placement): New static function. 255 (components_to_record): Use it to warn on multiple fields in list. 256 2572018-06-12 Eric Botcazou <ebotcazou@adacore.com> 258 259 Backport from mainline 260 2018-06-11 Eric Botcazou <ebotcazou@adacore.com> 261 262 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Reuse the 263 existing fields of a dummy fat pointer type, if any. Clear the 264 TYPE_DECL_SUPPRESS_DEBUG on the fat pointer type after completing it. 265 2662018-06-02 Eric Botcazou <ebotcazou@adacore.com> 267 268 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: If this is 269 not a definition, retrieve the expression only if it's a compile-time 270 known value if we are just annotating types. 271 272 * gcc-interface/utils.c (convert): Do not try to upcast properly for a 273 conversion between tagged types in type_annotate_only mode. 274 2752018-06-02 Eric Botcazou <ebotcazou@adacore.com> 276 277 Backport from mainline 278 2018-05-31 Eric Botcazou <ebotcazou@adacore.com> 279 280 * gcc-interface/trans.c (Call_to_gnu): In the by-reference case, if 281 the type of the parameter is an unconstrained array type, convert 282 to the type of the actual before the type of the formal only if the 283 conversion was suppressed earlier. Use in_param and gnu_actual_type 284 local variables throughout, and uniform spelling for In Out or Out. 285 Also remove dead code in the component-by-reference case. 286 2872018-06-02 Eric Botcazou <ebotcazou@adacore.com> 288 289 * gcc-interface/ada-tree.h (TYPE_PADDING_FOR_COMPONENT): New macro. 290 * gcc-interface/decl.c (gnat_to_gnu_component_type): Cache the padding 291 type built for an aliased component with variable size. 292 2932018-06-02 Eric Botcazou <ebotcazou@adacore.com> 294 295 Backport from mainline 296 2018-05-31 Eric Botcazou <ebotcazou@adacore.com> 297 298 * gcc-interface/trans.c (Call_to_gnu): If this is a function call and 299 there is no target, also create a temporary for the return value for 300 an allocator if the type is an unconstrained record type with default 301 discriminant. 302 3032018-05-04 John Marino <gnugcc@marino.st> 304 305 PR ada/85635 306 * link.c (BSD platforms): Add missing backslash. 307 3082018-05-04 Eric Botcazou <ebotcazou@adacore.com> 309 310 PR ada/85540 311 * init.c (__gnat_handle_vms_condition): Add missing parentheses. 312 3132018-05-02 Release Manager 314 315 * GCC 8.1.0 released. 316 3172018-04-25 Eric Botcazou <ebotcazou@adacore.com> 318 319 PR ada/85007 320 * gnat_ugn.texi: Regenerate. 321 3222018-03-23 Eric Botcazou <ebotcazou@adacore.com> 323 324 PR ada/85007 325 * gnatlink.adb (Gnatlink): Remove handling of -b switch. 326 * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink): 327 Remove documentation of -b switch. 328 3292018-03-23 Eric Botcazou <ebotcazou@adacore.com> 330 331 PR ada/85036 332 * gnatlink.adb (Process_Args): Drop existing link switches if multiple 333 switches are passed for --LINK. 334 3352018-03-12 Eric Botcazou <ebotcazou@adacore.com> 336 337 PR ada/82813 338 * gcc-interface/misc.c (gnat_post_options): Disable string overflow 339 warnings. 340 3412018-03-10 Eric Botcazou <ebotcazou@adacore.com> 342 343 * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>: 344 Consider only entities for objects. 345 3462018-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de> 347 348 * gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant 349 $(GNATLIBCFLAGS). 350 (OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C). 351 3522018-03-06 Eric Botcazou <ebotcazou@adacore.com> 353 354 * gcc-interface/trans.c (convert_with_check): Fix typo in the condition 355 guarding the overflow check emitted for the upper bound of a floating- 356 point conversion. 357 3582018-03-06 Eric Botcazou <ebotcazou@adacore.com> 359 360 * gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node. 361 3622018-02-28 Eric Botcazou <ebotcazou@adacore.com> 363 364 * libgnat/i-cexten.ads (Float_128): New type. 365 3662018-02-02 Eric Botcazou <ebotcazou@adacore.com> 367 368 * gcc-interface/decl.c (array_type_has_nonaliased_component): Return 369 false if the component type is a pointer. 370 3712018-01-11 Gary Dismukes <dismukes@adacore.com> 372 373 * exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the 374 result of Get_Simple_Init_Value and pass the source location of the 375 object declaration's object_definition. 376 3772018-01-11 Ed Schonberg <schonberg@adacore.com> 378 379 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle 380 properly object declarations with initializations that are 381 build-in-place function calls, when there is an address specification, 382 either as an aspect specification or an explicit attribute 383 specification clause, for the initialized object. 384 * freeze.adb (Check_Address_Clause): Do not remove side-effects from 385 initial expressions in the case of a build-in-place call. 386 3872018-01-11 Piotr Trojanek <trojanek@adacore.com> 388 389 * sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a 390 private (sub)type; refactor to avoid early return statement. 391 (Not_Null_Range): Same as above. 392 3932018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 394 395 * freeze.adb (Freeze_Entity): Ensure that a Ghost type is not 396 concurrent, nor effectively volatile. 397 * ghost.adb (Check_Ghost_Type): New routine. 398 * ghost.ads (Check_Ghost_Type): New routine. 399 * sem_util.adb (Is_Declaration): Reimplemented. The routine can now 400 consider specific subsets of declarations. 401 (Is_Declaration_Other_Than_Renaming): Removed. Its functionality is 402 replicated by Is_Declaration. 403 * sem_util.ads (Is_Declaration): New parameter profile. Update the 404 comment on usage. 405 (Is_Declaration_Other_Than_Renaming): Removed. 406 4072018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 408 409 * sem_ch5.adb (Analyze_Assignment): Assignments to variables that act 410 as Part_Of consituents of single protected types are illegal when they 411 take place inside a protected function. 412 (Diagnose_Non_Variable_Lhs): Use Within_Function to check for an 413 enclosing function. 414 (Is_Protected_Part_Of_Constituent): New routine. 415 (Within_Function): New routine. 416 4172018-01-11 Arnaud Charlet <charlet@adacore.com> 418 419 Bump copyright notices to 2018. 420 4212018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 422 423 * binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb: 424 Minor reformatting. 425 4262018-01-11 Justin Squirek <squirek@adacore.com> 427 428 * par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check 429 to make sure a given expression function is properly parenthesized. 430 4312018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 432 433 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the 434 categorization of a subprogram body which does not complete a previous 435 declaration. 436 4372018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 438 439 * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing 440 scope of package Ada is Standard. 441 4422018-01-11 Ed Schonberg <schonberg@adacore.com> 443 444 * sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a 445 subcomponent of the current entity when building the body for a dynamic 446 predicate function for a record with composite subcomponents. 447 4482018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 449 450 * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to 451 Establish_Transient_Scope. 452 (Convert_To_Assignments): Update the call to Establish_Transient_Scope. 453 (Expand_Array_Aggregate): Update the call to Establish_Transient_Scope. 454 * exp_ch6.adb (Expand_Call_Helper): Update the call to 455 Establish_Transient_Scope. 456 (Make_Build_In_Place_Call_In_Object_Declaration): Update the call to 457 Establish_Transient_Scope. 458 * exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the 459 management of the secondary stack to an enclosing scope if there is no 460 suitable construct to wrap, and the transient scope was intended to 461 manage the secondary stack. 462 (Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative 463 is a valid boundary for a transient expression which comes from the 464 statements of the alternative, otherwise alternatives cannot be 465 wrapped. Assignments of controlled objects which have controlled 466 actions suppressed now stop the traversal as there is no point in 467 looking for an enclosing construct. Add several N_xxx_Body choices to 468 the termination conditions for completeness. 469 * exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile 470 and the associated comment on usage. 471 * exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to 472 Establish_Transient_Scope. 473 (Add_Write_After): Update the call to Establish_Transient_Scope. 474 * sem_res.adb (Check_Initialization_Call): Removed. 475 (Resolve_Actuals): Account for additional cases where finalization 476 actions are required by utilizing predicate Needs_Finalization rather 477 than Is_Controlled. 478 (Resolve_Call): Type initialization procedures can now utilize 479 transient scopes to manage the secondary stack, thus preventing leaks 480 during initialization. Remove the previous kludgy algorithm which 481 attempts to manage the secondary stack at the object creation site. 482 4832018-01-11 Jerome Lambourg <lambourg@adacore.com> 484 485 * libgnat/g-soliop__qnx.ads: New. 486 * adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update 487 for QNX. 488 4892018-01-11 Bob Duff <duff@adacore.com> 490 491 * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if 492 a null procedure occurs in a protected definition. 493 4942018-01-11 Bob Duff <duff@adacore.com> 495 496 * binderr.ads, namet.ads: Minor reformatting. 497 4982018-01-11 Bob Duff <duff@adacore.com> 499 500 * doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of 501 xml2gnat. 502 5032018-01-11 Bob Duff <duff@adacore.com> 504 505 * binde.adb (Force_Elab_Order): Give an error if there are duplicate 506 unit names. 507 5082018-01-11 Ed Schonberg <schonberg@adacore.com> 509 510 * sem_ch6.adb (Freeze_Expr_Types): If an access value is the 511 controlling argument of a dispatching call. freeze the corresponding 512 designated type. 513 5142018-01-11 Ben Brosgol <brosgol@adacore.com> 515 516 * doc/Makefile: Add Sphinx option -W to treat warnings as errors. 517 5182018-01-11 Ben Brosgol <brosgol@adacore.com> 519 520 * doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording 521 corrections. 522 * gnat_rm.texi: Regenerate. 523 5242018-01-11 Ed Schonberg <schonberg@adacore.com> 525 526 * sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the 527 formsl type corresponding to the actual fixed point type is private, 528 because in this case there can be no suspicious arithmetic operations 529 in the generic unless they reference a formal subprogram. Clarify 530 warning. 531 5322018-01-11 Javier Miranda <miranda@adacore.com> 533 534 * exp_util.adb (Remove_Side_Effects): No action done for functions 535 returning class-wide types since it requires generating code using 536 'reference and the CCG target has no secondary stack. 537 * gnat1drv.adb: Disable building static dispatch tables when generating 538 C code. 539 5402018-01-11 Piotr Trojanek <trojanek@adacore.com> 541 542 * libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads, 543 libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads 544 (File_Type): Add Default_Initial_Condition aspect. 545 5462018-01-11 Pascal Obry <obry@adacore.com> 547 548 * libgnat/s-os_lib.adb (Normalize_Pathname): New implementation. 549 5502018-01-11 Bob Duff <duff@adacore.com> 551 552 * doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation 553 to match what the Libadalang-based version does. 554 * doc/gnat_ugn/about_this_guide.rst: Update reference. 555 5562018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 557 558 * sem_res.adb (Uses_SS): A controlled type requires the secondary stack 559 if it contains at least one component declaration employing a function 560 call returning on the secondary stack. 561 5622018-01-11 Yannick Moy <moy@adacore.com> 563 564 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: 565 Update description of restriction SPARK_05 with SPARK 2014. 566 * gnat_rm.texi: Regenerate. 567 5682018-01-11 Vasiliy Fofanov <fofanov@adacore.com> 569 570 * doc/gnat_ugn/gnat_utility_programs.rst: Fix layout. 571 5722018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 573 574 * exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb, 575 sem_res.adb, sem_util.adb: Minor reformatting. 576 5772018-01-11 Ed Schonberg <schonberg@adacore.com> 578 579 * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type 580 has a delayed aspect which must be processed at the point the type is 581 frozen. This mimics what is done when the predicate is provided by a 582 source aspect. 583 5842018-01-11 Doug Rupp <rupp@adacore.com> 585 586 * init.c (vxworks): Add macro checks for __aarch64__. 587 5882018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 589 590 * exp_util.adb (Add_Failure_Expression): New routine. 591 (Make_Predicate_Check): Reimplement the handling of Predicate_Failure. 592 * sem_util.adb (Is_Current_Instance): Code cleanup. 593 5942018-01-11 Patrick Bernardi <bernardi@adacore.com> 595 596 * libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded 597 Default_Sec_Stack_Size. 598 * libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack 599 limit check so that the integer index does not overflow. Check the 600 dynamic stack allocation does not cause the secondary stack pointer to 601 overflow. 602 (SS_Info): Align colons. 603 (SS_Init): Cover the case when bootstraping with an old compiler that 604 does not set Default_SS_Size. 605 6062018-01-11 Ed Schonberg <schonberg@adacore.com> 607 608 * sem_ch3.adb (Add_Internal_Interface_Entities): When checking the 609 legality of an inherited operation that may require overriding, ignore 610 primitive_wrappers that correspond to explicit operations that override 611 an interface primitive. 612 * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the 613 operation to which the class-wide expression applies is a protected op. 614 with a primitive_wrapper, verify that the updated inherited expression 615 does not contain an internal call to a protected function. This 616 completes the implementation of AI12-0166. 617 6182018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 619 620 * ali.adb: Document the remaining letters available for ALI lines. 621 (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line. 622 * ali.ads: Update type With_Record. Field 623 Implicit_With_From_Instantiation is no longer in use. Add field 624 Implicit_With. 625 * csinfo.adb (CSinfo): Remove the setup for attribute 626 Implicit_With_From_Instantiation. 627 * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as 628 either implicitly or explicitly withed. 629 (Is_Implicit_With_Clause): New routine. 630 (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid 631 confusion with the with clause attribute by the same name. 632 (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers. 633 * rtsfind.adb (Maybe_Add_With): Code cleanup. 634 * sem_ch8.adb (Present_System_Aux): Code cleanup. 635 * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated 636 for a parent unit. 637 (Implicit_With_On_Parent): Mark the with clause as generated for a 638 parent unit. 639 * sem_ch12.adb (Inherit_Context): With clauses inherited by an 640 instantiation are no longer marked as Implicit_With_From_Instantiation 641 because they are already marked as implicit. 642 * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge 643 which marks implicit with clauses as related to an instantiation. 644 * sinfo.adb (Implicit_With_From_Instantiation): Removed. 645 (Parent_With): New routine. 646 (Set_Implicit_With_From_Instantiation): Removed. 647 (Set_Parent_With): New routine. 648 * sinfo.ads: Update the documentation of attribute Implicit_With. 649 Remove attribute Implicit_With_From_Instantiation along with 650 occurrences in nodes. Add attribute Parent_With along with occurrences 651 in nodes. 652 (Implicit_With_From_Instantiation): Removed along with pragma Inline. 653 (Parent_With): New routine along with pragma Inline. 654 (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline. 655 (Set_Parent_With): New routine along with pragma Inline. 656 6572018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 658 659 * sem_util.adb (Find_Enclosing_Scope): Return the unique defining 660 entity when the enclosing construct is a body. 661 6622018-01-11 Patrick Bernardi <bernardi@adacore.com> 663 664 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified 665 Secondary_Stack_Size handling as a pragma is now generated for the 666 corresponding aspect instead of an attribute. Pragma expression is 667 relocated instead of evaluated. Discriminant of the corresponding 668 record type is referenced rather than the type discriminant. 669 (Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update 670 Secondary_Stack_Size rep item checks to only look for the pragma rep. 671 * sem_ch13.adb (Analyze_One_Aspect): Transform 672 Aspect_Secondary_Stack_Size into a pragma instead of an attribute 673 because the attribute does not have visibility on a task type's 674 discriminants when the type's definition is expanded. 675 (Analyze_Attribute_Definition_Clause): Remove handling of 676 Attribute_Secondary_Stack_Size. 677 * snames.adb-tmpl, snames.ads-tmpl: Remove 678 Attribute_Secondary_Stack_Size, no longer used. 679 6802018-01-11 Justin Squirek <squirek@adacore.com> 681 682 * sem_ch8.adb: Minor comment fix. 683 6842018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 685 686 * exp_ch4.adb (Process_Action): Do not abandon the inspection of an 687 individual action because the action may denote a complex expression, 688 such as a case statement, which in turn may contain additional 689 transient objects. 690 6912018-01-11 Ed Schonberg <schonberg@adacore.com> 692 693 * sem_aggr.adb (Resolve_Iterated_Component_Association): Perform 694 analysis on a copy of the expression with a copy of the index variable, 695 because full expansion will rewrite construct into a loop with the 696 original loop variable. 697 * exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the 698 expression is an iterated component association. Full analysis takes 699 place when construct is rewritten as a loop. 700 (In_Place_Assign_OK, Safe_Component): An iterated_component_association 701 is not safe for in-place assignment. 702 * sem_util.adb (Remove_Entity): Handle properly the case of an isolated 703 entity with no homonym and no other entity in the scope. 704 7052018-01-11 Justin Squirek <squirek@adacore.com> 706 707 * sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error 708 message to be printed on the pragma argument identifier. 709 7102018-01-11 Hristian Kirtchev <kirtchev@adacore.com> 711 712 * exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last 713 entity of the generated invariant procedure in order to construct a 714 proper entity chain. 715 7162018-01-11 Piotr Trojanek <trojanek@adacore.com> 717 718 * sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in 719 comment. 720 7212018-01-11 Arnaud Charlet <charlet@adacore.com> 722 723 * einfo.ads, einfo.adb (Activation_Record_Component, 724 Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity): 725 Allow E_Discriminant. 726 7272018-01-10 Eric Botcazou <ebotcazou@adacore.com> 728 729 * gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check 730 for atomic access once the component size is taken into account and 731 also do it if the component type is Atomic or Volatile_Full_Access. 732 7332018-01-04 Eric Botcazou <ebotcazou@adacore.com> 734 735 * gnatvsn.ads: Bump copyright year. 736 7372018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 738 Alan Hayward <alan.hayward@arm.com> 739 David Sherwood <david.sherwood@arm.com> 740 741 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE 742 as polynomial. 743 7442018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 745 Alan Hayward <alan.hayward@arm.com> 746 David Sherwood <david.sherwood@arm.com> 747 748 * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION 749 as polynomial. 750 7512018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 752 Alan Hayward <alan.hayward@arm.com> 753 David Sherwood <david.sherwood@arm.com> 754 755 * gcc-interface/utils.c (gnat_types_compatible_p): Handle 756 polynomial TYPE_VECTOR_SUBPARTS. 757 7582018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 759 Alan Hayward <alan.hayward@arm.com> 760 David Sherwood <david.sherwood@arm.com> 761 762 * gcc-interface/misc.c (enumerate_modes): Handle polynomial 763 GET_MODE_NUNITS. 764 7652018-01-03 Jakub Jelinek <jakub@redhat.com> 766 767 Update copyright years. 768 769 * gnat_ugn.texi: Bump @copying's copyright year. 770 * gnat_rm.texi: Likewise. 771 772Copyright (C) 2018 Free Software Foundation, Inc. 773 774Copying and distribution of this file, with or without modification, 775are permitted in any medium without royalty provided the copyright 776notice and this notice are preserved. 777