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