12015-06-23 Release Manager 2 3 * GCC 4.8.5 released. 4 52015-03-16 Eric Botcazou <ebotcazou@adacore.com> 6 7 * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type 8 of the expression ends up being composite. 9 102014-12-19 Release Manager 11 12 * GCC 4.8.4 released. 13 142014-11-22 Eric Botcazou <ebotcazou@adacore.com> 15 16 Backport from mainline 17 2014-11-20 Vincent Celier <celier@adacore.com> 18 19 PR ada/47500 20 * back_end.adb (Scan_Back_End_Switches): Skip switch -G and 21 its argument. 22 232014-10-13 Eric Botcazou <ebotcazou@adacore.com> 24 Alan Modra <amodra@gmail.com> 25 26 PR ada/63225 27 * uintp.adb (Vector_To_Uint): Move from here to... 28 * uintp.ads (UI_Vector): Make public. 29 (Vector_To_Uint): ...here. 30 312014-08-12 Joel Sherrill <joel.sherrill@oarcorp.com> 32 33 * socket.c: For RTEMS, use correct prototype of gethostbyname_r(). 34 * gsocket.h Add include of <unistd.h> on RTEMS. 35 362014-08-11 Joel Sherrill <joel.sherrill@oarcorp.com> 37 38 * s-osinte-rtems.adb: Correct formatting of line in license block. 39 402014-05-22 Release Manager 41 42 * GCC 4.8.3 released. 43 442014-03-30 Eric Botcazou <ebotcazou@adacore.com> 45 46 PR ada/60703 47 * system-linux-alpha.ads: Adjust for Ada 2005. 48 * system-linux-mips.ads: Likewise. 49 * system-linux-mips64el.ads: Likewise. 50 * system-linux-mipsel.ads: Likewise. 51 * system-linux-s390.ads: Likewise. 52 * system-linux-s390x.ads: Likewise. 53 * system-linux-sparc.ads: Likewise. 54 * system-linux-sparcv9.ads: Likewise. 55 * system-rtems.ads: Likewise. 56 * system-vxworks-arm.ads: Likewise. 57 582014-03-13 Eric Botcazou <ebotcazou@adacore.com> 59 60 PR ada/51483 61 * back_end.ads (Register_Type_Proc): Add 'precision' parameter. 62 * cstand.adb (Register_Float_Type): Add 'precision' parameter and use 63 it to set the RM size. Use directly 'size' for the Esize. 64 * gcc-interface/gigi.h (enumerate_modes): Add integer parameter. 65 * gcc-interface/misc.c (enumerate_modes): Likewise. Do not register 66 types for vector modes, pass the size in addition to the precision. 67 682014-01-12 Eric Botcazou <ebotcazou@adacore.com> 69 70 PR ada/59772 71 * gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type 72 as intermediate type. 73 (UI_To_gnu): Likewise. 74 752013-12-12 Eric Botcazou <ebotcazou@adacore.com> 76 Iain Sandoe <iain@codesourcery.com> 77 78 PR ada/55946 79 * gcc-interface/Make-lang.in (ada/doctools/xgnatugn): Use gnatmake. 80 * gcc-interface/Makefile.in (GCC_LINK): Add LDFLAGS. 81 (../../gnatmake): Remove LDFLAGS. 82 (../../gnatlink): Likewise. 83 842013-12-04 Eric Botcazou <ebotcazou@adacore.com> 85 86 PR ada/59382 87 * indepsw-darwin.adb: New file. 88 892013-10-19 Eric Botcazou <ebotcazou@adacore.com> 90 91 * gcc-interface/utils.c (scale_by_factor_of): New function. 92 (rest_of_record_type_compilation): Use scale_by_factor_of in order to 93 scale the original offset for both rounding cases; in the second case, 94 take into accout the addend to compute the alignment. Tidy up. 95 962013-10-19 Eric Botcazou <ebotcazou@adacore.com> 97 98 * gcc-interface/utils.c (gnat_set_type_context): New function. 99 (gnat_pushdecl): Use it to set the context of the type. 100 1012013-10-16 Release Manager 102 103 * GCC 4.8.2 released. 104 1052013-10-13 Eric Botcazou <ebotcazou@adacore.com> 106 107 * gcc-interface/decl.c (gnat_to_gnu_param): Remove obsolete comment. 108 1092013-09-18 Eric Botcazou <ebotcazou@adacore.com> 110 111 PR ada/58264 112 * gcc-interface/trans.c (Attribute_to_gnu): Define GNAT_PREFIX local 113 variable and use it throughout. 114 <Attr_Length>: Note whether the prefix is the dereference of a pointer 115 to unconstrained array and, in this case, capture the result for both 116 Attr_First and Attr_Last. 117 1182013-09-18 Eric Botcazou <ebotcazou@adacore.com> 119 120 * gcc-interface/trans.c (gigi): Remove dead code. 121 1222013-09-18 Eric Botcazou <ebotcazou@adacore.com> 123 124 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of 125 return variables for subprograms using the CICO mechanism. 126 1272013-08-13 Eric Botcazou <ebotcazou@adacore.com> 128 129 * gcc-interface/trans.c (can_equal_min_or_max_val_p): Be prepared for 130 values outside of the range of the type. 131 1322013-06-13 Eric Botcazou <ebotcazou@adacore.com> 133 134 * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): Delete. 135 * gcc-interface/gigi.h (annotate_object): Adjust prototype. 136 (convert_vms_descriptor): Likewise. 137 * gcc-interface/decl.c (gnat_to_gnu_param): Do not pass fat pointer 138 types by double dereference. 139 (annotate_object): Remove BY_DOUBLE_REF parameter and adjust. 140 (gnat_to_gnu_entity): Adjust calls to annotate_object. 141 * gcc-interface/trans.c (Identifier_to_gnu): Do not deal with double 142 dereference. 143 (Call_to_gnu): Likewise. 144 (build_function_stub): Adjust call to convert_vms_descriptor. 145 (Subprogram_Body_to_gnu): Adjust call to annotate_object. 146 * gcc-interface/utils.c (convert_vms_descriptor): Remove BY_REF 147 parameter and adjust. 148 1492013-05-31 Release Manager 150 151 * GCC 4.8.1 released. 152 1532013-05-26 Eric Botcazou <ebotcazou@adacore.com> 154 155 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Last_Bit>: Add kludge 156 to avoid generating an overflow for -1. 157 1582013-05-07 Eric Botcazou <ebotcazou@adacore.com> 159 160 PR ada/56474 161 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use 162 int_const_binop to shift bounds by 1 when they are integer constants. 163 1642013-04-23 Kai Tietz <ktietz@redhat.com> 165 166 PR target/55445 167 * raise-gcc.c (__SEH__): Additional check that SjLj isn't active. 168 1692013-03-22 Release Manager 170 171 * GCC 4.8.0 released. 172 1732013-03-08 Cesar Strauss <cestrauss@gmail.com> 174 175 PR ada/52123 176 * seh_init.c (Raise_From_Signal_Handler): Declare as no-return. 177 (__gnat_SEH_error_handler): Likewise. Remove final return. 178 1792013-03-06 Eric Botcazou <ebotcazou@adacore.com> 180 181 * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring 182 out for an unimplemented attribute. 183 1842013-03-06 Eric Botcazou <ebotcazou@adacore.com> 185 186 * gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around 187 a misaligned integral type if a size is specified for the field. 188 1892013-03-06 Eric Botcazou <ebotcazou@adacore.com> 190 191 * gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>: 192 Record the unpadded type of the index type on the RCI stack. 193 1942013-03-06 Eric Botcazou <ebotcazou@adacore.com> 195 196 * gcc-interface/trans.c (emit_range_check): Assert that the range type 197 is a numerical type and remove useless local variables. 198 1992013-02-25 Eric Botcazou <ebotcazou@adacore.com> 200 201 * gcc-interface/ada-tree.h: Back out change accidentally committed. 202 2032013-02-21 Jakub Jelinek <jakub@redhat.com> 204 205 PR bootstrap/56258 206 * gnat-style.texi (@title): Remove @hfill. 207 * projects.texi: Avoid line wrapping inside of @pxref or @xref. 208 2092013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de> 210 211 PR target/52123 212 * tracebak.c: Cast from pointer via FARPROC. 213 2142013-02-07 Simon Wright <simon@pushface.org> 215 216 PR target/50678 217 * init.c (__darwin_major_version): New function for x86-64/Darwin. 218 (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround 219 on Darwin 12 and above. 220 2212013-02-06 Rainer Emrich <rainer@emrich-ebersheim.de> 222 223 PR target/52123 224 * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via 225 SECURITY_DESCRIPTOR * 226 (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE 227 (__gnat_portable_spawn): Fix cast to char* const* 228 (add_handle): Cast from pointer via void ** 229 (add_handle): Cast from pointer via int * 230 (__gnat_locate_exec_on_path): Cast from pointer via TCHAR * 231 (__gnat_locate_exec_on_path): Cast from pointer via char * 232 * initialize.c (append_arg): Cast from pointer via LPWSTR 233 (__gnat_initialize): Cast from pointer via LPWSTR 234 * seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC 235 2362013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 237 238 * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations 239 target pairs on VxWorks 5 only. 240 2412013-02-06 Arnaud Charlet <charlet@adacore.com> 242 243 * gcc-interface/Make-lang.in: Update dependencies. 244 2452013-02-06 Vincent Celier <celier@adacore.com> 246 247 * prj-proc.adb (Process_Aggregated_Projects): Use a new project 248 node tree for each project tree rooted at an aggregated project. 249 2502013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 251 252 * sem_util.adb (Is_Interface_Conversion): New routine. 253 (Object_Access_Level): Detect an interface conversion 254 that has been rewritten into a different construct. Use the 255 original form of the conversion to find the access level of 256 the operand. 257 2582013-02-06 Eric Botcazou <ebotcazou@adacore.com> 259 260 * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201. 261 (Has_Pragma_No_Inline): Declare and mark as inline. 262 (Set_Has_Pragma_No_Inline): Likewise. 263 * einfo.adb (Has_Pragma_No_Inline): New function. 264 (Set_Has_Pragma_No_Inline): New procedure. 265 (Write_Entity_Flags): Handle Has_Pragma_No_Inline. 266 * snames.ads-tmpl (Name_No_Inline): New pragma-related name. 267 (Pragma_Id): Add Pragma_No_Inline value. 268 * par-prag.adb (Prag): Handle Pragma_Inline. 269 * sem_prag.adb (Inline_Status): New enumeration type. 270 (Process_Inline): Change Active parameter 271 to Inline_Status and add support for suppressed inlining. 272 (Analyze_Pragma) <Pragma_Inline>: Adjust to above change. 273 <Pragma_Inline_Always>: Likewise. 274 <Pragma_No_Inline>: Implement new pragma No_Inline. 275 (Sig_Flags): Add Pragma_No_Inline. 276 * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline. 277 * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline. 278 2792013-02-06 Pascal Obry <obry@adacore.com> 280 281 * s-osprim-mingw.adb (Clock): Make sure we copy all data locally 282 to avoid interleaved modifications that could happen from another 283 task calling Get_Base_Data. 284 (Get_Base_Data): Make it a critical section. Avoid updating if another 285 task has already done it. 286 2872013-02-06 Eric Botcazou <ebotcazou@adacore.com> 288 289 * sem_prag.adb: Minor reformatting. 290 2912013-02-06 Pascal Obry <obry@adacore.com> 292 293 * s-tasloc.ads: Set System.Task_Lock to preelaborate. 294 2952013-02-06 Eric Botcazou <ebotcazou@adacore.com> 296 297 * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll, 298 Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related 299 names. 300 (Pragma_Id): Add Pragma_Loop_Optimize value. 301 * par-prag.adb (Prag): Handle Pragma_Loop_Optimize. 302 * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to... 303 (Check_Loop_Pragma_Placement): ...this. 304 (Analyze_Pragma) 305 <Pragma_Loop_Invariant>: Adjust to above renaming. 306 <Loop_Variant>: Likewise. 307 <Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize. 308 (Sig_Flags): Add Pragma_Loop_Optimize. 309 * gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize. 310 * gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize. 311 3122013-02-06 Robert Dewar <dewar@adacore.com> 313 314 * osint.ads: Minor fix of typo. 315 3162013-02-06 Sergey Rybin <rybin@adacore.com frybin> 317 318 * gnat_ugn.texi: gnatmetric: update the documentation of 319 complexity metrics for Ada 2012. 320 3212013-02-06 Javier Miranda <miranda@adacore.com> 322 323 * exp_disp.adb (Make_Secondary_DT): Code cleanup: 324 remove useless initialization. 325 3262013-02-06 Ed Schonberg <schonberg@adacore.com> 327 328 * sem_ch3.adb (Build_Discriminant_Constraints): Do not 329 generate overflow checks on a discriminant expression if the 330 discriminant constraint is applied to a private type that has 331 a full view, because the check will be applied when the full 332 view is elaborated. Removing the redundant check is not just 333 an optimization, but it prevents spurious assembler errors, 334 because of the way the backend generates names for expressions 335 that require overflow checking. 336 3372013-02-06 Pascal Obry <obry@adacore.com> 338 339 * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker 340 limitation on Windows. 341 (DA): Removed. 342 (LIA): Removed. 343 (LLIA): Removed. 344 (TFA): Removed. 345 (BTA): Removed. 346 (BMTA): Removed. 347 (BCA): Removed. 348 (BMCA): Removed. 349 (BTiA): Removed. 350 (Clock): Use variable corresponding to access. 351 (Get_Base_Time): Likewise. 352 (Monotonic_Clock): Likewise. 353 3542013-02-06 Vincent Celier <celier@adacore.com> 355 356 * make.adb (Gnatmake): When gnatmake is called with a project 357 file, do not invoke gnatbind with -I-. 358 * makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get 359 the infos from all the sources. 360 3612013-02-06 Ed Schonberg <schonberg@adacore.com> 362 363 * snames.ads-tmpl: Add Name_Overriding_Renamings and pragma 364 Overriding_Renamings. 365 * par-prag.adb: Recognize pragma Overriding_Renamings. 366 * opt.ads (Overriding_Renamings): flag to control compatibility 367 mode with Rational compiler, replaces Rational_Profile flag. 368 * sem_ch8.adb (Analyze_Subprogram_Renaming): When 369 Overriding_Renamings is enabled, accept renaming declarations 370 where the new subprogram renames and overrides a locally inherited 371 operation. Improve error message for some illegal renamings. 372 * sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings. 373 (Set_Rational_Profile): The Rational_Profile enables 374 Overriding_Renamings, Implicit_Packing, and Use_Vads_Size. 375 3762013-02-06 Ed Schonberg <schonberg@adacore.com> 377 378 * sem_util.adb: Set parent of copied aggregate component, to 379 prevent infinite loop. 380 3812013-02-06 Robert Dewar <dewar@adacore.com> 382 383 * sem_ch3.adb, sem_ch10.adb: Minor reformatting. 384 * exp_disp.adb: Minor comment update. 385 * comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of 386 No_Return pragmas. 387 3882013-02-06 Thomas Quinot <quinot@adacore.com> 389 390 * targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target 391 parameter, defaulted to False for now, indicates targets where 392 non-default scalar storage order may be specified. 393 3942013-02-06 Thomas Quinot <quinot@adacore.com> 395 396 * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private 397 same as E_Record_Subtype. Display E_Class_Wide_Subtype as 398 subtype, not type. 399 4002013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 401 402 * sem_ch3.adb (Complete_Private_Subtype): Inherit the 403 Has_Unknown_Discriminants from the full view of the base type. 404 4052013-02-06 Tristan Gingold <gingold@adacore.com> 406 407 * raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h) 408 Enclosing debugging functions within #ifndef inhibit_libc to 409 support builds without full C headers. 410 4112013-02-06 Thomas Quinot <quinot@adacore.com> 412 413 * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order. 414 4152013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 416 417 * sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing 418 check to detect a parent-child relationship between two units in 419 order to correctly bypass the installation of a limited view. In 420 other words, the comment on the intended usage of the check was 421 correct, but the code itself did not reflect the behavior. 422 4232013-02-06 Javier Miranda <miranda@adacore.com> 424 425 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the 426 runtime check on assignment to tagged types if compiling with checks 427 suppressed. 428 4292013-02-06 Robert Dewar <dewar@adacore.com> 430 431 * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb, 432 s-os_lib.adb: Minor reformatting 433 4342013-02-06 Vincent Celier <celier@adacore.com> 435 436 * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS. 437 4382013-02-06 Ed Schonberg <schonberg@adacore.com> 439 440 * snames.ads-tmpl: Add Name_Rational and pragma Rational. 441 * par-prag.adb: Recognize pragma Rational. 442 * opt.ads (Rational_Profile): flag to control compatibility mode 443 with Rational compiler. 444 * sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile 445 is enable, accept renaming declarations where the new subprogram 446 and the renamed entity have the same name. 447 * sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize 448 Rational as a profile. 449 4502013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 451 452 * exp_ch5.adb (Expand_Loop_Entry_Attributes): When 453 dealing with a for loop that iterates over a subtype indication 454 with a range, use the low and high bounds of the subtype. 455 4562013-02-06 Nicolas Roche <roche@adacore.com> 457 458 * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should 459 be quoted 460 4612013-02-06 Vincent Celier <celier@adacore.com> 462 463 * prj-conf.adb (Process_Project_And_Apply_Config): New variable 464 Conf_Project. New recursive procedure Check_Project to find a non 465 aggregate project and put its Project_Id in Conf_Project. Fails if 466 no such project can be found. 467 (Get_Or_Create_Configuration_File): New parameter Conf_Project. 468 (Do_Autoconf): Use project directory of project Conf_Project to store 469 the generated configuration project file. 470 * prj-conf.ads (Get_Or_Create_Configuration_File): New parameter 471 Conf_Project. 472 4732013-02-06 Javier Miranda <miranda@adacore.com> 474 475 * sem_res.adb (Resolve_Actuals): Generate a read 476 reference for out-mode parameters in the cases specified by 477 RM 6.4.1(12). 478 4792013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 480 481 * sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of 482 Loop_Entry, instead wait until the attribute has been expanded. The 483 delay ensures that any generated checks or temporaries are inserted 484 before the relocated prefix. 485 4862013-02-06 Ed Schonberg <schonberg@adacore.com> 487 488 * sem_ch12.adb: Code clean up. 489 4902013-02-06 Ed Schonberg <schonberg@adacore.com> 491 492 * checks.adb (Apply_Discriminant_Check): Look for discriminant 493 constraint in full view of private type when needed. 494 * sem_ch12.adb (Validate_Array_Type_Instance): Specialize 495 previous patch to components types that are private and without 496 discriminants. 497 4982013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 499 500 * exp_ch4.adb (Find_Enclosing_Context): Recognize 501 a simple return statement as one of the cases that require special 502 processing with respect to temporary controlled function results. 503 (Process_Transient_Object): Do attempt to finalize a temporary 504 controlled function result when the associated context is 505 a simple return statement. Instead, leave this task to the 506 general finalization mechanism. 507 5082013-02-06 Thomas Quinot <quinot@adacore.com> 509 510 * einfo.ads: Minor reformatting. 511 (Status_Flag_Or_Transient_Decl): Add ??? comment. 512 5132013-02-06 Hristian Kirtchev <kirtchev@adacore.com> 514 515 * exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This 516 routine should be able to properly detect controlled transient 517 objects in its actions and generate the appropriate finalization 518 actions. 519 * exp_ch6.adb (Enclosing_Context): Removed. 520 (Expand_Ctrl_Function_Call): Remove local subprogram and 521 constant. Use routine Within_Case_Or_If_Expression to determine 522 whether the lifetime of the function result must be extended to 523 match that of the context. 524 * exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New 525 routine. 526 5272013-02-06 Ed Schonberg <schonberg@adacore.com> 528 529 * sem_ch12.adb (Validate_Array_Type_Instance): Extend check 530 for subtype matching of component type of formal array type, 531 to avoid spurious error when component type is a separate actual 532 in the instance, and there may be a discrepancy between private 533 and full view of component type. 534 5352013-02-06 Robert Dewar <dewar@adacore.com> 536 537 * s-dim.ads, clean.adb: Minor reformatting. 538 5392013-02-06 Javier Miranda <miranda@adacore.com> 540 541 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch. 542 (Can_Split_Unconstrained_Function): Only split the inlined function if 543 the compiler generates the code of its body. 544 5452013-02-06 Robert Dewar <dewar@adacore.com> 546 547 * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb, 548 exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for 549 N_Pragma nodes. 550 5512013-02-06 Robert Dewar <dewar@adacore.com> 552 553 * gnat_rm.texi: Minor text updates for pragma Warning. 554 5552013-02-06 Geert Bosch <bosch@adacore.com> 556 557 * s-multip.adb (Number_Of_CPUs): Short-circuit in case of 558 CPU'Last = 1. 559 5602013-02-06 Vincent Celier <celier@adacore.com> 561 562 * clean.adb (Delete): On VMS use host notation to delete all files. 563 5642013-02-06 Robert Dewar <dewar@adacore.com> 565 566 * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor 567 reformatting. 568 5692013-02-06 Gary Dismukes <dismukes@adacore.com> 570 571 * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for 572 the special case of a user-defined equality that overrides 573 the predefined equality of a nonderived type declared in a 574 declarative part. 575 * sem_util.adb (Collect_Primitive_Operations): Add test for 576 Is_Primitive when looping over the subprograms following a type, 577 to catch the case of primitives such as a user-defined equality, 578 which otherwise won't be found when the type is not a derived 579 type and is declared in a declarative part. 580 5812013-02-06 Vincent Celier <celier@adacore.com> 582 583 * prj-conf.adb (Check_Target): Always return True when Target 584 is empty (Get_Or_Create_Configuration_File.Get_Project_Target): 585 New procedure to get the value of attribute Target in the main 586 project. 587 (Get_Or_Create_Configuration_File.Do_Autoconf): No 588 need to get the value of attribute Target in the main project. 589 (Get_Or_Create_Configuration_File): Call Get_Project_Target and 590 use the target fom this call. 591 5922013-02-06 Eric Botcazou <ebotcazou@adacore.com> 593 594 * erroutc.adb (Validate_Specific_Warning): Do not issue the 595 warning about an ineffective Pragma Warnings for -Wxxx warnings. 596 * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings. 597 * gnat_rm.texi (Pragma Warnings): Document coordination with 598 warnings of the GCC back-end. 599 6002013-02-06 Javier Miranda <miranda@adacore.com> 601 602 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body 603 of an inlined function if we do not generate code for the function. 604 6052013-02-06 Pascal Obry <obry@adacore.com> 606 607 * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname 608 with Resolve_Links set to False. 609 6102013-02-03 Eric Botcazou <ebotcazou@adacore.com> 611 612 * gcc-interface/decl.c: Include diagnostic-core.h. 613 (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order 614 is set on the entity. 615 <E_Record_Type>: Likewise. 616 * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H). 617 6182013-01-29 Ben Brosgol <brosgol@adacore.com> 619 620 * gnat_rm.texi: Fixed typos. Minor edits. 621 6222013-01-29 Bob Duff <duff@adacore.com> 623 624 * a-convec.adb: Minor reformatting. 625 6262013-01-29 Pascal Obry <obry@adacore.com> 627 628 * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp 629 directory. 630 6312013-01-29 Ed Schonberg <schonberg@adacore.com> 632 633 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop 634 identifier only if it comes from source. 635 (Expand_N_Loop_Statement): If the domain of iteration is an 636 enumeration type with a representation clause, remove from 637 visibility the loop identifier before rewriting the loop as a 638 block with a declaration for said identifier. 639 * sem_util.adb (Remove_Homonym): Handle properly the default case. 640 6412013-01-29 Vincent Celier <celier@adacore.com> 642 643 * prj-proc.adb: Minor comment spelling fix. 644 6452013-01-29 Pascal Obry <obry@adacore.com> 646 647 * prj-proc.adb (Process_Expression_Variable_Decl): Prepend 648 Project_Path to current environment. 649 6502013-01-29 Thomas Quinot <quinot@adacore.com> 651 652 * sprint.adb (Sprint_Node_Actual): Output freeze nodes for 653 itypes even if Dump_Freeze_Null is not set. 654 6552013-01-29 Robert Dewar <dewar@adacore.com> 656 657 * sem_util.adb: Minor reformatting. 658 * s-rident.ads: Minor comment fixes. 659 6602013-01-29 Pascal Obry <obry@adacore.com> 661 662 * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to 663 control if the path is prepended or appended. 664 6652013-01-29 Ed Schonberg <schonberg@adacore.com> 666 667 * sem_ch6.adb (Analyze_Expression_Function): An expression 668 function declaration is not a subprogram declaration, and thus 669 cannot appear in a protected definition. 670 6712013-01-29 Hristian Kirtchev <kirtchev@adacore.com> 672 673 * exp_util.adb (Insert_Actions): When new 674 actions come from the expression of the expression with actions, 675 then they must be added to the list of existing actions. 676 6772013-01-29 Eric Botcazou <ebotcazou@adacore.com> 678 679 * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For 680 the subtype of a constrained private type with discriminants 681 that has got a full view, show that the completion is a clone 682 of the full view. 683 6842013-01-29 Javier Miranda <miranda@adacore.com> 685 686 * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram. 687 * opt.ads (Warn_On_Overlap): Update documentation. 688 * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate): 689 Check function writable actuals. 690 * sem_ch3.adb (Build_Derived_Record_Type, 691 Record_Type_Declaration): Check function writable actuals. 692 * sem_ch4.adb (Analyze_Range): Check function writable actuals. 693 * sem_ch5.adb (Analyze_Assignment): Remove code of the initial 694 implementation of AI05-0144. 695 * sem_ch6.adb (Analyze_Function_Return, 696 (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code 697 of the initial implementation of AI05-0144. 698 * sem_res.adb (Resolve): Remove code of the initial implementation. 699 (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call 700 of the initial implementation. 701 (Resolve_Arithmetic_Op, Resolve_Logical_Op, 702 Resolve_Membership_Op): Check function writable actuals. 703 * sem_util.ad[sb] (Actuals_In_Call): Removed 704 (Check_Order_Dependence): Removed (Save_Actual): Removed 705 (Check_Function_Writable_Actuals): New subprogram. 706 * usage.adb (Usage): Update documentation. 707 * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when 708 setting all warnings. 709 7102013-01-29 Robert Dewar <dewar@adacore.com> 711 712 * a-calend-vms.adb: Minor comment fix. 713 7142013-01-29 Robert Dewar <dewar@adacore.com> 715 716 * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash 717 because of casing issues. 718 * sem_util.ads: Minor comment fix. 719 * style.adb (Check_Identifier): Set proper casing for entities 720 in ASCII. 721 * styleg.adb: Minor comment improvement. 722 * stylesw.ads (Style_Check_Standard): Fix bad comments. 723 7242013-01-29 Hristian Kirtchev <kirtchev@adacore.com> 725 726 * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global. 727 (Analyze_Pragma): Push the scope of the related subprogram and install 728 its formals once before starting the analysis of the [moded] global 729 list. 730 7312013-01-29 Pascal Obry <obry@adacore.com> 732 733 * prj-proc.adb (Process_Expression_Variable_Decl): Always handle 734 relative paths in Project_Path as relative to the aggregate 735 project location. Note that this was what was documented. 736 7372013-01-29 Vincent Celier <celier@adacore.com> 738 739 * gnatcmd.adb: For "gnat stub -P ...", do not check the naming 740 scheme for Ada, when Ada is not a language for the project. 741 7422013-01-29 Ed Schonberg <schonberg@adacore.com> 743 744 * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit 745 Is_Generic_Actual_Type flag in a nested instance. 746 * sem_ch12.adb (Restore_Private_Views): Preserve 747 Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type 748 of an enclosing instance. 749 * sem_util.adb (Corresponding_Generic_Type): Handle generic actual 750 which is an actual of an enclosing instance. 751 * sem_type.adb (Real_Actual): If a generic_actual_type is the 752 formal of an enclosing generic and thus renames the corresponding 753 actual, use the actual of the enclosing instance to resolve 754 spurious ambiguities in instantiations when two formals are 755 instantiated with the same actual. 756 7572013-01-29 Robert Dewar <dewar@adacore.com> 758 759 * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as 760 being available as implementation-defined pragmas in earlier 761 versions of Ada. 762 7632013-01-29 Vincent Celier <celier@adacore.com> 764 765 * clean.adb (Delete): On VMS, delete all versions of the file. 766 7672013-01-29 Robert Dewar <dewar@adacore.com> 768 769 * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure. 770 * par-util.adb (No_Constraint): Undo special handling, moved 771 to par-ch6.adb. 772 7732013-01-29 Robert Dewar <dewar@adacore.com> 774 775 * aspects.ads: Aspect Warnings is implementation defined Add 776 some other missing entries to impl-defined list Mark Warnings 777 as GNAT pragma in main list. 778 * sem_ch8.adb: Process aspects for all cases of renaming 779 declarations. 780 7812013-01-29 Robert Dewar <dewar@adacore.com> 782 783 * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag. 784 * sem_elab.adb (Check_Internal_Call_Continue): Do not issue 785 warnings about possible elaboration error if call is within 786 an assertion. 787 * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node. 788 7892013-01-29 Robert Dewar <dewar@adacore.com> 790 791 * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb, 792 * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb, 793 s-tasdeb-vms.adb: Replace pragma Interface by pragma Import. 794 7952013-01-29 Robert Dewar <dewar@adacore.com> 796 797 * opt.ads (Ignore_Style_Checks_Pragmas): New flag. 798 * par-prag.adb (Par, case Style_Checks): Recognize 799 Ignore_Style_Checks_Pragmas. 800 * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize 801 Ignore_Style_Checks_Pragmas. 802 * switch-c.adb: Recognize -gnateY switch. 803 * usage.adb: Add documentation for "-gnateY". 804 * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY). 805 8062013-01-29 Vincent Celier <celier@adacore.com> 807 808 * clean.adb (Clean_Executables): Add Sid component when calling 809 Queue.Insert. 810 * make.adb: When inserting in the Queue, add the Source_Id 811 (Sid) when it is known (Start_Compile_If_Possible): When the 812 Source_Id is known (Sid), get the path name of the ALI file 813 (Full_Lib_File) from it, to avoid finding old ALI files in other 814 object directories. 815 * makeutl.ads (Source_Info): New Source_Id component Sid in 816 Format_Gnatmake variant. 817 8182013-01-29 Robert Dewar <dewar@adacore.com> 819 820 * gnat_ugn.texi: Document -gnateY. 821 8222013-01-29 Doug Rupp <rupp@adacore.com> 823 824 * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads, 825 system-vms-ia64.ads: Replace pragma Interface by pragma Import. 826 8272013-01-29 Robert Dewar <dewar@adacore.com> 828 829 * atree.ads, atree.adb (Node30): New function. 830 (Set_Node30): New procedure. 831 (Num_Extension_Nodes): Change to 5 (activate new fields/flags). 832 * atree.h: Add macros for Field30 and Node30. 833 * einfo.ads, einfo.adb: Move some fields to avoid duplexing. 834 * treepr.adb (Print_Entity_Information): Print fields 30-35. 835 8362013-01-29 Robert Dewar <dewar@adacore.com> 837 838 * sem_prag.adb (Analyze_Pragma, case Interface): Consider to 839 be a violation of No_Obsolescent_Features even in Ada 95. Also 840 generates a warning in -gnatwj mode. 841 (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj 842 mode. 843 * gnat_ugn.texi: Additional documentation on -gnatwj and pragma 844 Interface[_Name]. 845 8462013-01-29 Vincent Celier <celier@adacore.com> 847 848 * snames.ads-tmpl: Add new standard name Trailing_Switches. 849 8502013-01-29 Ed Schonberg <schonberg@adacore.com> 851 852 * sem_disp.adb (Check_Controlling_Type): If a designated type T 853 of an anonymous access type is a limited view of a tagged type, 854 it can be a controlling type only if the subprogram is in the 855 same scope as T. 856 8572013-01-29 Vincent Celier <celier@adacore.com> 858 859 * gnatcmd.adb: Use the project where the config pragmas file is 860 declared to get its path. 861 8622013-01-29 Vincent Celier <celier@adacore.com> 863 864 * prj-attr.adb: New attribute Linker'Trailing_Switches. 865 8662013-01-22 Eric Botcazou <ebotcazou@adacore.com> 867 868 * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do 869 not translate the Etype of the node before translating the Actions. 870 8712013-01-22 Eric Botcazou <ebotcazou@adacore.com> 872 873 * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size 874 instead of optimize and adjust warning message. 875 (Compilation_Unit_to_gnu): Process pragmas preceding the unit. 876 8772013-01-22 Tristan Gingold <gingold@adacore.com> 878 879 * gcc-interface/gigi.h (ADT_unhandled_except_decl, 880 ADT_unhandled_others_decl): New. 881 (unhandled_others_decl, unhandled_except_decl): Define. 882 * gcc-interface/trans.c: Include common/common-target.h. 883 (gigi): Initialize them. 884 (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main 885 function in a try/catch clause. 886 8872013-01-11 Eric Botcazou <ebotcazou@adacore.com> 888 889 * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata. 890 (CHECKING_ADAFLAGS): New. 891 (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS. 892 8932013-01-10 Eric Botcazou <ebotcazou@adacore.com> 894 895 * gcc-interface/config-lang.in (boot_language_boot_flags): Delete. 896 * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise. 897 8982013-01-07 Eric Botcazou <ebotcazou@adacore.com> 899 900 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust 901 comment about type extension with discriminants. 902 <E_Record_Subtype>: Remove useless test and reorder conditions. 903 (elaborate_entity) <E_Record_Subtype>: Likewise. 904 9052013-01-07 Richard Biener <rguenther@suse.de> 906 907 PR ada/864 908 * gcc-interface/Make-lang.in (ada.install-common): Always apply 909 program_transform_name. 910 9112013-01-06 Eric Botcazou <ebotcazou@adacore.com> 912 913 * gnatvsn.ads (Current_Year): Bump to 2013. 914 9152013-01-06 Olivier Hainque <hainque@adacore.com> 916 917 * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized 918 diagnostic for component size mismatch wrt volatile requirements. 919 Add a gcc_unreachable() at the end of the checks for size. Split 920 the check on volatile for positions into one check on atomic and 921 a subsequent one on volatile. 922 9232013-01-06 Eric Botcazou <ebotcazou@adacore.com> 924 925 * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete. 926 9272013-01-06 Eric Botcazou <ebotcazou@adacore.com> 928 929 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not 930 pack the field of the record type made for a misaligned type. 931 9322013-01-06 Eric Botcazou <ebotcazou@adacore.com> 933 934 * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared 935 for discriminants inherited from parent record types. 936 9372013-01-04 Robert Dewar <dewar@adacore.com> 938 939 * warnsw.adb: Minor fixes to -gnatw.d handling. 940 9412013-01-04 Robert Dewar <dewar@adacore.com> 942 943 * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more 944 fields. 945 9462013-01-04 Joel Brobecker <brobecker@adacore.com> 947 948 * gnat_ugn.texi: Fix typo. 949 9502013-01-04 Robert Dewar <dewar@adacore.com> 951 952 * gnat_rm.texi: Document alignment choice for subtypes. 953 9542013-01-04 Robert Dewar <dewar@adacore.com> 955 956 * validsw.ads: Minor fix to comment. 957 9582013-01-04 Doug Rupp <rupp@adacore.com> 959 960 * Makefile.rtl (GNATRTL_NONTASKING_OBJS, 961 GNATRTL_ALTIVEC_OBJS): Factor g-al* objects. 962 * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources. 963 (GNATRTL_ALTIVEC_OBJS): Override to null for VMS. 964 Rename leon vxworks toolchain as leon-wrs-vxworks. 965 * gcc-interface/Make-lang.in: Update dependencies 966 9672013-01-04 Pascal Obry <obry@adacore.com> 968 969 * prj.ads (For_Each_Source): Add Locally_Removed parameter. 970 (Source_Iterator): Add Locally_Removed field. 971 * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed. 972 (Next): Likewise. 973 9742013-01-04 Robert Dewar <dewar@adacore.com> 975 976 * exp_attr.adb: Minor reformatting. 977 9782013-01-04 Robert Dewar <dewar@adacore.com> 979 980 * checks.adb (Insert_Valid_Check): Fix handling of renamed 981 packed array element. 982 * exp_ch4.adb (Expand_Concatenate): Fix some missing parent 983 fields in generated code. 984 * exp_util.adb (Side_Effect_Free): Improve detection of cases 985 needing renaming. 986 9872013-01-04 Robert Dewar <dewar@adacore.com> 988 989 * sinfo.ads: Clean up order of N_xxx subtypes 990 9912013-01-04 Vincent Celier <celier@adacore.com> 992 993 * prj-conf.adb (Check_Target): Allow --autoconf= with no target. 994 9952013-01-04 Robert Dewar <dewar@adacore.com> 996 997 * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting. 998 9992013-01-04 Robert Dewar <dewar@adacore.com> 1000 1001 * par-ch6.adb (P_Subprogram): Better handling of missing IS 1002 after expression function. 1003 * par-util.adb (No_Constraint): Improve handling to avoid bad warnings. 1004 10052013-01-04 Robert Dewar <dewar@adacore.com> 1006 1007 * exp_util.ads, exp_util.adb (Insert_Actions): In expression with 1008 actions case, new actions are appended to the sequence rather than 1009 prepended. 1010 10112013-01-04 Robert Dewar <dewar@adacore.com> 1012 1013 * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode). 1014 * usage.adb: Add lines for -gnatw.d/w.D switches. 1015 * warnsw.adb: Minor fixes (some missing cases of setting 1016 Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode. 1017 10182013-01-04 Robert Dewar <dewar@adacore.com> 1019 1020 * exp_util.adb (Remove_Side_Effects): Make sure scope suppress 1021 is restored on exit. 1022 10232013-01-04 Robert Dewar <dewar@adacore.com> 1024 1025 * usage.adb: Document -gnateF (check overflow for predefined Float). 1026 10272013-01-04 Robert Dewar <dewar@adacore.com> 1028 1029 * sem_res.adb (Resolve_Type_Conversion): Remove incorrect 1030 prevention of call to Apply_Type_Conversion_Checks, which resulted 1031 in missing check flags in formal mode. 1032 10332013-01-04 Vincent Celier <celier@adacore.com> 1034 1035 * makeutl.ads (Db_Switch_Args): New table used by gprbuild. 1036 * prj-conf.adb (Check_Builder_Switches): Check for switches 1037 --config= (Get_Db_Switches): New procedure to get the --db 1038 switches so that they are used when invoking gprconfig in 1039 auto-configuration. 1040 (Do_Autoconf): When invoking gprconfig, use the --db switches, if any. 1041 10422013-01-04 Pascal Obry <obry@adacore.com> 1043 1044 * prj-nmsc.adb: Minor reformatting. 1045 10462013-01-04 Vincent Celier <celier@adacore.com> 1047 1048 * makeutl.ads (Root_Environment): New variable, moved rom 1049 gprbuild (Load_Standard_Base): New Boolean variable, moved 1050 from gprbuild. 1051 * prj-conf.adb (Check_Builder_Switches): New procedure to check 1052 for switch --RTS in package Builder. If a runtime specified 1053 by --RTS is a relative path name, but not a base name, then 1054 find the path on the Project Search Path. 1055 (Do_Autoconf): Call Check_Builder_Switches. 1056 (Locate_Runtime): New procedure, moved from gprbuild, to get the 1057 absolute paths of runtimes when they are not specified as a base name. 1058 * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild. 1059 10602013-01-04 Ed Schonberg <schonberg@adacore.com> 1061 1062 * sem_ch3.adb (Build_Private_Derived_Type): Set 1063 Has_Private_Ancestor on type derived from an untagged private 1064 type whose full view has discriminants 1065 * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension 1066 aggregate for untagged record type with private ancestor. 1067 10682013-01-04 Thomas Quinot <quinot@adacore.com> 1069 1070 * sem_elab.adb, sem_ch3.adb: Minor reformatting. 1071 10722013-01-04 Robert Dewar <dewar@adacore.com> 1073 1074 * table.adb: Minor reformatting. 1075 10762013-01-04 Ed Schonberg <schonberg@adacore.com> 1077 1078 * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does 1079 not come from source does not generate a warning for redundant 1080 with_clauses. 1081 10822013-01-04 Hristian Kirtchev <kirtchev@adacore.com> 1083 1084 * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables. 1085 * par-prag.adb: Add pragma Global to the list of pragmas that 1086 do not need special processing by the parser. 1087 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect 1088 Global into a pragma without any form of legality checks. The 1089 work is done by Analyze_Pragma. The aspect and pragma are both 1090 marked as needing delayed processing. Insert the corresponding 1091 pragma of aspect Abstract_State in the visible declarations of the 1092 related package. 1093 (Check_Aspect_At_Freeze_Point): Aspect Global 1094 does not need processing even though it is marked as delayed. 1095 Alphabetize the list on aspect names. 1096 * sem_prag.adb: Add a value for pragma Global in table Sig_Flags. 1097 (Analyze_Pragma): Add ??? comment about the grammar of pragma 1098 Abstract_State. Move the error location from the pragma to the 1099 state to improve the quality of error placement. Add legality 1100 checks for pragma Global. 1101 * snames.ads-tmpl Add the following specially recognized names 1102 11032013-01-04 Eric Botcazou <ebotcazou@adacore.com> 1104 1105 * sem_ch3.adb: Fix minor typo. 1106 11072013-01-04 Ed Schonberg <schonberg@adacore.com> 1108 1109 * par-ch13.adb (Aspect_Specifications_Present): In Strict mode, 1110 accept an aspect name followed by a comma, indicating a defaulted 1111 boolean aspect. 1112 11132013-01-04 Joel Brobecker <brobecker@adacore.com brobecker> 1114 1115 * gnat_ugn.texi: Document procedure to codesign GDB on Darwin. 1116 Update doc on gnattest --separates switch. 1117 11182013-01-04 Thomas Quinot <quinot@adacore.com> 1119 1120 * s-chepoo.ads: Minor reformatting. 1121 11222013-01-04 Arnaud Charlet <charlet@adacore.com> 1123 1124 * usage.adb: Remove mention of -gnatN in usage. 1125 11262013-01-04 Robert Dewar <dewar@adacore.com> 1127 1128 * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb, 1129 freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb, 1130 prj-conf.adb, sem_ch13.adb: Minor reformatting. 1131 11322013-01-04 Thomas Quinot <quinot@adacore.com> 1133 1134 * sinfo.ads: Minor documentation update. 1135 11362013-01-04 Thomas Quinot <quinot@adacore.com> 1137 1138 * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind 1139 before resolving initialization expression. 1140 11412013-01-04 Hristian Kirtchev <kirtchev@adacore.com> 1142 1143 * checks.adb (Generate_Index_Checks): Delay the generation of 1144 the check for an indexed component where the prefix mentions 1145 Loop_Entry until the attribute has been properly expanded. 1146 * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor 1147 decoration of the constant that captures the value of Loop_Entry's 1148 prefix at the entry point into a loop. Generate index checks 1149 for an attribute reference that has been transformed into an 1150 indexed component. 1151 11522013-01-04 Thomas Quinot <quinot@adacore.com> 1153 1154 * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb, 1155 sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to 1156 do if Obj is already frozen. 1157 (Exp_Util.Find_Init_Call): Rename to... 1158 (Exp_Util.Remove_Init_Call): New subprogram, renamed from 1159 Find_Init_Call. Remove the initialization call from the enclosing 1160 list if found, and if it is from an Initialization_Statements 1161 attribute, reset it. 1162 (Exp_Util.Append_Freeze_Action): Minor code reorganization. 1163 (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been 1164 allocated (as is already done in Append_Freeze_Action). 1165 (Freeze.Freeze_Entity): For an object with captured 1166 Initialization_Statements and non-delayed freezeing, unwrap the 1167 initialization statements and insert and them directly in the 1168 enclosing list. 1169 (Sem_Ch13.Check_Address_Clause): For an object 1170 with Initialization_Statements and an address clause, unwrap the 1171 initialization statements when moving them to the freeze actions. 1172 11732013-01-03 Pascal Obry <obry@adacore.com> 1174 1175 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and 1176 corresponding attibutes. 1177 11782013-01-03 Thomas Quinot <quinot@adacore.com> 1179 1180 * exp_aggr.adb: Minor comment improvement. 1181 11822013-01-03 Hristian Kirtchev <kirtchev@adacore.com> 1183 1184 * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the 1185 relevant tables. 1186 * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to 1187 the description of fields (Abstract_States): New routine. 1188 (Integrity_Level): New routine. 1189 (Has_Property): New routine. 1190 (Is_Input_State): New routine. 1191 (Is_Null_State): New routine. 1192 (Is_Output_State): New routine. 1193 (Is_Volatile_State): New routine. 1194 (Refined_State): New routine. 1195 (Set_Abstract_States): New routine. 1196 (Set_Integrity_Level): New routine. 1197 (Set_Refined_State): New routine. 1198 (Write_Field8_Name): Add proper output for E_Abstract_State. 1199 (Write_Field9_Name): Add proper output for E_Abstract_State. 1200 (Write_Field25_Name): Add proper output for E_Package. 1201 * lib-xref.ads: Add new letter for an abstract state. 1202 * par-prag.adb: Add pragma Abstract_State to the list of pragma 1203 that do not need special processing by the parser. 1204 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert 1205 aspect Abstract_State into a pragma without any form 1206 of legality checks. The work is done by Analyze_Pragma. 1207 (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not 1208 require delayed analysis. 1209 * sem_prag.adb: Add a value for pragma Abstract_State in table 1210 Sig_Flags. 1211 (Analyze_Pragma): Add legality checks for pragma 1212 Abstract_State. Analysis of individual states introduces a state 1213 abstraction entity into the visibility chain. 1214 * snames.ads-tmpl: Add new names for abstract state and 1215 integrity. Add new pragma id for abstract state. 1216 12172013-01-03 Bob Duff <duff@adacore.com> 1218 1219 * table.adb (Reallocate): Calculate new Length in 1220 Long_Integer to avoid overflow. 1221 12222013-01-03 Thomas Quinot <quinot@adacore.com> 1223 1224 * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb 1225 (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that 1226 it is set properly when expanding the initialization expression. 1227 (Freeze.Check_Address_Clause): Transfer initialization expression 1228 to an assignment in the freeze actions, so that the object is 1229 initialized only after being elaborated by GIGI. 1230 (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow 1231 a Null_Statement as the expression in an Expression_With_Actions. 1232 (Exp_Aggr.Collect_Initialization_Statements): New subprogram 1233 shared by expansion of record and array aggregates, used to 1234 capture statements for an aggregate used to initalize an object 1235 into an Expression_With_Actions (which acts as a container for 1236 a list of actions). 1237 (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to 1238 capture initialization statements, instead of the previously 1239 existing loop which left freeze nodes out of the capturing 1240 construct (causing out of order elaboration crashes in GIGI). 1241 (Exp_Aggr.Expand_Array_Aggregate): Use the above to capture 1242 initialization statements (this was previously not done for 1243 arrays). Also do not unconditionally prevent in place expansion 1244 for an object with address clause. 1245 12462013-01-03 Thomas Quinot <quinot@adacore.com> 1247 1248 * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that 1249 a record extension has the same scalar storage order as the parent type. 1250 12512013-01-03 Thomas Quinot <quinot@adacore.com> 1252 1253 * exp_ch4.adb: Add comment. 1254 12552013-01-03 Vincent Celier <celier@adacore.com> 1256 1257 * prj.adb: Minor spelling error correction in comment. 1258 12592013-01-03 Vincent Celier <celier@adacore.com> 1260 1261 * gnatcmd.adb (GNATCmd): If a single main has been specified 1262 as an absolute path, use its simple file name to find specific 1263 switches, instead of the absolute path. 1264 12652013-01-03 Javier Miranda <miranda@adacore.com> 1266 1267 * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping 1268 parameters that are record types or array types generate warnings 1269 only compiling under -gnatw.i 1270 * opt.ads (Extensions_Allowed): Restore previous documentation. 1271 12722013-01-03 Vincent Celier <celier@adacore.com> 1273 1274 * prj-conf.adb (Do_Autoconf): If Target is specified in the 1275 main project, but not on the command line, use the Target in 1276 the project to invoke gprconfig in auto-configuration. 1277 * makeutl.ads (Default_Config_Name): New constant String. 1278 12792013-01-03 Arnaud Charlet <charlet@adacore.com> 1280 1281 * usage.adb: Minor: fix typo in usage. 1282 12832013-01-03 Thomas Quinot <quinot@adacore.com> 1284 1285 * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject 1286 an illegal component clause for an inherited component in a 1287 record extension. 1288 12892013-01-03 Emmanuel Briot <briot@adacore.com> 1290 1291 * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which 1292 have information in the ALI file for both the index and the component 1293 types. 1294 12952013-01-03 Emmanuel Briot <briot@adacore.com> 1296 1297 * projects.texi: Fix error in documenting the project path 1298 computed for an aggregate project. 1299 13002013-01-03 Javier Miranda <miranda@adacore.com> 1301 1302 * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation 1303 plus restricting the functionality of this routine to cover the 1304 cases described in the Ada 2012 reference manual. The previous 1305 extended support is now available under -gnatX. 1306 * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy 1307 variable to call Timed_Sleep. Required to avoid warning on 1308 overlapping out-mode actuals. 1309 * opt.ads (Extensions_Allowed): Update documentation. 1310 13112013-01-03 Tristan Gingold <gingold@adacore.com> 1312 1313 * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64. 1314 * arit64.c: Removed 1315 * gcc-interface/Makefile.in: Remove reference to arit64.c. 1316 13172013-01-03 Thomas Quinot <quinot@adacore.com> 1318 1319 * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must 1320 be generated at the start of the freeze actions for the entity, not 1321 before (or after) the freeze node. 1322 13232013-01-03 Thomas Quinot <quinot@adacore.com> 1324 1325 * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): 1326 Reorganize code to capture initialization statements in a block, 1327 so that freeze nodes are excluded from the captured block. 1328 13292013-01-03 Thomas Quinot <quinot@adacore.com> 1330 1331 * exp_ch11.adb: Minor reformatting. 1332 13332013-01-03 Thomas Quinot <quinot@adacore.com> 1334 1335 * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb, 1336 sem_ch13.adb (Einfo.Initialization_Statements, 1337 Einfo.Set_Initialization_Statements): New entity attribute 1338 for objects. 1339 (Exp_Util.Find_Init_Call): Handle case of an object initialized 1340 by an aggregate converted to a block of assignment statements. 1341 (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze 1342 even for objects that require a constant address, because the 1343 address expression might involve entities that have yet to be 1344 elaborated at the point of the object declaration. 1345 (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does 1346 not require a transient scope, capture the assignment statements 1347 in a block so that they can be moved down after elaboration of 1348 an address clause if needed. 1349 (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants, 1350 case N_Unchecked_Conversion): Do not replace operand subtype with 1351 its base type as this violates a GIGI invariant if the operand 1352 is an identifier (in which case the etype of the identifier 1353 is expected to be equal to that of the denoted entity). 1354 13552013-01-03 Javier Miranda <miranda@adacore.com> 1356 1357 * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the 1358 functionality of this routine to cover cases described in the Ada 2012 1359 reference manual. 1360 13612013-01-03 Ed Schonberg <schonberg@adacore.com> 1362 1363 * sem_elab.adb (Set_Elaboration_Constraint): Handle properly 1364 a 'Access attribute reference when the subprogram is called 1365 Initialize. 1366 13672013-01-03 Arnaud Charlet <charlet@adacore.com> 1368 1369 * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a 1370 select statement may be called from a controlled (e.g. Initialize) 1371 operation and have abort always deferred. 1372 13732013-01-03 Robert Dewar <dewar@adacore.com> 1374 1375 * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization. 1376 13772013-01-03 Javier Miranda <miranda@adacore.com> 1378 1379 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude 1380 internal entities associated with interfaces and add minimum 1381 decoration to the defining entity of the generated wrapper to 1382 allow overriding interface primitives. 1383 * sem_disp.ads (Override_Dispatching_Operation): Addition of a 1384 new formal (Is_Wrapper). 1385 * sem_disp.adb (Override_Dispatching_Operation): When overriding 1386 interface primitives the new formal helps identifying that the 1387 new operation is not fully decorated. 1388 13892013-01-03 Thomas Quinot <quinot@adacore.com> 1390 1391 * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb, 1392 rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb 1393 (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit): 1394 Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and 1395 update spec accordingly (now also applies to root library units). 1396 (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag 1397 on root library units, not only child units. 1398 (Sem_Ch10.Install[_Limited]_Withed_Unit): Same. 1399 (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit 1400 even for root library units. 1401 (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is 1402 Standard is an expanded name for a root library unit. 1403 14042013-01-03 Thomas Quinot <quinot@adacore.com> 1405 1406 * exp_ch3.adb: Minor reformatting. 1407 14082013-01-03 Olivier Hainque <hainque@adacore.com> 1409 1410 * tracebak.c: Reinstate changes to support ppc-lynx178. 1411 14122013-01-03 Ed Schonberg <schonberg@adacore.com> 1413 1414 * atree.ads: Minor reformatting and documentation enhancement. 1415 14162013-01-03 Ed Schonberg <schonberg@adacore.com> 1417 1418 * exp_ch3.adb (Expand_N_Object_Declaration): If the object has 1419 a class-wide type and a renaming declaration is created for it, 1420 preserve entity chain, which already contains generated internal 1421 types. This ensures that freezing actions are properly generated 1422 for all objects declared subsequently in the same scope, and 1423 that debugging information is generated for them. 1424 * sem_util.adb, sem_util.ads (we): New debugging routine, to 1425 display entity chain of a given scope. 1426 14272013-01-03 Robert Dewar <dewar@adacore.com> 1428 1429 * exp_intr.adb: Minor reformatting. 1430 14312013-01-03 Robert Dewar <dewar@adacore.com> 1432 1433 * einfo.adb: Minor reformatting. 1434 14352013-01-03 Pascal Obry <obry@adacore.com> 1436 1437 * adaint.c, adaint.h (__gnat_get_module_name): Removed. 1438 (__gnat_is_module_name_supported): Removed. 1439 * s-win32.ads: Add some needed definitions. 1440 * g-trasym.ads: Update comments. 1441 14422013-01-03 Robert Dewar <dewar@adacore.com> 1443 1444 * layout.adb (Set_Composite_Alignment): Fix problems of 1445 interactions with Optimize_Alignment set to Space. 1446 14472013-01-03 Thomas Quinot <quinot@adacore.com> 1448 1449 * exp_disp.adb: Minor reformatting. 1450 14512013-01-02 Richard Biener <rguenther@suse.de> 1452 1453 PR bootstrap/55784 1454 * gcc-interface/Makefile.in: Add $(GMPINC) to includes. 1455 14562013-01-02 Thomas Quinot <quinot@adacore.com> 1457 1458 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove 1459 side effects from Tag_Arg early, doing it too late may cause a 1460 crash due to inconsistent Parent link. 1461 * sem_ch8.adb, einfo.ads: Minor reformatting. 1462 14632013-01-02 Robert Dewar <dewar@adacore.com> 1464 1465 * einfo.ads, einfo.adb (Has_Independent_Components): New flag. 1466 * freeze.adb (Size_Known): We do not know the size of a packed 1467 record if it has atomic components, by reference type components, 1468 or independent components. 1469 * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new 1470 flag Has_Independent_Components. 1471 14722013-01-02 Yannick Moy <moy@adacore.com> 1473 1474 * opt.ads (Warn_On_Suspicious_Contract): Set to True by default. 1475 * usage.adb (Usage): Update usage message. 1476 14772013-01-02 Pascal Obry <obry@adacore.com> 1478 1479 * adaint.c (__gnat_is_module_name_supported): New constant. 1480 14812013-01-02 Ed Schonberg <schonberg@adacore.com> 1482 1483 * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an 1484 array whose component type does not have a completion. 1485 14862013-01-02 Geert Bosch <bosch@adacore.com> 1487 1488 * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure. 1489 14902013-01-02 Robert Dewar <dewar@adacore.com> 1491 1492 * par_sco.adb: Minor reformatting. 1493 14942013-01-02 Javier Miranda <miranda@adacore.com> 1495 1496 * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code. 1497 14982013-01-02 Olivier Hainque <hainque@adacore.com> 1499 1500 * a-exctra.ads (Get_PC): New function. 1501 15022013-01-02 Thomas Quinot <quinot@adacore.com> 1503 1504 * sem_ch8.adb: Minor reformatting. 1505 15062013-01-02 Thomas Quinot <quinot@adacore.com> 1507 1508 * sem_ch7.adb: Minor reformatting. 1509 15102013-01-02 Thomas Quinot <quinot@adacore.com> 1511 1512 * freeze.adb (Check_Component_Storage_Order): Do not crash on 1513 _Tag component. 1514 15152013-01-02 Robert Dewar <dewar@adacore.com> 1516 1517 * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add 1518 On_Target to Atomic_Sync_Default. 1519 15202013-01-02 Robert Dewar <dewar@adacore.com> 1521 1522 * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for 1523 comparison of attribute result with constant 1524 * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma 1525 Warnings (Off, ".."); 1526 15272013-01-02 Yannick Moy <moy@adacore.com> 1528 1529 * sem_prag.ads: Minor correction of comment. 1530 15312013-01-02 Thomas Quinot <quinot@adacore.com> 1532 1533 * par_sco.adb (Traverse_Package_Declaration): The first 1534 declaration in a nested package is dominated by the preceding 1535 declaration in the enclosing scope. 1536 15372013-01-02 Pascal Obry <obry@adacore.com> 1538 1539 * adaint.c, adaint.h (__gnat_get_module_name): Return the actual 1540 module containing a given address. 1541 15422013-01-02 Thomas Quinot <quinot@adacore.com> 1543 1544 * sem_ch3.adb: Minor reformatting. 1545 15462013-01-02 Pascal Obry <obry@adacore.com> 1547 1548 * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on 1549 Win64 and default to ftell on other platforms. 1550 (__gnat_fsek64): Likewise. 1551 * i-cstrea.ads: Add fssek64 and ftell64 specs. 1552 * s-crtl.ads: Likewise. 1553 * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required. 1554 (Set_Position): Likewise. 1555 15562013-01-02 Thomas Quinot <quinot@adacore.com> 1557 1558 * par_sco.adb: Generate X SCOs for default expressions in 1559 subprogram body stubs. Do not generate any SCO for package, 1560 task, or protected body stubs. 1561 15622013-01-02 Ed Schonberg <schonberg@adacore.com> 1563 1564 * sem_ch3.adb: Further improvement to ASIS mode for anonymous 1565 access to protected subprograms. 1566 15672013-01-02 Robert Dewar <dewar@adacore.com> 1568 1569 * par_sco.adb, vms_data.ads: Minor reformatting. 1570 15712013-01-02 Thomas Quinot <quinot@adacore.com> 1572 1573 * par_sco.adb (Traverse_Declarations_Or_Statement): Function 1574 form, returning value of Current_Dominant upon exit, for chaining 1575 purposes. 1576 (Traverse_Declarations_Or_Statement.Traverse_One, case 1577 N_Block_Statement): First statement is dominated by last declaration. 1578 (Traverse_Subprogram_Or_Task_Body): Ditto. 1579 (Traverse_Package_Declaration): First private 1580 declaration is dominated by last visible declaration. 1581 (Traverse_Sync_Definition): Ditto. 1582 15832013-01-02 Thomas Quinot <quinot@adacore.com> 1584 1585 * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order 1586 matching Bit_Order to record types only, since array types do not 1587 have a Bit_Order. 1588 15892013-01-02 Vincent Celier <celier@adacore.com> 1590 1591 * gnat_ugn.texi: Remove documentation of -gnateO, which is an 1592 internal switch. 1593 * usage.adb: Indicate that -gnateO is an internal switch. 1594 15952013-01-02 Thomas Quinot <quinot@adacore.com> 1596 1597 * par_sco.adb: Add SCO generation for task types and single 1598 task declarations. 1599 * get_scos.adb: When adding an instance table entry for a 1600 non-nested instantiation, make sure the Enclosing_Instance is 1601 correctly set to 0. 1602 16032013-01-02 Hristian Kirtchev <kirtchev@adacore.com> 1604 1605 * sem_attr.adb (Analyze_Attribute): Skip the special _Parent 1606 scope generated for subprogram inlining purposes while trying 1607 to locate the enclosing function. 1608 * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean 1609 expression of pragma Postcondition when the pragma comes from 1610 source and appears inside a subprogram body. 1611 16122013-01-02 Thomas Quinot <quinot@adacore.com> 1613 1614 * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation 1615 information in debug info unconditionally when using -fdump-scos, 1616 instead of relying on a separate command line switch -fdebug-instances. 1617 * gcc-interface/Make-lang.in: Update dependencies. 1618 16192013-01-02 Ed Schonberg <schonberg@adacore.com> 1620 1621 * sem_ch12.adb: Additional refinement of predicate. 1622 16232013-01-02 Vincent Celier <celier@adacore.com> 1624 1625 * vms_data.ads: Remove incorrect spaces at end of descriptions 1626 of qualifiers for single switch. 1627 16282013-01-02 Ben Brosgol <brosgol@adacore.com> 1629 1630 * gnat_rm.texi: Minor edits / wordsmithing in section on pragma 1631 Check_Float_Overflow. 1632 16332013-01-02 Thomas Quinot <quinot@adacore.com> 1634 1635 * sprint.adb (Sprint_Node_Actual): Do not add extra parens for 1636 a conditional expression (CASE or IF expression) that already 1637 has parens. Also omit ELSE keyword for an IF expression without 1638 an ELSE part. 1639 16402013-01-02 Thomas Quinot <quinot@adacore.com> 1641 1642 * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end 1643 flag_debug_instances here, after front-end switches have been 1644 processed. 1645 16462013-01-02 Vincent Celier <celier@adacore.com> 1647 1648 * usage.adb: Minor reformatting. 1649 16502013-01-02 Arnaud Charlet <charlet@adacore.com> 1651 1652 * opt.ads: Fix typo. 1653 16542013-01-02 Thomas Quinot <quinot@adacore.com> 1655 1656 * par_sco.adb: Generate P decision SCOs for SPARK pragmas 1657 Assume and Loop_Invariant. 1658 16592013-01-02 Robert Dewar <dewar@adacore.com> 1660 1661 * vms_data.ads: Add entry for Float_Check_Valid (-gnateF). 1662 * ug_words: Add entry for Float_Check_Overflow. 1663 * usage.adb: Minor reformatting. 1664 * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow). 1665 16662013-01-02 Vincent Celier <celier@adacore.com> 1667 1668 * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated, 1669 -gnateO=, -gnatet and -gnateV. 1670 * ug_words: Add qualifiers equivalent to -gnateA, -gnated, 1671 -gnatet and -gnateV. 1672 * usage.adb: Add lines for -gnatea, -gnateO and -gnatez. 1673 * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK 1674 (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated), 1675 /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO 1676 (-gnatet). 1677 16782013-01-02 Robert Dewar <dewar@adacore.com> 1679 1680 * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow. 1681 * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config]. 1682 * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow. 1683 * sem_prag.adb: Implement pragma Check_Float_Overflow. 1684 * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow. 1685 * switch-c.adb: Recognize -gnateF switch. 1686 * tree_io.ads: Update ASIS version number. 1687 * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow. 1688 16892013-01-02 Robert Dewar <dewar@adacore.com> 1690 1691 * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, 1692 exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb, 1693 freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb, 1694 par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb, 1695 sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb, 1696 sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages. 1697 * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates. 1698 16992013-01-02 Robert Dewar <dewar@adacore.com> 1700 1701 * err_vars.ads: Minor comment fix. 1702 17032013-01-02 Ed Schonberg <schonberg@adacore.com> 1704 1705 * sem_ch12.adb: Refine predicate. 1706 17072013-01-02 Robert Dewar <dewar@adacore.com> 1708 1709 * errout.ads: Minor comment fixes. 1710 * opt.ads: Minor comment additions. 1711 * exp_aggr.adb: Add tags to warning messages 1712 * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb, 1713 sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb, 1714 sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb, 1715 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb, 1716 sem_warn.adb: Add tags to warning messages 1717 17182013-01-02 Doug Rupp <rupp@adacore.com> 1719 1720 * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E. 1721 17222013-01-02 Ed Schonberg <schonberg@adacore.com> 1723 1724 * sem_ch12.adb: Recover source name for renamed packagea. 1725 17262013-01-02 Robert Dewar <dewar@adacore.com> 1727 1728 * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing 1729 tests to fail if insertion sequence is at end of message string. 1730 * opt.ads: Minor comment fixes and additions. 1731 * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb, 1732 sem_ch12.adb, sem_ch13.adb: Add tags to warning messages. 1733 * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message 1734 tags. Add tags to warning messages. 1735 17362013-01-02 Robert Dewar <dewar@adacore.com> 1737 1738 * err_vars.ads (Warning_Doc_Switch): New flag. 1739 * errout.adb (Error_Msg_Internal): Implement new warning flag 1740 doc tag stuff (Set_Msg_Insertion_Warning): New procedure. 1741 * errout.ads: Document new insertion sequences ?? ?x? ?.x? 1742 * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc 1743 tag stuff. 1744 * erroutc.ads (Warning_Msg_Char): New variable. 1745 (Warn_Chr): New field in error message object. 1746 * errutil.adb (Error_Msg): Set Warn_Chr in error message object. 1747 * sem_ch13.adb: Minor reformatting. 1748 * warnsw.adb: Add handling for -gnatw.d and -gnatw.D 1749 (Warning_Doc_Switch). 1750 * warnsw.ads: Add handling of -gnatw.d/.D switches (warning 1751 doc tag). 1752 17532013-01-02 Robert Dewar <dewar@adacore.com> 1754 1755 * opt.ads: Minor reformatting. 1756 17572013-01-02 Doug Rupp <rupp@adacore.com> 1758 1759 * init.c: Reorganize VMS section. 1760 (scan_condtions): New function for scanning condition tables. 1761 (__gnat_handle_vms_condtion): Use actual exception name for imported 1762 exceptions vice IMPORTED_EXCEPTION. 1763 Move condition table scanning into separate function. Move formerly 1764 special handled conditions to system condition table. Use SYS$PUTMSG 1765 output to fill exception message field for formally special handled 1766 condtions, in particular HPARITH to provide more clues about cause and 1767 location then raised from the translated image. 1768 17692013-01-02 Thomas Quinot <quinot@adacore.com> 1770 1771 * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post 1772 aspect that applies to a library subprogram, prepend corresponding 1773 pragma to the Pragmas_After list, in order for split AND THEN 1774 sections to be processed in the expected order. 1775 17762013-01-02 Thomas Quinot <quinot@adacore.com> 1777 1778 * exp_prag.adb (Expand_Pragma_Check): The statements generated 1779 for the pragma must have the sloc of the pragma, not the 1780 sloc of the condition, otherwise this creates anomalies in the 1781 generated debug information that confuse coverage analysis tools. 1782 17832013-01-02 Thomas Quinot <quinot@adacore.com> 1784 1785 * sem_ch13.adb: Minor reformatting. 1786 17872013-01-02 Arnaud Charlet <charlet@adacore.com> 1788 1789 * g-excact.ads (Core_Dump): Clarify that this subprogram does 1790 not dump cores under Windows. 1791 17922013-01-02 Ed Schonberg <schonberg@adacore.com> 1793 1794 * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed 1795 view of a subprogram has convention Intrnnsic, and a renaming 1796 of a prefixed view cannot be the prefix of an Access attribute. 1797 17982013-01-02 Robert Dewar <dewar@adacore.com> 1799 1800 * restrict.adb: Minor reformatting. 1801 18022013-01-02 Thomas Quinot <quinot@adacore.com> 1803 1804 * exp_prag.adb: Minor reformatting. 1805 18062013-01-02 Ed Schonberg <schonberg@adacore.com> 1807 1808 * sem_ch12.adb (Get_Associated_Node): If the node is an 1809 identifier that denotes an unconstrained array in an object 1810 declaration, it is rewritten as the name of an anonymous 1811 subtype whose bounds are given by the initial expression in the 1812 declaration. When checking whether that identifier is global 1813 reference, use the original node, not the local generated subtype. 1814 18152013-01-02 Olivier Hainque <hainque@adacore.com> 1816 1817 * tracebak.c: Revert previous change, incomplete. 1818 18192013-01-02 Ed Schonberg <schonberg@adacore.com> 1820 1821 * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect 1822 appears on a subprogram body that acts as a spec, place the 1823 corresponding pragma in the declarations of the body, so that 1824 e.g. pre/postcondition checks can be generated appropriately. 1825 18262013-01-02 Robert Dewar <dewar@adacore.com> 1827 1828 * sem_ch3.adb: Minor reformatting and code reorganization. 1829 18302013-01-02 Vincent Celier <celier@adacore.com> 1831 1832 * switch-m.adb (Normalize_Compiler_Switches): Record the 1833 complete switch -fstack-check=specific instead of its shorter 1834 alias -fstack-check. 1835 18362013-01-02 Ed Schonberg <schonberg@adacore.com> 1837 1838 * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8): 1839 if the derived type is a tagged generic formal type with 1840 unknown discriminants, the inherited operation has convention 1841 Intrinsic. As such, the 'Access attribute cannot be applied to it. 1842 18432013-01-02 Thomas Quinot <quinot@adacore.com> 1844 1845 * sem_attr.adb: Minor reformatting. 1846 18472013-01-02 Thomas Quinot <quinot@adacore.com> 1848 1849 * par_sco.adb: Add SCO generation for S of protected types and 1850 single protected object declarations. 1851 18522013-01-02 Robert Dewar <dewar@adacore.com> 1853 1854 * sem_eval.adb, osint.ads: Minor reformatting. 1855 18562013-01-02 Hristian Kirtchev <kirtchev@adacore.com> 1857 1858 * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume. 1859 18602013-01-02 Thomas Quinot <quinot@adacore.com> 1861 1862 * sem_eval.adb (Compile_Time_Compare): For static operands, we 1863 can perform a compile time comparison even if in preanalysis mode. 1864 18652013-01-02 Thomas Quinot <quinot@adacore.com> 1866 1867 * par_sco.adb (SCO_Record): Always use 1868 Traverse_Declarations_Or_Statements to process the library level 1869 declaration, so that SCOs are properly generated for its aspects. 1870 18712013-01-02 Thomas Quinot <quinot@adacore.com> 1872 1873 * scos.ads (In_Decision): Add missing entry for 'a'. 1874 * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit 1875 call to Set_SCO_Pragma_Enabled for Invariant and Predicate. 1876 * sem_ch13.adb: Minor comment update. 1877 1878Copyright (C) 2013 Free Software Foundation, Inc. 1879 1880Copying and distribution of this file, with or without modification, 1881are permitted in any medium without royalty provided the copyright 1882notice and this notice are preserved. 1883