12009-12-10 Eric Botcazou <ebotcazou@adacore.com> 2 3 * s-linux-sparc.ads: New file. 4 * gcc-interface/Makefile.in (SPARC/Linux): Use it. 5 62009-12-04 Eric Botcazou <ebotcazou@adacore.com> 7 8 * gcc-interface/trans.c (add_decl_expr): At toplevel, mark the 9 TYPE_ADA_SIZE field of records and unions. 10 11 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Set the 12 source location of the node onto the comparison expression if it 13 is not cached. 14 152009-12-03 Eric Botcazou <ebotcazou@adacore.com> 16 17 * exp_util.adb (Make_CW_Equivalent_Type): Set the 18 Is_Class_Wide_Equivalent_Type flag here in lieu of... 19 (Make_Subtype_From_Expr): ...here. 20 * exp_ch3.adb (Expand_Freeze_Record_Type): Do not set 21 Has_Controlled_Component on class-wide equivalent types. 22 * freeze.adb (Freeze_Record_Type): Likewise. 23 * sem_ch3.adb (Record_Type_Definition): Likewise. 24 252009-12-01 Pascal Obry <obry@adacore.com> 26 27 * s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is 28 taken at a clock tick boundary. 29 302009-12-01 Thomas Quinot <quinot@adacore.com> 31 32 * g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract. 33 342009-12-01 Matthew Gingell <gingell@adacore.com> 35 36 * adadecode.c: Allow compilation when building the run time in the gnat 37 runtime. 38 (__gnat_decode): Strip the .nnnn suffix from names of nested functions. 39 40 * gcc-interface/Makefile.in: Ada adadecode to LIBGNAT_SRCS and 41 LIBGNAT_OBJS. 42 432009-12-01 Vincent Celier <celier@adacore.com> 44 45 * gnatcmd.adb (Check_Files): Quote the path names as they may include 46 spaces. 47 482009-12-01 Ed Schonberg <schonberg@adacore.com> 49 50 * sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier 51 has already been declared, it may have been rewritten as a renaming 52 declaration. 53 542009-12-01 Ed Schonberg <schonberg@adacore.com> 55 56 * einfo.ads: Clarify use of Is_Private_Primitive. 57 * sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a 58 private primitive operation only if it is declared in the scope of the 59 private controlling type. 60 * exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private 61 protected operations as well. 62 632009-12-01 Arnaud Charlet <charlet@adacore.com> 64 65 * gnat1drv.adb (Adjust_Global_Switches): Disable front-end 66 optimizations in CodePeer mode, to keep the tree as close to the source 67 code as possible, and also to avoid inconsistencies between trees when 68 using different optimization switches. 69 702009-12-01 Thomas Quinot <quinot@adacore.com> 71 72 * scos.ads: Updated specification of source coverage obligation 73 information. 74 752009-12-01 Thomas Quinot <quinot@adacore.com> 76 77 * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb, 78 a-ststio.adb, s-commun.adb, s-commun.ads, g-socket.adb, 79 g-socket.ads (System.Communications.Last_Index): For the case where no 80 element has been transferred and Item'First = 81 Stream_Element_Offset'First, raise CONSTRAINT_ERROR. 82 832009-12-01 Ed Schonberg <schonberg@adacore.com> 84 85 * sem_ch10.adb (Install_Siblings): A private with_clause on some child 86 unit U in an ancestor of the current unit must be ignored if the 87 current unit has a regular with_clause on U. 88 892009-11-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 90 91 * s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX 92 if _XOPEN_IOV_MAX is defined. 93 942009-11-30 Vasiliy Fofanov <fofanov@adacore.com> 95 96 * vms_data.ads: Add new VMS qualifiers, 97 REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order 98 effects. 99 1002009-11-30 Thomas Quinot <quinot@adacore.com> 101 102 * exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting. 103 1042009-11-30 Gary Dismukes <dismukes@adacore.com> 105 106 * sem_prag.adb: Fix spelling error. 107 1082009-11-30 Ed Schonberg <schonberg@adacore.com> 109 110 * exp_ch9.ads (Build_Private_Protected_Declaration): For a protected 111 operation that is only declared in a protected body, create a 112 corresponding subprogram declaration. 113 * exp_ch9.adb (Expand_N_Protected_Body): Create protected body of 114 operation in all cases, including for an operation that is only 115 declared in the body. 116 * sem_ch6.adb: Call Build_Private_Protected_Declaration 117 * exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation 118 declared in a protected body, create the declaration for the 119 corresponding protected version of the operation. 120 1212009-11-30 Arnaud Charlet <charlet@adacore.com> 122 123 * gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions 124 for Restrictions pragmas, to avoid tree inconsistencies between 125 compilations with different pragmas. 126 1272009-11-30 Jerome Lambourg <lambourg@adacore.com> 128 129 * sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported 130 to CIL to have duplicated export name. 131 1322009-11-30 Robert Dewar <dewar@adacore.com> 133 134 * a-tiinio.adb: Remove extraneous pragma Warnings (Off). 135 1362009-11-30 Thomas Quinot <quinot@adacore.com> 137 138 * par_sco.adb: Minor reformatting 139 1402009-11-30 Ed Falis <falis@adacore.com> 141 142 * s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb: 143 Comment update. 144 1452009-11-30 Ed Schonberg <schonberg@adacore.com> 146 147 * par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's 148 for null statements that do not come from source. 149 * sinfo.ads: Clarify documentation of Comes_From_Source 150 1512009-11-30 Vincent Celier <celier@adacore.com> 152 153 * prj-nmsc.adb (Add_Source): Use Display_Name for both projects when 154 displaying the paths in error message. 155 1562009-11-30 Emmanuel Briot <briot@adacore.com> 157 158 * adaint.h, adaint.c (file_attributes): force the use of unsigned char. 159 On some platforms, "char" is signed, on others unsigned, so we 160 explicitly specify the one we expect 161 1622009-11-30 Matthew Heaney <heaney@adacore.com> 163 164 * a-coinve.adb (Insert): Move exception handler closer to point where 165 exception can occur. 166 Minor reformatting & comment additions. 167 1682009-11-30 Arnaud Charlet <charlet@adacore.com> 169 170 * freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must 171 pass bounds' for VM targets, not relevant. 172 1732009-11-30 Robert Dewar <dewar@adacore.com> 174 175 * sem_util.adb (Wrong_Type): Diagnose additional case of modular 176 missing parens. 177 * a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting 178 179 * exp_util.adb (Kill_Dead_Code): Suppress warning for some additional 180 cases. 181 182 * sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure 183 completeness. 184 (Set_Dot_Warning_Flag): Ditto for -gnatw.e 185 (Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V 186 * usage.adb: Add lines for -gnatw.v/w.V 187 1882009-11-30 Emmanuel Briot <briot@adacore.com> 189 190 * make.adb (Check_Standard_Library): use Full_Source_Name instead of 191 direct call to Find_File. The former provides caching of the results, so 192 might be more efficient 193 (Start_Compile_If_Necessary): Add comment on possible optimization, 194 not done for now. 195 1962009-11-30 Thomas Quinot <quinot@adacore.com> 197 198 * g-sechas.adb: Minor reformatting 199 2002009-11-30 Matthew Heaney <heaney@adacore.com> 201 202 * a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates 203 were removed. 204 * a-cdlili.adb (Vet): Remove always-true predicates. 205 2062009-11-30 Thomas Quinot <quinot@adacore.com> 207 208 * s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb, 209 s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads, 210 s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb, 211 g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads, 212 g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl, 213 g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb, 214 g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes. 215 2162009-11-30 Robert Dewar <dewar@adacore.com> 217 218 * osint.ads: Minor comment update. 219 2202009-11-30 Thomas Quinot <quinot@adacore.com> 221 222 * s-sechas.adb: Fix swapping error in previous checkin. 223 * g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, 224 g-sha384.ads: Add missing documentation. 225 2262009-11-30 Robert Dewar <dewar@adacore.com> 227 228 * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads, 229 g-sha384.ads: Minor reformatting 230 2312009-11-30 Emmanuel Briot <briot@adacore.com> 232 233 * adaint.h (file_attributes): Reduce size of the structure, so that it 234 is less costly to store in records. 235 * makeutl.adb: 236 (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct 237 call to Find_File, since the former provides caching when appropriate, 238 which limits the number of system calls in some cases. 239 * osint.ads, prj.ads (Source_Data): do not store directly the timestamp, 240 but the file attributes since we also need access to the size of the 241 ALI file to parse it. This gives an opportunity for saving system calls 242 on Unix systems. 243 2442009-11-30 Robert Dewar <dewar@adacore.com> 245 246 * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting. 247 2482009-11-30 Gary Dismukes <dismukes@adacore.com> 249 250 * sem_prag.adb (Process_Convention): Change formal E to Ent. In the 251 case where the pragma's entity argument is a renaming, return the 252 entity denoted by the renaming rather than the renamed entity. Loop 253 through the homonyms of the original argument entity, rather than the 254 homonyms of any renamed entity. Correct call to Generate_Entity to 255 pass the homonym. 256 2572009-11-30 Vincent Celier <celier@adacore.com> 258 259 * impunit.adb: Add packages that were added to the GNAT library: 260 GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512. 261 * s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index 262 2632009-11-30 Robert Dewar <dewar@adacore.com> 264 265 * exp_ch3.adb: Minor reformatting 266 * g-md5.ads, g-sha1.ads: Add comment. 267 2682009-11-30 Arnaud Charlet <charlet@adacore.com> 269 270 * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer 271 needed. 272 2732009-11-30 Pascal Obry <obry@adacore.com> 274 275 * expect.c: Fix cast to avoid warnings in x86-64 Windows. 276 2772009-11-30 Thomas Quinot <quinot@adacore.com> 278 279 * gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb, 280 s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb, 281 s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb, 282 g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb, 283 s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5 284 and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies. 285 Also introduce new functions SHA-{224,256,384,512} 286 2872009-11-30 Jerome Lambourg <lambourg@adacore.com> 288 289 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for 290 the Value_Type case. 291 2922009-11-30 Thomas Quinot <quinot@adacore.com> 293 294 * a-textio.adb: Minor reformatting 295 2962009-11-30 Pascal Obry <obry@adacore.com> 297 298 * adaint.c: Fix bug in passing parameter. 299 * expect.c: Include io.h to get definition of _open_osfhandle 300 3012009-11-30 Javier Miranda <miranda@adacore.com> 302 303 * exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management 304 of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes. 305 (Expand_Call): Adjust decoration of SCIL node associated with relocated 306 function call. 307 3082009-11-30 Emmanuel Briot <briot@adacore.com> 309 310 * prj-env.adb (Add_To_Source_Path): Preserve casing of directories 311 3122009-11-30 Vincent Celier <celier@adacore.com> 313 314 * opt.ads (No_Split_Units): New flag initialized to False 315 3162009-11-30 Jerome Lambourg <lambourg@adacore.com> 317 318 * exp_ch7.adb (Needs_Finalization): Add comments. 319 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of 320 CIL Value types. 321 3222009-11-30 Robert Dewar <dewar@adacore.com> 323 324 * osint.adb, a-rttiev.adb: Minor reformatting. 325 3262009-11-30 Robert Dewar <dewar@adacore.com> 327 328 * gnat_rm.texi: Remove list of warning letters, and refer instead to 329 using gnatmake to get a brief list. 330 331 * debug.adb: Document -gnatd.i to disable pragma Warnings 332 * par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings 333 pragma. 334 * vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i 335 3362009-11-30 Geert Bosch <bosch@adacore.com> 337 338 * a-ngelfu.adb (Sin): Correct spelling of sine in comment. 339 3402009-11-30 Vincent Celier <celier@adacore.com> 341 342 * gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it 343 is not needed and gnatls fails when called with -v -nostdinc. 344 3452009-11-30 Emmanuel Briot <briot@adacore.com> 346 347 * osint.adb, osint.ads (File_Time_Stamp): new subprogram. 348 3492009-11-30 Ed Schonberg <schonberg@adacore.com> 350 351 * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate 352 3532009-11-30 Robert Dewar <dewar@adacore.com> 354 355 * scans.ads (Wide_Wide_Character_Found): New flag 356 * scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character 357 * scng.adb (Set_String): Set new flag Wide_Wide_Character_Found 358 (Set_String): Fix failure to reset Wide_Character_Found 359 * sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal 360 * sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal 361 * a-ngelfu.adb: Minor reformatting & code reorganization. 362 * usage.adb: Fix typo in -gnatw.W line 363 3642009-11-30 Robert Dewar <dewar@adacore.com> 365 366 * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor 367 reformatting. 368 * csinfo.adb: Terminate run if improper use of reserved flag 369 * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved 370 Flag12, used Flag13 instead. 371 3722009-11-30 Vincent Celier <celier@adacore.com> 373 374 * gnatcmd.adb (Check_Files): Recognize documented switches that have a 375 separate parameter. 376 3772009-11-30 Robert Dewar <dewar@adacore.com> 378 379 * sem_util.ads: Minor reformatting 380 * errout.adb: Minor reformatting 381 Minor code reorganization (use N_Subprogram_Specification to simplify) 382 * exp_ch7.adb: Add comment. 383 3842009-11-30 Thomas Quinot <quinot@adacore.com> 385 386 * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit 387 that has no SCOs. 388 * scos.ads: Minor reformatting 389 3902009-11-30 Ed Schonberg <schonberg@adacore.com> 391 392 * sem_prag.adb: Second unanalyzed parameter of Annotate is optional. 393 3942009-11-30 Eric Botcazou <ebotcazou@adacore.com> 395 396 * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard 397 for null PC saved in the context. 398 3992009-11-30 Hristian Kirtchev <kirtchev@adacore.com> 400 401 * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the 402 number of days from the Ada Epoch to the input date while ensuring that 403 both dates are in the same time zone. 404 4052009-11-30 Emmanuel Briot <briot@adacore.com> 406 407 * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is 408 done in other project-aware tools like gnatmake and gprbuild. 409 4102009-11-30 Jerome Lambourg <lambourg@adacore.com> 411 412 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL 413 ValueTypes. 414 * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes. 415 * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars 416 (Is_Delegate): New method used for CIL. 417 * sem_util.ads (Is_Delegate): New method for CIL handling. 418 (Is_Value_Type): Improve documentation. 419 4202009-11-30 Ed Schonberg <schonberg@adacore.com> 421 422 * errout.adb (Unwind_Internal_Type): Improve error reporting if the 423 type is an anonymous access to subprogram that is the type of a formal 424 in a subprogram spec. 425 4262009-11-30 Vincent Celier <celier@adacore.com> 427 428 * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if 429 attribute Interfaces is not declared, then Library_Interface should 430 define the interfaces. 431 4322009-11-30 Ed Schonberg <schonberg@adacore.com> 433 434 * sem_prag.adb: New semantics for Annotate. 435 4362009-11-30 Tristan Gingold <gingold@adacore.com> 437 438 * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin. 439 4402009-11-30 Emmanuel Briot <briot@adacore.com> 441 442 * gnat_ugn.texi: Extend doc for -eL 443 4442009-11-30 Vincent Celier <celier@adacore.com> 445 446 * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the 447 Name_Buffer before testing for a dot in the Name. 448 4492009-11-30 Vincent Celier <celier@adacore.com> 450 451 * prj-part.adb (Project_Path_Name_Of): Resolve links for final result 452 if -eL has been specified. 453 4542009-11-30 Vincent Celier <celier@adacore.com> 455 456 * osint.adb (Executable_Name): Test the name instead of the name buffer 457 to check if there is a dot in the given name. 458 4592009-11-30 Sergey Rybin <rybin@adacore.com> 460 461 * gnat_ugn.texi: Update gnatcheck doc. 462 4632009-11-30 Robert Dewar <dewar@adacore.com> 464 465 * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting 466 4672009-11-30 Vasiliy Fofanov <fofanov@adacore.com> 468 469 * gnat_ugn.texi: Minor editing. 470 4712009-11-30 Emmanuel Briot <briot@adacore.com> 472 473 * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume 474 that no directory matches the naming scheme for sources. 475 4762009-11-30 Emmanuel Briot <briot@adacore.com> 477 478 * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in 479 project_data. 480 4812009-11-30 Vincent Celier <celier@adacore.com> 482 483 * osint.adb (Executable_Name): Correctly decide if the executable 484 suffix should be added when Only_If_No_Suffix is True. 485 4862009-11-30 Robert Dewar <dewar@adacore.com> 487 488 * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb, 489 prj-tree.ads: Minor reformatting 490 4912009-11-30 Vincent Celier <celier@adacore.com> 492 493 * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o 494 with Only_If_No_Suffix set to True. 495 * osint.adb (Executable_Name): Do not add executable suffix if there is 496 already a suffix and Only_If_No_Suffix is True. 497 * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix, 498 defaulted to False. 499 5002009-11-30 Javier Miranda <miranda@adacore.com> 501 502 * exp_atag.adb (Build_TSD): Change argument name because the actual is 503 now the address of a tag (instead of the tag). Update implementation 504 accordingly. 505 (Build_CW_Membership): New implementation. Converted into a procedure 506 because it has an additional out mode parameter. Its implementation has 507 been rewritten to improve the generated code but also to facilitate 508 referencing the relocated object node in the caller. 509 * exp_atag.ads (Build_CW_Membership): Update profile and documentation. 510 * sinfo.ads (N_SCIL_Membership_Test) New_Node. 511 (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes. 512 (Is_Syntactic_Field): Add entry of new node. 513 (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms. 514 * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to 515 handle N_SCIL_Membership_Test nodes. 516 (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms. 517 * sem.adb (Analyze): Add null management for new node. 518 * sem_scil.adb (Find_SCIL_Node): Add null management for new node. 519 (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes. 520 * exp_ch4.adb (Tagged_Membership): Change profile from function to 521 procedure. Add generation of SCIL node associated with class-wide 522 membership test. 523 (Expand_N_In): Complete decoration of SCIL nodes. 524 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to 525 Build_CW_Membership because its profile has been changed. 526 * exp_util.adb (Insert_Actions): Add null management for new node. 527 * sprint.adb (Sprint_Node_Actual): Handle new node. 528 * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test 529 nodes. 530 * gcc-interface/Make-lang.in: Update dependencies. 531 5322009-11-30 Ed Schonberg <schonberg@adacore.com> 533 534 * opt.ads: New flags Init_Or_Norm_Scalars_Config, 535 Initialize_Scalars_Config, to capture the presence of the corresponding 536 pragmas in a configuration file. 537 * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches): 538 handle new flags so that they are restored for each compilation unit. 539 * frontend.adb: At the end of compilation, scan the context of the main 540 unit to recover occurrences of pragma Initialize_Scalars, to annotate 541 the ALI file accordingly. 542 5432009-11-30 Vincent Celier <celier@adacore.com> 544 545 * prj-tree.ads: Minor comment updates 546 * prj-tree.adb: Minor reformatting 547 5482009-11-30 Ed Schonberg <schonberg@adacore.com> 549 550 * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited 551 predefined control operation is hidden if the parent type is not 552 visibly controlled. 553 * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if 554 overridden operation is not visible, as may be the case with predefined 555 control operations. 556 * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on 557 non-overriding control operation when type is not visibly controlled, 558 if the subprogram has an explicit overriding indicator. 559 * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from 560 sem_disp.adb. 561 5622009-11-30 Emmanuel Briot <briot@adacore.com> 563 564 * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows 565 * prj-attr.ads: Minor comment updates 566 5672009-11-30 Robert Dewar <dewar@adacore.com> 568 569 * gnat_rm.texi: Document pragma Short_Circuit 570 5712009-11-30 Emmanuel Briot <briot@adacore.com> 572 573 * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set 574 the index either on the attribute or on its value, depending on the 575 kind of the attribute. Done to match recent changes in Prj.PP that were 576 not synchronized with this function. 577 5782009-11-30 Arnaud Charlet <charlet@adacore.com> 579 580 * gcc-interface/Make-lang.in: Fix typo. 581 Update dependencies. 582 5832009-11-30 Robert Dewar <dewar@adacore.com> 584 585 * gnat_rm.texi: Add documentation for attribute Result. 586 5872009-11-30 Arnaud Charlet <charlet@adacore.com> 588 589 * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads, 590 s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads 591 (Get_Page_Size): Update comment since Get_Page_Size is now required. 592 5932009-11-30 Jerome Lambourg <lambourg@adacore.com> 594 595 * freeze.adb: Disable Warning on VM targets concerning C Imports, not 596 relevant. 597 5982009-11-30 Bob Duff <duff@adacore.com> 599 600 * sprint.adb (Source_Dump): Minor comment fix. 601 (Write_Itype): When writing a string literal subtype, use Expr_Value 602 instead of Intval to get the low bound. 603 6042009-11-30 Vincent Celier <celier@adacore.com> 605 606 * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments 607 of switch -o. 608 6092009-11-30 Robert Dewar <dewar@adacore.com> 610 611 * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or 612 (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or 613 * opt.ads (Short_Circuit_And_Or): New flag 614 * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or 615 * sem_prag.adb: Implement pragma Short_Circuit_And_Or 616 * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or 617 6182009-11-30 Arnaud Charlet <charlet@adacore.com> 619 620 * s-taprop-posix.adb: Fix casing. 621 * s-osinte-tru64.adb: Complete previous check-in. 622 6232009-11-30 Robert Dewar <dewar@adacore.com> 624 625 * gnat_rm.texi: Document pragma Compiler_Unit 626 * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads, 627 a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb, 628 s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing 629 Compiler_Unit pragmas. 630 * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed 631 to C. 632 6332009-11-30 Robert Dewar <dewar@adacore.com> 634 635 * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor 636 reformatting. 637 6382009-11-30 Thomas Quinot <quinot@adacore.com> 639 640 * osint.adb: Minor reformatting 641 6422009-11-30 Vincent Celier <celier@adacore.com> 643 644 * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get 645 the base name of a main without the extension, with an eventual source 646 index. 647 (Mains.Get_Index): New procedure to set the source index of a main 648 (Mains.Get_Index): New function to get the source index of a main 649 * prj-attr.adb: New attributes Config_Body_File_Name_Index, 650 Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and 651 Multi_Unit_Switches. 652 * prj-nmsc.adb (Process_Compiler): Takle into account new attributes 653 Config_Body_File_Name_Index, Config_Spec_File_Name_Index, 654 Multi_Unit_Object_Separator and Multi_Unit_Switches. 655 Allow only one character for Multi_Unit_Object_Separator. 656 * prj-proc.adb (Process_Declarative_Items): Take into account the 657 source indexes in indexes of associative array attribute declarations. 658 * prj.adb (Object_Name): New function to get the object file name for 659 units in multi-unit sources. 660 * prj.ads (Language_Config): New components Multi_Unit_Switches, 661 Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index. 662 (Object_Name): New function to get the object file name for units in 663 multi-unit sources. 664 * snames.ads-tmpl: New standard names Config_Body_File_Name_Index, 665 Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and 666 Multi_Unit_Switches. 667 6682009-11-30 Arnaud Charlet <charlet@adacore.com> 669 670 * s-tassta.adb: Update comment. 671 6722009-11-30 Robert Dewar <dewar@adacore.com> 673 674 * a-ngelfu.adb: Minor code reorganization. 675 6762009-11-30 Robert Dewar <dewar@adacore.com> 677 678 * osint.ads, prj.adb, prj.ads: Minor reformatting 679 * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, 680 s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb, 681 s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb, 682 s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb, 683 s-taprop-posix.adb: Minor code reorganization (use conditional 684 expressions). 685 6862009-11-30 Bob Duff <duff@adacore.com> 687 688 * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change. 689 6902009-11-30 Bob Duff <duff@adacore.com> 691 692 * socket.c: Add more accessor functions for struct servent (need 693 setters as well as getters). 694 * g-sothco.ads (Servent): Declare interfaces to C setter functions for 695 struct servent. 696 * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for 697 struct servent. 698 6992009-11-30 Robert Dewar <dewar@adacore.com> 700 701 * s-stchop-vxworks.adb: Add comment. 702 7032009-11-30 Emmanuel Briot <briot@adacore.com> 704 705 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts 706 on the whole tree, to better share code with gprbuild. 707 (Length): New subprogram, to share code in gprbuild. 708 (Project_Data): Remove fields that are only needed when compiling a 709 project in gprbuild (where we use local variables instead) 710 * osint.adb, osint.ads: Added minor comment on memory management 711 7122009-11-30 Sergey Rybin <rybin@adacore.com> 713 714 * gnat_ugn.texi: Update gnatcheck doc. 715 7162009-11-30 Robert Dewar <dewar@adacore.com> 717 718 make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting 719 * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start 720 with lower case). 721 * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb, 722 g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb, 723 s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb, 724 g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb, 725 g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code 726 reorganization (use conditional expressions). 727 7282009-11-30 Vincent Celier <celier@adacore.com> 729 730 * prj-makr.adb (Source_Files): New hash table to keep track of source 731 file names. 732 (Finalize): Avoid putting several times the same source file name 733 in the source list file. 734 * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for 735 associative array indexes. 736 7372009-11-30 Robert Dewar <dewar@adacore.com> 738 739 * g-dyntab.ads: Add missing pragma Compiler_Unit 740 7412009-11-30 Thomas Quinot <quinot@adacore.com> 742 743 * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb 744 (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are 745 used in the Ada runtime but can't be used in the compiler because of 746 bootstrap issues. 747 * socket.c, s-oscons-tmplt.c, g-sothco.ads 748 (System.OS_Constants.SIZEOF_struct_servent): New constant. 749 Use s-oscons constant instead of external variable to get size of 750 struct hostent. 751 7522009-11-30 Thomas Quinot <quinot@adacore.com> 753 754 * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change 755 return type to Interfaces.C.Strings.chars_ptr to eliminate need for 756 dubious unchecked conversion at call sites. 757 * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting): 758 Remove obsolete, unused runtime unit. 759 * gcc-interface/Make-lang.in: Update dependencies. 760 * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not 761 required anymore. 762 7632009-11-30 Vincent Celier <celier@adacore.com> 764 765 * gnatlink.adb: Delete an eventual existing executable file, in case it 766 is a symbolic link, to avoid modifying the target of the symbolic link. 767 7682009-11-30 Bob Duff <duff@adacore.com> 769 770 * socket.c: Add accessor functions for struct servent. 771 * g-sothco.ads (Servent): Declare interfaces to C accessor functions 772 for struct servent. 773 * g-socket.adb (To_Service_Entry): Use accessor functions for struct 774 servent. 775 7762009-11-30 Robert Dewar <dewar@adacore.com> 777 778 * g-arrspl.adb: Minor reformatting 779 * g-dyntab.adb: Add missing pragma Compiler_Unit 780 7812009-11-30 Thomas Quinot <quinot@adacore.com> 782 783 * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS 784 * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting 785 7862009-11-30 Robert Dewar <dewar@adacore.com> 787 788 * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb, 789 osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting 790 * g-alleve.adb: Minor code reorganization (use conditional expressions) 791 7922009-11-30 Matthew Heaney <heaney@adacore.com> 793 794 * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to 795 assertions. 796 7972009-11-30 Thomas Quinot <quinot@adacore.com> 798 799 * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32, 800 System.CRTL.realloc32): Remove VMS-specific routines. 801 (Ada.Task_Attributes.Reference): Remove unreachable code. 802 (System.Task_Primitives.Operations.Initialize, dummy version): 803 Use plain Program_Error rather than call to 804 System.Error_Reporting.Shutdown. 805 8062009-11-30 Thomas Quinot <quinot@adacore.com> 807 808 * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for 809 sharing s-crtl across all platforms. 810 8112009-11-30 Thomas Quinot <quinot@adacore.com> 812 813 * s-commun.adb, s-commun.ads: New internal support unit, 814 allowing code sharing between GNAT.Sockets and 815 GNAT.Serial_Communication. 816 * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb, 817 g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication. 818 (GNAT.Serial_Communication.Read): Handle correctly the case where no 819 data was read, and Buffer'First = Stream_Element_Offset'First. 820 * Makefile.rtl: Add entry for s-commun 821 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, 822 g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads, 823 g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message): 824 Reimplement in terms of System.CRTL.strerror. 825 8262009-11-26 Eric Botcazou <ebotcazou@adacore.com> 827 828 * gcc-interface/utils.c (copy_type): Unshare the language-specific data 829 and the contents of the language-specific slot if needed. 830 8312009-11-26 Eric Botcazou <ebotcazou@adacore.com> 832 833 * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location 834 of the operator on both branches of the test in the generic case. 835 8362009-11-25 Eric Botcazou <ebotcazou@adacore.com> 837 838 * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into... 839 (unchecked_conversion_nop): ...this. Handle actual parameters. 840 (gnat_to_gnu): Adjust for above renaming. 841 8422009-11-25 Eric Botcazou <ebotcazou@adacore.com> 843 844 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: 845 Translate regular boolean types into BOOLEAN_TYPEs. 846 8472009-11-24 Eric Botcazou <ebotcazou@adacore.com> 848 849 * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype, 850 also set the flag on the Equivalent_Type. 851 * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE 852 parameter with DEBUG_INFO_P. Rename FIELDLIST into FIELD_LIST. 853 (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST. 854 (build_vms_descriptor32): Adjust call to finish_record_type. 855 (build_vms_descriptor): Likewise. 856 (build_unc_object_type): Likewise. 857 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to 858 finish_record_type and components_to_record. 859 (make_packable_type): Adjust call to finish_record_type. 860 (maybe_pad_type): Likewise. Tweak condition. 861 (components_to_record): Likewise. Replace DO_NOT_FINALIZE parameter 862 with MAYBE_UNUSED. Adjust recursive call. 863 (create_variant_part_from): Adjust call to finish_record_type. Do not 864 call rest_of_record_type_compilation on the new record types. 865 * gcc-interface/trans.c (gigi): Adjust call to finish_record_type. 866 * gcc-interface/gigi.h (finish_record_type): Adjust prototype and 867 comment. 868 (rest_of_record_type_compilation): Adjust comment. 869 8702009-11-24 Eric Botcazou <ebotcazou@adacore.com> 871 872 * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as 873 frozen for targets that do not require front-end layout. 874 (New_Class_Wide_Subtype): Always reset the freezing status to False. 875 * exp_ch8.adb: Do not 'with' Targparm. 876 (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide 877 subtype that has been built from the expression. 878 * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is 879 class wide, freeze the implicit type that has been built from the 880 expression at the dereference point. 881 * freeze.adb (Freeze_Entity): Adjust comment. 882 * gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>: 883 Remove useless test. 884 * gcc-interface/trans.c (process_freeze_entity): Do not special-case 885 class-wide subtypes. 886 887 * s-osinte-aix.adb (clock_gettime): Fix comment. 888 * s-osinte-darwin.adb (clock_gettime): Likewise. 889 8902009-11-23 Eric Botcazou <ebotcazou@adacore.com> 891 892 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list 893 of attributes when building the corresponding variable of a constant. 894 * gcc-interface/utils.c (create_var_decl_1): Do not process attributes 895 for constants. 896 8972009-11-23 Laurent GUERBY <laurent@guerby.net> 898 Eric Botcazou <ebotcazou@adacore.com> 899 900 PR ada/42153 901 * s-osinte-linux.ads (struct_timeval): Delete. 902 * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete. 903 * s-osinte-kfreebsd-gnu.ads: Likewise. 904 * s-osinte-rtems.ads: Likewise. 905 * s-osinte-aix.ads: Likewise. 906 * s-osinte-hpux-dce.ads: Likewise. 907 * s-osinte-darwin.ads: Likewise. 908 * s-osinte-solaris-posix.ads: Likewise. 909 * s-osinte-irix.ads: Likewise. 910 * s-osinte-solaris.ads: Likewise. 911 * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete. 912 * s-osinte-irix.adb: Likewise. 913 * s-osinte-solaris.adb: Likewise. 914 * s-osinte-rtems.adb: Likewise. Minor reformatting. 915 * s-osinte-aix.adb (To_Duration, To_Timeval): Delete. 916 (clock_gettime): Use cal.c's timeval_to_duration. 917 * s-osinte-darwin.adb: Likewise. 918 9192009-11-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 920 921 * adaint.h: Assume large file support on IRIX only if _LFAPI. 922 9232009-11-21 Laurent GUERBY <laurent@guerby.net> 924 Eric Botcazou <ebotcazou@adacore.com> 925 926 * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval, 927 gettimeofday): Delete. 928 * s-osinte-posix.adb (To_Duration, To_Timeval): Delete. 929 * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday): 930 Delete. 931 (Clock): Use cal.c's timeval_to_duration. 932 * s-taprop-linux.adb (Monotonic_Clock): Likewise. 933 9342009-11-12 Eric Botcazou <ebotcazou@adacore.com> 935 Laurent GUERBY <laurent@guerby.net> 936 937 * init.c (GNU/Linux Section): Enable for all architectures. 938 9392009-11-10 Eric Botcazou <ebotcazou@adacore.com> 940 941 PR ada/20548 942 * system-linux-alpha.ads (Stack_Check_Probes): Set to true. 943 * system-linux-hppa.ads (Stack_Check_Probes): Likewise. 944 * system-linux-sparc.ads (Stack_Check_Probes): Likewise. 945 * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise. 946 9472009-11-10 Eric Botcazou <ebotcazou@adacore.com> 948 949 * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS, 950 Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): 951 Delete. 952 (Stack_Check_Limits, Always_Compatible_Rep): New. 953 * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS, 954 Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): 955 Delete. 956 (Stack_Check_Limits, Always_Compatible_Rep): New. 957 * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS, 958 Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode, 959 Long_Shifts_Inlined): Delete. 960 (Stack_Check_Limits, Always_Compatible_Rep): New. 961 * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS, 962 Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): 963 Delete. 964 (Stack_Check_Limits, Always_Compatible_Rep): New. 965 * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS, 966 Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): 967 Delete. 968 (Stack_Check_Limits, Always_Compatible_Rep): New. 969 * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS, 970 Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): 971 Delete. 972 (Stack_Check_Limits, Always_Compatible_Rep): New. 973 * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep): 974 New. 975 * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS, 976 Front_End_ZCX_Support): Delete. 977 (Stack_Check_Limits, Always_Compatible_Rep): New. 978 * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS, 979 Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): 980 Delete. 981 (Stack_Check_Limits, Always_Compatible_Rep): New. 982 * system-rtems.ads (OpenVMS): Delete. 983 (Stack_Check_Limits, Always_Compatible_Rep): New. 984 9852009-11-08 Eric Botcazou <ebotcazou@adacore.com> 986 987 * gcc-interface/decl.c (make_packable_type): Fix oversight. 988 (gnat_to_gnu_field): Do not attempt to change the form of the type 989 if the field requires strict alignment. Always change the form of 990 the type if the specified size is smaller than its size. 991 9922009-11-05 Eric Botcazou <ebotcazou@adacore.com> 993 994 * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes. 995 9962009-11-05 Eric Botcazou <ebotcazou@adacore.com> 997 998 * gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>: 999 New case. 1000 10012009-10-30 Eric Botcazou <ebotcazou@adacore.com> 1002 1003 * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete. 1004 (create_field_decl): Update description. In a packed record, round 1005 the size up to a byte boundary only if the field's type has BLKmode. 1006 * gcc-interface/gigi.h (create_field_decl): Update description. 1007 10082009-10-30 Emmanuel Briot <briot@adacore.com> 1009 1010 * make.adb (Start_Compile_If_Possible): Compute location of resulting 1011 ALI file in this procedure instead of after the compilation itself, 1012 since the current directory might have changed in between when using 1013 -j<n>. 1014 1015 * osint.ads: Addded missing alignment clause. 1016 1017 * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes, 1018 __gnat_size_of_file_attributes): Rename reset_attributes and 1019 size_of_file_attributes. 1020 10212009-10-30 Javier Miranda <miranda@adacore.com> 1022 1023 * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences 1024 of statements when searching for SCIL nodes. 1025 10262009-10-30 Tristan Gingold <gingold@adacore.com> 1027 1028 * gnatlink.adb, link.c: By default use shared libgcc on darwin. 1029 10302009-10-30 Emmanuel Briot <briot@adacore.com> 1031 1032 * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is 1033 already in the list. 1034 This saves system calls when looking for ALI files 1035 (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an 1036 absolute PATH (so that the above improvement properly occurs if both 1037 -D<dir> and -aO<dir> are specified). 1038 10392009-10-30 Thomas Quinot <quinot@adacore.com> 1040 1041 * a-direct.adb: Minor reformatting 1042 10432009-10-30 Emmanuel Briot <briot@adacore.com> 1044 1045 * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb 1046 (*_attr): new subprograms. 1047 (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms 1048 (Read_Library_Info_From_Full, Full_Library_Info_Name, 1049 Full_Source_Name): Now benefit from a previous cache of the file 1050 attributes, to further save on system calls. 1051 (Smart_Find_File): now also cache the file attributes. This makes the 1052 package File_Stamp_Hash_Table useless, and it was removed. 1053 (Compile_Sources): create subprograms for the various steps of the main 1054 loop, for readibility and to avoid sharing variables between the 1055 various steps. 1056 10572009-10-30 Emmanuel Briot <briot@adacore.com> 1058 1059 * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since 1060 unused. 1061 (Read_Library_Info_From_Full): New subprogram. 1062 10632009-10-30 Robert Dewar <dewar@adacore.com> 1064 1065 * a-tideio.adb: Minor reformatting 1066 * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up. 1067 1068 * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb, 1069 a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization 1070 (use conditional expressions). 1071 10722009-10-30 Ed Schonberg <schonberg@adacore.com> 1073 1074 * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I 1075 1076 * sem_case.adb: Improved error message. 1077 10782009-10-30 Emmanuel Briot <briot@adacore.com> 1079 1080 * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads, 1081 osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now 1082 defaults to False, and controlled by -eL. 1083 * a-direct.adb: Add comments. 1084 * osint.adb (File_Stamp): Avoid unneeded duplicate system call 1085 10862009-10-30 Robert Dewar <dewar@adacore.com> 1087 1088 * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when 1089 converting non-static subtype to "identical" static subtype. 1090 10912009-10-30 Ed Schonberg <schonberg@adacore.com> 1092 1093 * usage.adb: Add -gnatw.i switch. 1094 10952009-10-30 Vincent Celier <celier@adacore.com> 1096 1097 * xsnamest.adb: Update comments with regards to the template files 1098 snames.*.tmpl 1099 11002009-10-30 Bob Duff <duff@adacore.com> 1101 1102 * s-fileio.adb (Errno_Message): Suppress VMS-specific warning. 1103 11042009-10-30 Ed Schonberg <schonberg@adacore.com> 1105 1106 * sem_case.adb (Check_Choices): Add explanatory message when there are 1107 missing alternatives when the required range of alternatives is given 1108 by the base type of the case expression or discriminant in a variant 1109 part. 1110 1111 * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially 1112 dangerous overlap between actuals in a call, activated by -gnatw.i 1113 * sem_warn.adb (Set_Dot_Warning_Switch): set flag. 1114 (Warn_On_Overlapping_Actuals): use new flag. 1115 1116 * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals 1117 11182009-10-30 Robert Dewar <dewar@adacore.com> 1119 1120 * exp_aggr.adb, exp_ch9.adb: Minor reformatting 1121 11222009-10-29 Eric Botcazou <ebotcazou@adacore.com> 1123 1124 * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not 1125 create integer types with precision 0. 1126 11272009-10-29 Eric Botcazou <ebotcazou@adacore.com> 1128 1129 PR ada/41870 1130 * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap 1131 parameters and rewrite comments. For a derived type, return the 1132 setting of its parent type. 1133 (gnat_to_gnu_entity): Do an alias set copy for derived types if they 1134 are composite. Adjust calls to above function. 1135 11362009-10-29 Eric Botcazou <ebotcazou@adacore.com> 1137 1138 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not 1139 return the RM size for padded types. 1140 11412009-10-28 Robert Dewar <dewar@adacore.com> 1142 1143 * sem_type.adb: Minor reformatting 1144 11452009-10-28 Arnaud Charlet <charlet@adacore.com> 1146 1147 * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different 1148 suffix for task type bodies. 1149 11502009-10-28 Ed Schonberg <schonberg@adacore.com> 1151 1152 * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a 1153 finalization list if the designated type requires no control actions, 1154 to prevent a useless semantic dependence on ada.tags. 1155 11562009-10-28 Bob Duff <duff@adacore.com> 1157 1158 * s-fileio.adb: Give more information in exception messages. 1159 11602009-10-28 Robert Dewar <dewar@adacore.com> 1161 1162 * gnat_ugn.texi: Document new -gnatyt requirement for space after right 1163 paren if next token starts with digit or letter. 1164 * styleg.adb (Check_Right_Paren): New rule for space after if next 1165 character is a letter or digit. 1166 11672009-10-28 Thomas Quinot <quinot@adacore.com> 1168 1169 * s-crtl.ads (System.CRTL.strerror): New function. 1170 11712009-10-28 Ed Schonberg <schonberg@adacore.com> 1172 1173 * sem_type.adb: Add guard to recover some type errors. 1174 11752009-10-28 Vincent Celier <celier@adacore.com> 1176 1177 * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure 1178 Add_If_Not_In_List to account to the fact that a directory may be 1179 removed from the list. Only remove directory if Removed is True. 1180 11812009-10-28 Gary Dismukes <dismukes@adacore.com> 1182 1183 * a-textio.ads, a-textio.ads: Put back function EOF_Char in private 1184 part. Put back body of function EOF_Char. 1185 * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back 1186 to EOF_Char. 1187 11882009-10-28 Emmanuel Briot <briot@adacore.com> 1189 1190 * prj-tree.adb (Free): Fix memory leak. 1191 11922009-10-28 Thomas Quinot <quinot@adacore.com> 1193 1194 * s-fileio.adb: Minor reformatting 1195 11962009-10-28 Arnaud Charlet <charlet@adacore.com> 1197 1198 * gcc-interface/Make-lang.in: Update dependencies. 1199 12002009-10-28 Robert Dewar <dewar@adacore.com> 1201 1202 * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb, 1203 types.ads: Minor reformatting 1204 12052009-10-28 Tristan Gingold <gingold@adacore.com> 1206 1207 * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard) 1208 12092009-10-28 Thomas Quinot <quinot@adacore.com> 1210 1211 * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for 1212 the operand of the unary minus and ABS operators. 1213 1214 * sem_type.adb (Covers): A concurrent type and its corresponding record 1215 type are compatible. 1216 * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access 1217 attribute reference for the current instance of a protected type while 1218 analyzing an access discriminant constraint in a component definition. 1219 Such a reference is handled in the corresponding record's init proc, 1220 while initializing the constrained component. 1221 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the 1222 corresponding record type, propagate components' 1223 Has_Per_Object_Constraint flag. 1224 * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements): 1225 For a concurrent type, set up concurrent aspects before initializing 1226 components with a per object constrain, because they may be controlled, 1227 and their initialization may call entries or protected subprograms of 1228 the enclosing concurrent object. 1229 12302009-10-28 Emmanuel Briot <briot@adacore.com> 1231 1232 * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing 1233 of code. 1234 (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when 1235 processing the directories specified explicitly in the project file. 1236 12372009-10-28 Robert Dewar <dewar@adacore.com> 1238 1239 * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb, 1240 a-textio.ads, a-textio.adb: Reorganize (moving specs from private part 1241 to body). 1242 (Initialize_Standard_Files): New procedure. 1243 * a-tienau.adb: Minor change to make EOF directly visible 1244 * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb, 1245 a-zrstfi.ads, a-tirsfi.adb: New unit, initial version. 1246 * gnat_rm.texi: Add documentation for 1247 Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files. 1248 * Makefile.rtl: Add entries for 1249 Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files 1250 12512009-10-28 Thomas Quinot <quinot@adacore.com> 1252 1253 * exp_ch9.ads: Minor reformatting 1254 * sem_ch3.adb: Minor reformatting 1255 * sem_aggr.adb: Minor reformatting. 1256 * sem_attr.adb: Minor reformatting 1257 * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node): 1258 New subprogram. 1259 Minor code reorganization/factoring. 1260 12612009-10-27 Eric Botcazou <ebotcazou@adacore.com> 1262 1263 * gcc-interface/decl.c (purpose_member_field): New static function. 1264 (annotate_rep): Use it instead of purpose_member. 1265 12662009-10-27 Eric Botcazou <ebotcazou@adacore.com> 1267 1268 * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of 1269 _Unwind_GetIP if HAVE_GETIPINFO is defined. 1270 (db_action_for): Likewise. 1271 12722009-10-27 Robert Dewar <dewar@adacore.com> 1273 1274 * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb, 1275 sem_warn.ads: Minor reformatting 1276 12772009-10-27 Robert Dewar <dewar@adacore.com> 1278 1279 * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add 1280 comments. 1281 12822009-10-27 Robert Dewar <dewar@adacore.com> 1283 1284 * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor 1285 reformatting. 1286 12872009-10-27 Ed Schonberg <schonberg@adacore.com> 1288 1289 * sem.util.ads, sem_util.adb (Denotes_Same_Object, 1290 Denotes_Same_Prefix): New functions to detect overlap between actuals 1291 that are not by-copy in a call, when one of them is in-out. 1292 * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New 1293 procedure, called on a subprogram call to warn when an in-out actual 1294 that is not by-copy overlaps with another actual, thus leadind to 1295 potentially dangerous aliasing in the body of the called subprogram. 1296 Currently the warning is under control of the -gnatX switch. 1297 * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals. 1298 12992009-10-27 Thomas Quinot <quinot@adacore.com> 1300 1301 * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of 1302 visible entities when the formal package doesn't have a box. 1303 1304 * checks.adb: Minor reformatting. 1305 13062009-10-27 Vincent Celier <celier@adacore.com> 1307 1308 * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and 1309 set Project to Empty_Node. 1310 13112009-10-27 Robert Dewar <dewar@adacore.com> 1312 1313 * gnatbind.adb: Minor reformatting 1314 13152009-10-27 Arnaud Charlet <charlet@adacore.com> 1316 1317 * exp_aggr.adb: Fix comment. 1318 13192009-10-27 Emmanuel Briot <briot@adacore.com> 1320 1321 * prj-err.adb (Error_Msg): take into account continuation lines when 1322 computing whether we have a warning. 1323 13242009-10-27 Vasiliy Fofanov <fofanov@adacore.com> 1325 1326 * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New 1327 routine that is designed to create temp file descriptor specifically 1328 for redirecting an output stream. 1329 13302009-10-24 Eric Botcazou <ebotcazou@adacore.com> 1331 1332 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When 1333 processing the parent type, build the COMPONENT_REF for a discriminant 1334 with the proper type. 1335 13362009-10-24 Eric Botcazou <ebotcazou@adacore.com> 1337 1338 * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo. 1339 * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO. 1340 Pass GNATLIBCFLAGS_FOR_C to recursive invocations. 1341 13422009-10-21 Eric Botcazou <ebotcazou@adacore.com> 1343 1344 * gcc-interfaces/decl.c (build_subst_list): Convert the expression of 1345 the constraint to the type of the discriminant. 1346 13472009-10-21 Eric Botcazou <ebotcazou@adacore.com> 1348 1349 * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new 1350 TYPE_DECL when a type is padded if there is already one and reset 1351 TYPE_STUB_DECL in this case. 1352 13532009-10-21 Eric Botcazou <ebotcazou@adacore.com> 1354 1355 * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine 1356 main_identifier_node. 1357 13582009-10-17 Eric Botcazou <ebotcazou@adacore.com> 1359 1360 * gcc-interface/utils.c (convert): When converting to a padded type 1361 with an inner type of self-referential size, pad the expression before 1362 doing the unchecked conversion. 1363 13642009-10-17 Eric Botcazou <ebotcazou@adacore.com> 1365 1366 * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make 1367 sure the element type is consistent. 1368 13692009-10-17 Eric Botcazou <ebotcazou@adacore.com> 1370 1371 * gcc-interface/trans.c (addressable_p): Handle bitwise operations. 1372 13732009-10-16 Eric Botcazou <ebotcazou@adacore.com> 1374 1375 * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with... 1376 (TYPE_IS_FAT_POINTER_P): ...this. 1377 (TYPE_THIN_POINTER_P): Rename into... 1378 (TYPE_IS_THIN_POINTER_P): ...this. 1379 (TYPE_FAT_OR_THIN_POINTER_P): Rename into... 1380 (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this. 1381 (TYPE_IS_PADDING_P): Change definition, move old one to... 1382 (TYPE_PADDING_P): ...this. 1383 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes. 1384 (get_unpadded_type): Likewise. 1385 (gnat_to_gnu_component_type): Likewise. 1386 (gnat_to_gnu_param): Likewise. 1387 (relate_alias_sets): Likewise. 1388 (make_packable_type): Likewise. 1389 (maybe_pad_type): Likewise. 1390 (gnat_to_gnu_field): Likewise. 1391 (is_variable_size): Likewise. 1392 (annotate_object): Likewise. 1393 (validate_size): Likewise. 1394 (set_rm_size): Likewise. 1395 (make_type_from_size): Likewise. 1396 (rm_size): Likewise. 1397 * gcc-interface/misc.c (gnat_print_type): Likewise. 1398 (gnat_get_alias_set): Likewise. 1399 * gcc-interface/trans.c (Identifier_to_gnu): Likewise. 1400 (Attribute_to_gnu): Likewise. 1401 (call_to_gnu): Likewise. 1402 (gnat_to_gnu): Likewise. 1403 (add_decl_expr): Likewise. 1404 (convert_with_check): Likewise. 1405 (addressable_p): Likewise. 1406 (maybe_implicit_deref): Likewise. 1407 (protect_multiple_eval): Likewise. 1408 (gnat_stabilize_reference_1): Likewise. 1409 * gcc-interface/utils.c (gnat_pushdecl): Likewise. 1410 (finish_record_type): Likewise. 1411 (rest_of_record_type_compilation): Likewise. 1412 (create_type_decl): Likewise. 1413 (gnat_types_compatible_p): Likewise. 1414 (build_template): Likewise. 1415 (convert_vms_descriptor64): Likewise. 1416 (convert_vms_descriptor32): Likewise. 1417 (build_unc_object_type_from_ptr): Likewise. 1418 (update_pointer_to): Likewise. 1419 (convert_to_fat_pointer): Likewise. 1420 (convert_to_fat_pointer): Likewise. 1421 (convert): Likewise. 1422 (remove_conversions): Likewise. 1423 (maybe_unconstrained_array): Likewise. 1424 (unchecked_convert): Likewise. 1425 (handle_vector_type_attribute): Likewise. 1426 * gcc-interface/utils2.c (build_binary_op): Likewise. 1427 (build_unary_op): Likewise. 1428 (build_allocator): Likewise. 1429 14302009-10-16 Eric Botcazou <ebotcazou@adacore.com> 1431 1432 * exp_dbug.ads: Adjust type names in comments. 1433 * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter, 1434 add new IS_COMPONENT_TYPE parameter. Adjust. Remove dead code. 1435 (gnat_to_gnu_entity): Adjust for above change. 1436 (gnat_to_gnu_component_type): Likewise. 1437 (gnat_to_gnu_field): Likewise. 1438 * gcc-interface/trans.c (call_to_gnu): Likewise. Do not unnecessarily 1439 call max_size. 1440 * gcc-interface/utils.c (finish_record_type): Remove obsolete code. 1441 * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype. 1442 14432009-10-16 Joel Sherrill <joel.sherrill@oarcorp.com> 1444 1445 * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t 1446 * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown. 1447 14482009-10-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1449 1450 * env.c [__alpha__ && __osf__] (AES_SOURCE): Define. 1451 14522009-10-10 Samuel Tardieu <sam@rfc1149.net> 1453 1454 * sem_eval.adb: Give a more precise error message. 1455 14562009-10-06 Samuel Tardieu <sam@rfc1149.net> 1457 1458 PR ada/41383 1459 * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event. 1460 14612009-10-06 Samuel Tardieu <sam@rfc1149.net> 1462 1463 PR ada/38333 1464 * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract 1465 subprogram to be completed with a "pragma Import". 1466 14672009-10-02 Eric Botcazou <ebotcazou@adacore.com> 1468 1469 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: 1470 Generate an XVZ variable alongside the XVS type if the size is 1471 not constant. 1472 (maybe_pad_type): Minor tweak. 1473 14742009-10-02 Eric Botcazou <ebotcazou@adacore.com> 1475 1476 * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type 1477 doesn't come from source. 1478 14792009-10-02 Eric Botcazou <ebotcazou@adacore.com> 1480 1481 * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least 1482 unit size for the component size of an array with aliased components. 1483 (maybe_pad_type): Do not warn for MAX_EXPR. 1484 14852009-09-29 Eric Botcazou <ebotcazou@adacore.com> 1486 1487 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out 1488 common code processing the component type into... 1489 <E_Array_Subtype>: Likewise. 1490 (gnat_to_gnu_component_type): ...this new static function. 1491 (maybe_pad_type): Minor cleanup. 1492 14932009-09-29 Eric Botcazou <ebotcazou@adacore.com> 1494 1495 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite 1496 the handling of constrained discriminated record subtypes. 1497 (components_to_record): Declare the type of the variants and of the 1498 qualified union. 1499 (build_subst_list): Move around. 1500 (compute_field_positions): Rename into... 1501 (build_position_list): ...this. Return a TREE_VEC. 1502 (annotate_rep): Adjust for above renaming. 1503 (build_variant_list): New static function. 1504 (create_field_decl_from): Likewise. 1505 (get_rep_part): Likewise. 1506 (get_variant_part): Likewise. 1507 (create_variant_part_from): Likewise. 1508 (copy_and_substitute_in_size): Likewise. 1509 15102009-09-28 Olivier Hainque <hainque@adacore.com> 1511 1512 PR ada/41100 1513 * gcc-interface/targtyps.c (get_target_default_allocator_alignment): 1514 Account for observable alignments out of default allocators. 1515 15162009-09-28 Richard Henderson <rth@redhat.com> 1517 1518 * gcc-interface/utils.c (gnat_install_builtins): Update call to 1519 build_common_builtin_nodes. 1520 15212009-09-26 Eric Botcazou <ebotcazou@adacore.com> 1522 1523 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out 1524 negative size for the array dimensions like in the constrained case. 1525 <E_Array_Subtype>: Do not create an artificially non-constant high 1526 bound if the low bound is non-constant. Minor tweaks. 1527 1528 * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter 1529 and turn ALIASED into a boolean parameter. Adjust calls to self. 1530 <N_Attribute_Reference>: Return 1 for more attributes. 1531 <N_Object_Renaming_Declaration>: Return 1 for non-constant objects. 1532 <N_Assignment_Statement>: Return 1 for the LHS. 1533 (Identifier_to_gnu): Adjust calls to lvalue_required_p. 1534 (call_to_gnu): Be prepared for wrapped boolean rvalues. 1535 15362009-09-25 Olivier Hainquqe <hainque@adacore.com> 1537 Eric Botcazou <ebotcazou@adacore.com> 1538 1539 * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language 1540 specific node. Representative array type for VECTOR_TYPE entities. 1541 * gcc-interface/utils.c (handle_vector_type_attribute): New handler. 1542 Turn an ARRAY_TYPE entity into a VECTOR_TYPE. 1543 (gnat_types_compatible_p): Handle VECTOR_TYPEs. 1544 (convert): Likewise. Arrange to produce VECTOR_CST out of constant 1545 array aggregates for VECTOR_TYPE entities. 1546 (unchecked_convert): Likewise. 1547 (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP 1548 converted to the associated TYPE_REPRESENTATIVE_ARRAY. 1549 (handle_pure_attribute, handle_sentinel_attribute, 1550 handle_noreturn_attribute, handle_malloc_attribute, 1551 handle_vector_size_attribute): Replace uses of qE format by qs. 1552 Remove GCC_DIAG_STYLE definition. 1553 * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert 1554 vector input to representative array type on entry. 1555 <N_Op_Eq, etc>: Likewise. 1556 * gcc-interface/gigi.h (maybe_vector_array): Declare. 1557 (VECTOR_TYPE_P): New predicate. 1558 * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE. 1559 15602009-09-24 Eric Botcazou <ebotcazou@adacore.com> 1561 1562 * gcc-interface/ada.h: Fix outdated comment. 1563 * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in 1564 lieu of mark_visited. 1565 * gcc-interface/gigi.h (mark_visited): Change type of parameter. 1566 (MARK_VISITED): New macro. 1567 (gnat_truthvalue_conversion): Delete. 1568 * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu 1569 of mark_visited. 1570 (annotate_rep): Fix formatting and tidy. 1571 (compute_field_positions): Get rid of useless variable. 1572 * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT 1573 node only once. Use IN operator for the Nkind in more cases. 1574 Remove calls to gnat_truthvalue_conversion. 1575 (mark_visited): Change type of parameter and adjust. 1576 (mark_visited_r): Dereference TP only once. 1577 (add_decl_expr): Use MARK_VISITED in lieu of mark_visited. 1578 * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete. 1579 (build_binary_op): Remove calls to gnat_truthvalue_conversion. 1580 (build_unary_op): Likewise. 1581 15822009-09-24 Dave Korn <dave.korn.cygwin@gmail.com> 1583 1584 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for 1585 a-except% in target pairs list; don't (implicitly) compare whitespace. 1586 15872009-09-24 Jakub Jelinek <jakub@redhat.com> 1588 1589 * gcc-interface/utils.c (gnat_pushdecl): Don't set 1590 DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for 1591 nested functions. 1592 15932009-09-21 Joel Sherrill <joel.sherrill@oarcorp.com> 1594 1595 * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0. 1596 Bind to getpagesize() in RTEMS 4.10 and newer. 1597 15982009-09-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1599 1600 * env.c [__alpha__ && __osf__] (_BSD): Define. 1601 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg 1602 to const char *. 1603 16042009-09-18 Pascal Obry <obry@adacore.com> 1605 1606 * mingw32.h: Activate Unicode support for x86-64 Windows platform. 1607 16082009-09-18 Vadim Godunko <godunko@adacore.com> 1609 1610 * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX. 1611 16122009-09-18 Javier Miranda <miranda@adacore.com> 1613 1614 * exp_aggr.adb (Backend_Processing_Possible): Disable backend 1615 processing for array aggregates in the VM backend if the array has 1616 aliased components. 1617 16182009-09-18 Ed Schonberg <schonberg@adacore.com> 1619 1620 * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of 1621 the prefix indicates a previous semantic error, and this is the first 1622 error in the program. 1623 16242009-09-18 Bob Duff <duff@adacore.com> 1625 1626 * gnat_ugn.texi: Minor editing. 1627 16282009-09-18 Vincent Celier <celier@adacore.com> 1629 1630 * prj.ads, prj.adb (Project_Data): New component 1631 Imported_Directories_Switches. 1632 16332009-09-18 Pascal Obry <obry@adacore.com> 1634 1635 * mingw32.h: Include standard _mingw.h file. 1636 Define _WIN32_WINNT only if not already defined. 1637 16382009-09-18 Thomas Quinot <quinot@adacore.com> 1639 1640 * g-socket.adb (Is_Open): New function indicating whether a 1641 Selector_Type object is open. 1642 16432009-09-18 Vincent Celier <celier@adacore.com> 1644 1645 * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file 1646 is deleted before creating it. 1647 16482009-09-18 Robert Dewar <dewar@adacore.com> 1649 1650 * bindgen.adb: Minor reformatting 1651 16522009-09-18 Arnaud Charlet <charlet@adacore.com> 1653 1654 * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb, 1655 s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no 1656 signal handler is installed. 1657 * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent 1658 tasks if Abort_Task_Interrupt cannot be used. 1659 16602009-09-18 Vincent Celier <celier@adacore.com> 1661 1662 * prj-tree.ads: Minor comment update 1663 16642009-09-17 Bob Duff <duff@adacore.com> 1665 1666 * g-socket.ads: Document the fact that Close_Selector has no effect on 1667 a closed selector. 1668 * g-socket.adb: Raise an exception when a Selector that should be open 1669 is closed. 1670 (Check_Selector): Declare RSig as a constant rather than a renames, 1671 less confusing. 1672 16732009-09-17 Robert Dewar <dewar@adacore.com> 1674 1675 * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads, 1676 prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb, 1677 prj-tree.ads: Minor reformatting 1678 16792009-09-17 Emmanuel Briot <briot@adacore.com> 1680 1681 * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to 1682 spec. 1683 (Do_Autoconf): If the object directory does not exists, create auto.cgpr 1684 in a temporary directory instead 1685 16862009-09-17 Bob Duff <duff@adacore.com> 1687 1688 * a-dynpri.adb (Set_Priority): Don't do anything if the task is already 1689 terminated. 1690 (Get_Priority): Correct message for "terminated" case -- it said "null". 1691 16922009-09-17 Robert Dewar <dewar@adacore.com> 1693 1694 * exp_ch6.adb: Minor reformatting 1695 16962009-09-17 Emmanuel Briot <briot@adacore.com> 1697 1698 * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads, 1699 switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads 1700 (Project_Node_Tree_Data.Project_Path): New field. 1701 1702 * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message 1703 17042009-09-17 Emmanuel Briot <briot@adacore.com> 1705 1706 * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment): 1707 Remove duplicate code. 1708 (Prj.Ext): Fix memory leak 1709 (Check): Now allow the syntax "-Xfoo=" to set an empty value to the 1710 variable. This was previously allowed in the code in 1711 Is_External_Assignment, and some tests rely on it 1712 17132009-09-17 Bob Duff <duff@adacore.com> 1714 1715 * gnat_rm.texi, s-oscons-tmplt.c: Minor typo 1716 17172009-09-17 Emmanuel Briot <briot@adacore.com> 1718 1719 * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads, 1720 makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads, 1721 prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads, 1722 prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree. 1723 Scenario variables are now specific to each project tree loaded in 1724 memory. 1725 Code clean ups. 1726 17272009-09-17 Javier Miranda <miranda@adacore.com> 1728 1729 * exp_disp.adb (Make_DT): Remove wrong line of code that was 1730 undocumented and probably added by mistake. 1731 17322009-09-16 Eric Botcazou <ebotcazou@adacore.com> 1733 1734 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip 1735 conversions between original and packable version of types from 1736 the expression. 1737 17382009-09-16 Eric Botcazou <ebotcazou@adacore.com> 1739 1740 * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter. 1741 If a padding type was made for the field, declare it. 1742 (components_to_record): Add DEBUG_INFO_P parameter. Adjust call 1743 to gnat_to_gnu_field and call to self. 1744 (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types. 1745 <E_Array_Subtype>: Likewise. 1746 Adjust calls to gnat_to_gnu_field and components_to_record. 1747 17482009-09-16 Robert Dewar <dewar@adacore.com> 1749 1750 * prj-nmsc.adb: Minor reformatting 1751 17522009-09-16 Ed Schonberg <schonberg@adacore.com> 1753 1754 * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the 1755 expression is a by-reference type (tagged or inherently limited) 1756 introduce an access type to capture references to the values of each 1757 branch of the conditional. 1758 17592009-09-16 Emmanuel Briot <briot@adacore.com> 1760 1761 * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads 1762 (Project_Name_And_Node.Display_Name): new field 1763 The display name of a project (as written in the .gpr file) is now 1764 computed when the project file itself is parsed, not when it is 1765 processed. 1766 17672009-09-16 Thomas Quinot <quinot@adacore.com> 1768 1769 * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to 1770 intrinsics untouched (to be expanded later on by gigi) if an external 1771 name has been specified. 1772 (Freeze_Entity): Do not generate a default external name for 1773 imported subprograms with convention Intrinsic (so that the above code 1774 can identify the case where an external name has been explicitly 1775 provided). 1776 1777 * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously 1778 replaced by something else due to an existing #define clause. 1779 17802009-09-16 Ed Schonberg <schonberg@adacore.com> 1781 1782 * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on 1783 Parameter_Association node, created for the extra actual generated for 1784 an access parameter of a function that dispatches on result, to prevent 1785 double generation of such actuals when the call is rewritten is a 1786 dispatching call. 1787 * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed. 1788 * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals 1789 that carry this flag when rewriting the original call as a dispatching 1790 call, after propagating the controlling tag. 1791 17922009-09-16 Vincent Celier <celier@adacore.com> 1793 1794 * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put 1795 in the source data. 1796 (Check_File): New parameter Source_Dir_Rank, to check if a duplicate 1797 source is allowed. 1798 (Find_Source_Dirs): New parameter Rank to be recorded with the source 1799 directories. 1800 (Search_Directories): Call Check_File with the rank of the directory 1801 * prj.adb (Project_Empty): Add new component Source_Dir_Ranks 1802 (Free): Free also Number_Lists 1803 (Reset): Init also Number_Lists 1804 * prj.ads (Number_List_Table): New dynamic table for lists of numbers 1805 (Source_Data): New component Source_Dir_Rank. Remove component 1806 Known_Order_Of_Source_Dirs, no longer needed. 1807 (Project_Data): New component Source_Dir_Ranks 1808 (Project_Tree_Data): New components Number_Lists 1809 18102009-09-16 Vincent Celier <celier@adacore.com> 1811 1812 * gprep.adb (Yes_No): New global constant 1813 Unix_Line_Terminators: New global Boolean variable 1814 (Process_One_File): Create the out file with a "Text_Translation=" form 1815 that depends on the use of option -T. 1816 (Scan_Command_Line): Add option -T 1817 (Usage): Add line for option -T 1818 18192009-09-16 Ed Schonberg <schonberg@adacore.com> 1820 1821 * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New 1822 predicate that describes a proper subset of 1823 Is_Predefined_Dispatching_Operation and excludes stream operations, 1824 which can be overridden by the user. 1825 * sem_ch6.adb (Create_Extra_Formals): use 1826 Is_Predefined_Internal_Operation, so that stream operations get extra 1827 formals. 1828 * exp_ch6.adb (Prevent double generation of extra actuals in calls to 1829 'Input, which may be expanded twice, first as a function call and then 1830 as a dispatching call. 1831 18322009-09-16 Thomas Quinot <quinot@adacore.com> 1833 1834 * s-oscons-tmplt.c (Target_OS, Target_Name): New constants. 1835 * g-expect.adb (Set_Up_Child_Communications): Use 1836 System.OS_Constants.Target_OS to determine whether running on Windows. 1837 18382009-09-14 Richard Henderson <rth@redhat.com> 1839 1840 * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR. 1841 18422009-09-14 Eric Botcazou <ebotcazou@adacore.com> 1843 1844 * exp_dbug.ads (Packed Array Encoding): Document the new encoding for 1845 the unconstrained case. 1846 * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement 1847 the encoding. Do not give a name to the pointer type to the XUT type. 1848 * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE 1849 for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared 1850 on nodes with DECL_ORIGINAL_TYPE set. 1851 (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer 1852 for fat pointer types. Make sure DECL_ARTIFICIAL is cleared. 1853 18542009-09-14 Richard Henderson <rth@redhat.com> 1855 1856 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call 1857 default_init_unwind_resume_libfunc. 1858 * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use 1859 __builtin_eh_pointer. 1860 * gcc-interface/utils.c (gnat_install_builtins): Update call 1861 to build_common_builtin_nodes. 1862 18632009-09-13 Richard Guenther <rguenther@suse.de> 1864 Rafael Avila de Espindola <espindola@google.com> 1865 1866 * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables 1867 eh_personality_libfunc and lang_eh_runtime_type. 1868 (LANG_HOOKS_EH_PERSONALITY): Define. 1869 (gnat_eh_personality_decl): New static variable. 1870 (gnat_eh_personality): New static function. 1871 Include gt-ada-misc.h. 1872 * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency. 1873 * gcc-interface/config-lang.in (gtfiles): Add misc.c. 1874 18752009-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1876 1877 PR ada/18302 1878 * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT. 1879 18802009-09-08 Eric Botcazou <ebotcazou@adacore.com> 1881 1882 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy 1883 flow of control. 1884 Avoid useless work when processing the Treat_As_Volatile flag. 1885 18862009-09-08 Eric Botcazou <ebotcazou@adacore.com> 1887 1888 * gcc-interface/targtyps.c: Reorder include directives. 1889 18902009-09-07 Laurent GUERBY <laurent@guerby.net> 1891 1892 * gcc-interface/targtyps.c: Add missing include for tm_p.h. 1893 * gcc-interface/Make-lang.in: Update dependencies. 1894 18952009-09-07 Laurent GUERBY <laurent@guerby.net> 1896 1897 * make.adb: Add missing documentation for multilib handling. 1898 18992009-09-03 Diego Novillo <dnovillo@google.com> 1900 1901 * gcc-interface/misc.c (lang_hooks): Remove const qualifier. 1902 19032009-09-02 Richard Henderson <rth@redhat.com> 1904 1905 * tb-gcc.c (__gnat_backtrace): Mark all arguments unused. 1906 19072009-09-02 Olivier Hainque <hainque@adacore.com> 1908 1909 * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si 1910 and uc arguments. 1911 19122009-09-02 Olivier Hainque <hainque@adacore.com> 1913 1914 * gcc-interface/decl.c (cannot_be_superflat_p): Handle 1915 Signed_Integer_Type_Definition Scalar_Ranges. 1916 19172009-09-02 Eric Botcazou <ebotcazou@adacore.com> 1918 1919 * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the 1920 SAVE_EXPR built for misaligned arguments. Remove redundant stuff. 1921 (addressable_p): Return true for more rvalues. 1922 19232009-09-01 Jakub Jelinek <jakub@redhat.com> 1924 1925 * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast 1926 POINTER_SIZE to HOST_WIDE_INT. 1927 19282009-09-01 Richard Guenther <rguenther@suse.de> 1929 1930 * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove. 1931 19322009-08-25 Eric Botcazou <ebotcazou@adacore.com> 1933 1934 * gcc-interface/trans.c (call_to_gnu): Tidy. 1935 (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has 1936 non-constant size but the array itself has constant size. 1937 * gcc-interface/utils.c (convert_vms_descriptor64): Fix type 1938 consistency error. 1939 (convert_vms_descriptor32): Likewise. 1940 19412009-08-22 Aurelien Jarno <aurelien@aurel32.net> 1942 1943 * gcc-interface/Makefile.in: Add Ada support for 1944 GNU/kFreeBSD x86_64. 1945 * system-freebsd-x86_64.ads: New file based on 1946 system-freebsd-x86.ads. 1947 19482009-08-20 Eric Botcazou <ebotcazou@adacore.com> 1949 1950 * gcc-interface/utils.c (convert): In the padded case, do the final 1951 conversion as an unchecked conversion if the underlying types are 1952 array types with variable size. 1953 19542009-08-20 Eric Botcazou <ebotcazou@adacore.com> 1955 1956 * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression 1957 as visited. 1958 * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the 1959 bounds. 1960 * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific 1961 fields. 1962 (gnat_gimplify_expr) <DECL_EXPR>: New case. 1963 19642009-08-17 Aurelien Jarno <aurelien@aurel32.net> 1965 1966 * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant. 1967 (stack_t): New record type. 1968 (sigaltstack): New imported function. 1969 (Alternate_Stack): New imported variable. 1970 (Alternate_Stack_Size): New constant. 1971 19722009-08-17 Vasiliy Fofanov <fofanov@adacore.com> 1973 1974 * a-calend-vms.adb: Fix typo. 1975 19762009-08-17 Tristan Gingold <gingold@adacore.com> 1977 1978 * s-taprop-posix.adb: Round up the stack size to avoid failure on 1979 Darwin. 1980 19812009-08-17 Gary Dismukes <dismukes@adacore.com> 1982 1983 * sem_cat.adb (Validate_Static_Object_Name): Update comment. 1984 19852009-08-17 Vincent Celier <celier@adacore.com> 1986 1987 * make.adb (Arguments_Collected): Unneeded, removed 1988 (Change_To_Object_Directory): Use Project directly. Add pragma Assert to 1989 ensure caller does not pass in No_Project. 1990 (Compile): Add new parameter Project. Let procedure 1991 Collect_Arguments_And_Compile provide the proper value. 1992 1993 * switch-c.adb: Add documentation for -gnatea and -gnatez 1994 19952009-08-17 Ben Brosgol <brosgol@adacore.com> 1996 1997 * gnat_ugn.texi: Changed name of package in SAL example, to avoid 1998 clash with Ada 2005 reserved word (interface). 1999 20002009-08-17 Robert Dewar <dewar@adacore.com> 2001 2002 * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb, 2003 a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb, 2004 a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization 2005 (use conditional expressions). 2006 20072009-08-17 Robert Dewar <dewar@adacore.com> 2008 2009 * make.adb: Add ??? comment 2010 * tbuild.adb: Minor reformatting 2011 20122009-08-17 Thomas Quinot <quinot@adacore.com> 2013 2014 * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to 2015 Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary. 2016 Use Tbuild.Make_Temporary to create entity for the temporary. 2017 20182009-08-17 Arnaud Charlet <charlet@adacore.com> 2019 2020 * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change 2021 and ignore -mieee switch to avoid spawning an extra gcc in this case. 2022 20232009-08-17 Thomas Quinot <quinot@adacore.com> 2024 2025 * tbuild.adb: Minor reformatting 2026 20272009-08-17 Ed Schonberg <schonberg@adacore.com> 2028 2029 * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already 2030 exist, as is the case for synchronized types, use the type of the 2031 discriminal in the parameter specification, to prevent a spurious 2032 subtype mismatch in gigi. 2033 20342009-08-17 Robert Dewar <dewar@adacore.com> 2035 2036 * prj-env.adb: Minor reformatting 2037 * make.adb: Minor reformatting 2038 Comment updates 2039 20402009-08-17 Javier Miranda <miranda@adacore.com> 2041 2042 * exp_ch7.adb (Wrap_Transient_Expression): Update comments. 2043 20442009-08-17 Emmanuel Briot <briot@adacore.com> 2045 2046 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb 2047 (Processing_Flags.Require_Obj_Dirs): new field, which controls whether 2048 object directories must be present. In the case of gprclean at least, 2049 these are optional (if they do not exist there is nothing to clean) 2050 20512009-08-17 Robert Dewar <dewar@adacore.com> 2052 2053 * prj-env.adb: Minor reformatting 2054 * sem_ch3.adb: Minor reformatting 2055 20562009-08-17 Hristian Kirtchev <kirtchev@adacore.com> 2057 2058 * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of 2059 the time zone since VxWorks chose positive values to represent west 2060 time zones and negative for east zones. 2061 20622009-08-17 Ed Schonberg <schonberg@adacore.com> 2063 2064 * sem_ch3.adb (Access_Definition): Do not create an Itype reference for 2065 an anonymous access type whose designated type is generic. 2066 20672009-08-17 Arnaud Charlet <charlet@adacore.com> 2068 2069 * comperr.adb (Compiler_Abort): Do not generate a bug box when in 2070 codepeer mode, friendlier. 2071 20722009-08-10 Laurent GUERBY <laurent@guerby.net> 2073 2074 * make.adb: Handle multilib 2075 20762009-08-10 Vincent Celier <celier@adacore.com> 2077 2078 * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use 2079 the temporary file name in the error message when the temporary file 2080 cannot be created. 2081 20822009-08-10 Yannick Moy <moy@adacore.com> 2083 2084 * gnat_ugn.texi: Fix typo 2085 20862009-08-10 Robert Dewar <dewar@adacore.com> 2087 2088 * exp_ch7.adb: Add ??? comment for last change 2089 20902009-08-10 Vincent Celier <celier@adacore.com> 2091 2092 * prj-env.adb (Add_To_Buffer): New procedure 2093 (Create_Config_Pragmas_File): Write to temporary file in one shot 2094 (Create_Mapping_File): Ditto 2095 (Set_Ada_Paths): Ditto 2096 20972009-08-10 Vincent Celier <celier@adacore.com> 2098 2099 PR ada/17566 2100 * xref_lib.adb (Print_Xref): Make sure that there is at least one space 2101 between a declaration name and its type. 2102 21032009-08-07 Javier Miranda <miranda@adacore.com> 2104 2105 * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of 2106 SCIL node. 2107 21082009-08-07 Robert Dewar <dewar@adacore.com> 2109 2110 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo. 2111 21122009-08-07 Vincent Celier <celier@adacore.com> 2113 2114 * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is 2115 specified on the command line and there are switches in the Compiler 2116 package of the project file, use these compilation switches to invoke 2117 the tool. 2118 21192009-08-07 Ben Brosgol <brosgol@adacore.com> 2120 2121 * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter. 2122 21232009-08-07 Ed Schonberg <schonberg@adacore.com> 2124 2125 * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit 2126 even if not in main unit, to simplify debugging. 2127 21282009-08-07 Arnaud Charlet <charlet@adacore.com> 2129 2130 * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET. 2131 * gcc-interface/Make-lang.in: Update dependencies. 2132 21332009-08-07 Robert Dewar <dewar@adacore.com> 2134 2135 * types.ads: Minor reformatting 2136 * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation. 2137 * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of 2138 Output_Non_Modified_In_Out_Warnings. 2139 * sem_ch13.adb: Remove ??? comment. 2140 21412009-08-07 Vincent Celier <celier@adacore.com> 2142 2143 * mlib-prj.adb (Build_Library): Include binder generate object file 2144 for SAL when library name is only one character. 2145 21462009-08-07 Thomas Quinot <quinot@adacore.com> 2147 2148 * targparm.adb: Minor reformatting 2149 * sem.adb: Minor reformatting 2150 * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment. 2151 21522009-08-07 Emmanuel Briot <briot@adacore.com> 2153 2154 * prj-conf.adb: Remove duplicate directory separator in the output when 2155 an object directory does not exist. 2156 21572009-08-07 Robert Dewar <dewar@adacore.com> 2158 2159 * exp_util.adb: Minor reformatting 2160 21612009-08-07 Vincent Celier <celier@adacore.com> 2162 2163 * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong 2164 length used). 2165 21662009-08-07 Ed Schonberg <schonberg@adacore.com> 2167 2168 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode, 2169 detect non-static private components that will violate restriction 2170 No_Implicit_Heap_Allocation. 2171 21722009-08-07 Ben Brosgol <brosgol@adacore.com> 2173 2174 * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter. 2175 21762009-08-02 Eric Botcazou <ebotcazou@adacore.com> 2177 2178 * gcc-interface/gigi.h (end_subprog_body): Tweak comment. 2179 * gcc-interface/utils.c (end_subprog_body): Likewise. 2180 * gcc-interface/trans.c (gigi): Likewise. 2181 (gnat_to_gnu): Likewise. 2182 21832009-07-30 Ben Brosgol <brosgol@adacore.com> 2184 2185 * gnat_ugn.texi: Correct minor texi glitch. 2186 21872009-07-30 Ed Schonberg <schonberg@adacore.com> 2188 2189 * exp_util.adb (Expand_Subtype_From_Expr): If the type of the 2190 expression has an underlying representation that is an unchecked union, 2191 there is no subtype to build. 2192 21932009-07-30 Robert Dewar <dewar@adacore.com> 2194 2195 * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads, 2196 s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb, 2197 sem_ch7.adb, adaint.c: Minor reformatting 2198 21992009-07-29 Javier Miranda <miranda@adacore.com> 2200 2201 * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine 2202 moved from the expander to the semantic analyzer to allow the 2203 generation of these internal entities when compiling with no code 2204 generation. Required by ASIS. 2205 * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes. 2206 * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram. 2207 * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3 2208 (Expand_Freeze_Record_Type): Remove call to 2209 Add_Internal_Interface_Entities because this routine is now called at 2210 early stage --when the freezing node is analyzed. 2211 22122009-07-29 Robert Dewar <dewar@adacore.com> 2213 2214 * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads, 2215 exp_disp.adb, g-socket.adb: Minor reformatting 2216 22172009-07-29 Ed Schonberg <schonberg@adacore.com> 2218 2219 * sem_ch7.adb (New_Private_Type): Create class-wide type after other 2220 attributes have been established, so that they are all inherited by the 2221 class-wide type. 2222 * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle 2223 properly named subtypes of class-wide types. 2224 22252009-07-29 Ed Schonberg <schonberg@adacore.com> 2226 2227 * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding 2228 indicators on user-defined operators. 2229 22302009-07-29 Vadim Godunko <godunko@adacore.com> 2231 2232 * g-socket.adb (Receive_Vector): Add comment. 2233 22342009-07-29 Javier Miranda <miranda@adacore.com> 2235 2236 * frontend.adb (Frontend): Code cleanup. 2237 * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address): 2238 Rewriten as a procedure because it a new out-mode parameters to 2239 keep up-to-date the controlling tag node in the caller. 2240 (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a 2241 new out-mode parameter to keep up-to-date the controlling tag node in 2242 the caller. 2243 * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb, 2244 exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new 2245 package Sem_SCIL. 2246 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine 2247 available in new package Sem_SCIL. 2248 (Next_Non_SCIL_Node): Ditto. 2249 * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new 2250 package Sem_SCIL. 2251 (Expand_Dispatching_Call): Update call to modified Exp_Atags routines 2252 plus complete decoration of SCIL dispatching node. 2253 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL. 2254 * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new 2255 package Sem_SCIL. 2256 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL. 2257 * exp_ch3.adb (Build_Init_Procedure): Fix comment. 2258 * sem_scil.ads, sem_scil.adb: New files. 2259 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o. 2260 Update dependencies. 2261 22622009-07-28 Robert Dewar <dewar@adacore.com> 2263 2264 * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads, 2265 makeutl.adb: Minor reformatting & code reorganization 2266 * sem_ch3.adb: Minor reformatting. 2267 Fix spelling error (constraint for constrain) in error msg. 2268 22692009-07-28 Emmanuel Briot <briot@adacore.com> 2270 2271 * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the 2272 global variable that also exists in makeutl.ads, and that some routines 2273 in that package use already. 2274 (Check): Moved part of the code to makeutl.adb for better sharing with 2275 gprbuild. 2276 22772009-07-28 Arnaud Charlet <charlet@adacore.com> 2278 2279 * gcc-interface/Make-lang.in: Update dependencies. 2280 22812009-07-28 Emmanuel Briot <briot@adacore.com> 2282 2283 * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the 2284 importing project does not end up in the list, in the case of extending 2285 projects. 2286 * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to 2287 makeutl.ads, for better sharing with gprbuild. 2288 22892009-07-28 Arnaud Charlet <charlet@adacore.com> 2290 2291 * gnat_ugn.texi: Fix typo. 2292 22932009-07-28 Ed Schonberg <schonberg@adacore.com> 2294 2295 * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a 2296 derivation that renames some discriminants and constrain others. 2297 * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the 2298 prefix is a derived untagged type, convert to the root type to conform 2299 to the signature of the protected operations. 2300 23012009-07-28 Robert Dewar <dewar@adacore.com> 2302 2303 * sinfo.ads: Update comments. 2304 * exp_attr.adb: Minor reformatting 2305 23062009-07-28 Ed Schonberg <schonberg@adacore.com> 2307 2308 * sem_aggr.adb (Get_Value): A named association in a record aggregate 2309 should be treated as a modification of the named component, not as a 2310 reference. 2311 23122009-07-28 Quentin Ochem <ochem@adacore.com> 2313 2314 * prj-tree.ads, prj-tree.adb (Free): Minor editing. 2315 * prj.ads, prj.adb (Image): Ditto. 2316 23172009-07-28 Arnaud Charlet <charlet@adacore.com> 2318 2319 * frontend.adb: Minor reformatting. 2320 (Frontend): Only call Check_SCIL_Nodes if assertions are enabled, 2321 for efficiency. 2322 23232009-07-28 Bob Duff <duff@adacore.com> 2324 2325 * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of 2326 'Address to get a pointer to the protected body wrapper. 2327 23282009-07-28 Javier Miranda <miranda@adacore.com> 2329 2330 * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL 2331 nodes if we are not generating code. 2332 * frontend.adb (Check_SCIL_Node): New subprogram. Used to check 2333 attribute SCIL_Related_Node of SCIL dispatching nodes. 2334 (Check_SCIL_Nodes): New instantiation of Traverse_Proc. 2335 * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed 2336 (SCIL_Nkind,Set_SCIL_Nkind): Removed. 2337 (SCIL_Entity): Update documentation. 2338 (SCIL_Related_Node): Update documentation. 2339 (SCIL_Controlling_Tag): New attribute. 2340 (SCIL_Target_Prim): Update documentation. 2341 (N_Null_Statement): Remove attributes associated with SCIL nodes. 2342 (N_SCIL_Dispatch_Table_Object_Init): New node. 2343 (N_SCIL_Dispatch_Table_Tag_Init): New node. 2344 (N_SCIL_Dispatching_Call): New node. 2345 (N_SCIL_Tag_Init): New node. 2346 * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed 2347 (SCIL_Nkind,Set_SCIL_Nkind): Removed. 2348 (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram. 2349 (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes. 2350 (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes 2351 (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to 2352 N_SCIL_Dispatching_Call nodes. 2353 * sem.adb (Analyze): No need to analyze SCIL nodes. 2354 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram 2355 (Next_Non_SCIL_Node): New subprogram 2356 * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL 2357 dispatching nodes. 2358 * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL 2359 dispatching node. 2360 * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL 2361 dispatching node. 2362 * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing 2363 null statement nodes. 2364 (Build_Init_Procedure): Generate new SCIL node. 2365 * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching 2366 node. 2367 * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because 2368 they are currently implemented as special N_Null_Statement nodes. 2369 * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a 2370 procedure call then check if some SCIL node references it and needs 2371 readjustment. 2372 * exp_disp.ads (SCIL_Node_Kind): Removed. 2373 (Adjust_SCIL_Node): New subprogram. 2374 (Find_SCIL_Node): New subprogram. 2375 (Get_SCIL_Node_Kind): Removed. 2376 (New_SCIL_Node): Removed. 2377 * exp_disp.adb (Adjust_SCIL_Node): New subprogram 2378 (Expand_Dispatching_Call): Generate new SCIL dispatching node including 2379 decoration of its new controlling_tag attribute. 2380 (Get_SCIL_Node_Kind): Removed. 2381 (Find_SCIL_Node): New subprogram. 2382 (Make_Secondary_DT): Generate new SCIL nodes. 2383 (Make_Tags): Generate new SCIL nodes. 2384 (New_SCIL_Node): Removed. 2385 * exp_util.adb (Insert_Actions): Handle SCIL nodes. 2386 (Remove_Side_Effects): Check if relocated nodes require readjustment 2387 of some SCIL dispatching node. 2388 * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes. 2389 23902009-07-28 Robert Dewar <dewar@adacore.com> 2391 2392 * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting 2393 23942009-07-28 Sergey Rybin <rybin@adacore.com> 2395 2396 * gnat_ugn.texi: Add section about gnatcheck rule exemption. 2397 23982009-07-28 Vadim Godunko <godunko@adacore.com> 2399 2400 * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is 2401 not defined by limits.h. 2402 2403 * g-socket.adb (Receive_Vector): Use minimum length from user's vector 2404 length and maximum supported length of data vector. 2405 24062009-07-28 Gary Dismukes <dismukes@adacore.com> 2407 2408 * usage.adb: Inhibit printing gcc-specific switches for AAMP target. 2409 * make.adb: Call Get_Target_Parameters before calling Usage so that 2410 VM_Target and AAMP_On_Target will be set. 2411 24122009-07-28 Olivier Hainque <hainque@adacore.com> 2413 2414 * g-ssinty.ads: Remove, pointless and just confusing at this stage. 2415 * gnat_rm.texi: Remove documentation. 2416 * g-sse.ads: Minor reorg along the way. 2417 * gcc-interface/Makefile.in: Remove processing for g-ssinty. 2418 * g-ssvety.ads: Minor comment updates. 2419 24202009-07-28 Sergey Rybin <rybin@adacore.com> 2421 2422 * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update 2423 for the new format of the report file. 2424 24252009-07-28 Sergey Rybin <rybin@adacore.com> 2426 2427 * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc. 2428 24292009-07-28 Pascal Obry <obry@adacore.com> 2430 2431 * g-expect.adb: Record standard handles only on Windows. 2432 24332009-07-27 Emmanuel Briot <briot@adacore.com> 2434 2435 * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace 2436 Add comments. 2437 24382009-07-27 Sergey Rybin <rybin@adacore.com> 2439 2440 * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the 2441 rule definition the paragraph that explains that generic functions and 2442 functions from generic packages are not checked. 2443 24442009-07-27 Gary Dismukes <dismukes@adacore.com> 2445 2446 * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null 2447 procedure when determining whether to set the Overridden_Operation 2448 field of a subprogram overriding an inherited subprogram. 2449 24502009-07-27 Robert Dewar <dewar@adacore.com> 2451 2452 * a-except.adb, a-except-2005.ads: Minor reformatting 2453 24542009-07-27 Robert Dewar <dewar@adacore.com> 2455 2456 * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid 2457 24582009-07-27 Javier Miranda <miranda@adacore.com> 2459 2460 * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and 2461 add some documentation explaining why the SCIL nodes must be generated 2462 at that point. 2463 24642009-07-27 Olivier Hainque <hainque@adacore.com> 2465 2466 * a-except.adb: Bind to __builtin_longjmp directly. 2467 * a-except-2005.ads: Provide direct binding to __builtin_longjmp 2468 for sjlj variants. 2469 * a-exexpr.adb: Use it. 2470 * a-except-xi.adb: Likewise. 2471 * raise.c (_gnat_builtin_longjmp): Remove and update comments. 2472 * raise.h (_gnat_builtin_longjmp): Remove declaration. 2473 24742009-07-27 Ed Schonberg <schonberg@adacore.com> 2475 2476 * sem_eval.adb (Compile_Time_Compare): More precise handling of 2477 Known_Valid flag, to prevent spurious range deductions when scalar 2478 variables may be uninitialized. New predicate Is_Known_Valid_Operand. 2479 24802009-07-27 Robert Dewar <dewar@adacore.com> 2481 2482 * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting 2483 and code clean up. 2484 24852009-07-27 Ed Schonberg <schonberg@adacore.com> 2486 2487 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in 2488 Ravenscar mode. Error has already been posted on specification. 2489 2490 * sem.adb: Further code clean ups. 2491 24922009-07-27 Robert Dewar <dewar@adacore.com> 2493 2494 * g-sse.ads: Minor reformatting 2495 24962009-07-27 Arnaud Charlet <charlet@adacore.com> 2497 2498 * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for 2499 alternate ali extension. 2500 * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into 2501 account Osint.ALI_Suffix. 2502 * osint.ads (ALI_Suffix): Make visible. 2503 * gnatfind.adb (Gnatfind): Add support for --ext= switch. 2504 * gnat_ugn.texi: Document new gnatfind --ext= switch. 2505 25062009-07-27 Ed Schonberg <schonberg@adacore.com> 2507 2508 * sem.adb (Walk_Library_Items): If main unit is an instance body, do 2509 its spec first. 2510 25112009-07-27 Javier Miranda <miranda@adacore.com> 2512 2513 * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after 2514 the dispatching call has is expanded. 2515 25162009-07-27 Ed Schonberg <schonberg@adacore.com> 2517 2518 * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the 2519 Is_Known_Valid flag on the temporary created for the value whose 2520 validity is being checked. 2521 2522 * sem.adb (Do_Unit_And_Dependents): Further code reorganization to 2523 handle properly main units that are package specifications. 2524 25252009-07-27 Geert Bosch <bosch@adacore.com> 2526 2527 * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment 2528 * sem_aux.ads: Fix typo in comment 2529 * sem_util.ads (Is_LHS): Adjust comment to match body 2530 25312009-07-27 Sergey Rybin <rybin@adacore.com> 2532 2533 * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update 2534 rule definition. 2535 25362009-07-27 Olivier Hainque <hainque@adacore.com> 2537 2538 * g-sse.ads, g-ssvety.ads: Update comments. 2539 25402009-07-27 Sergey Rybin <rybin@adacore.com> 2541 2542 * gnat_ugn.texi: Update gnatcheck doc. 2543 25442009-07-27 Arnaud Charlet <charlet@adacore.com> 2545 2546 * lib-xref.ads: Allocate/document 'o' char for use by references to 2547 spark 'own' variables. 2548 25492009-07-27 Gary Dismukes <dismukes@adacore.com> 2550 2551 * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return 2552 objects, since these are implicitly referenced by the return statement. 2553 * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test 2554 Is_Return_Object in this procedure, as return objects will never make 2555 it here since they're now marked as Referenced. 2556 25572009-07-27 Robert Dewar <dewar@adacore.com> 2558 2559 * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting 2560 25612009-07-27 Robert Dewar <dewar@adacore.com> 2562 2563 * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call 2564 2565 * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting 2566 25672009-07-27 Geert Bosch <bosch@adacore.com> 2568 2569 * checks.adb (Find_Check): Minor streamlining of logic. 2570 * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order. 2571 * debug.adb: Document -gnatdX debug flag 2572 * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to 2573 list information about reads from scalar entities. 2574 Also slightly simplify condition for Expand_Current_Value. 2575 * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New 2576 functions. 2577 25782009-07-26 Dave Korn <dave.korn.cygwin@gmail.com> 2579 2580 PR bootstrap/40578 2581 * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these 2582 (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ... 2583 to these. 2584 (__gnat_stat): Adjust reference to STAT in prototype. 2585 * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length, 2586 __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd, 2587 __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists, 2588 __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file, 2589 __gnat_is_writable_file, __gnat_is_executable_file, 2590 __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable, 2591 __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link, 2592 __gnat_copy_attribs): Adjust all references to the above. 2593 * cstreams.c (__gnat_is_regular_file_fd): Likewise. 2594 25952009-07-23 Ed Schonberg <schonberg@adacore.com> 2596 2597 * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not 2598 done at the same time, guard against listing a body more than once. 2599 26002009-07-23 Robert Dewar <dewar@adacore.com> 2601 2602 * exp_ch6.adb: Minor reformatting 2603 26042009-07-23 Ed Schonberg <schonberg@adacore.com> 2605 2606 * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a 2607 static expression is known valid. 2608 * sem_eval.adb (Compile_Time_Compare): Handle properly non-static 2609 operands of a subtype with a single value. 2610 26112009-07-23 Ed Schonberg <schonberg@adacore.com> 2612 2613 * sem.adb (Do_Units_And_Dependents): Process bodies only for units that 2614 are in the context of the main unit body. 2615 26162009-07-23 Sergey Rybin <rybin@adacore.com> 2617 2618 * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix 2619 misprint in rule description. 2620 26212009-07-23 Gary Dismukes <dismukes@adacore.com> 2622 2623 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace 2624 test that the object declaration is within an extended return statement 2625 with direct test of whether the declared object associated with the 2626 build-in-place call is a return object, since the enclosing function 2627 might not even be a build-in-place function. 2628 26292009-07-23 Robert Dewar <dewar@adacore.com> 2630 2631 * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting 2632 Minor code reorganization 2633 26342009-07-23 Arnaud Charlet <charlet@adacore.com> 2635 2636 * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records 2637 for static analysis, only packed arrays are causing troubles. 2638 26392009-07-23 Gary Dismukes <dismukes@adacore.com> 2640 2641 * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the 2642 ancestor part is a call to a limited function with an unconstrained 2643 result subtype unless the aggregate has a null extension type. 2644 * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving 2645 the parent type declaration to avoid blowups on subtype cases. 2646 26472009-07-23 Robert Dewar <dewar@adacore.com> 2648 2649 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing 2650 comma. 2651 2652 * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0 2653 2654 * s-regexp.adb: Minor reformatting 2655 * scos.ads: Minor reformatting. 2656 26572009-07-23 Arnaud Charlet <charlet@adacore.com> 2658 2659 * freeze.adb (Set_Small_Size): Remove extra space for consistency with 2660 other similar messages. 2661 * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error 2662 messages/implicit packing in CodePeer mode. 2663 (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode. 2664 * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in 2665 CodePeer mode. 2666 26672009-07-23 Pascal Obry <obry@adacore.com> 2668 2669 * prj-nmsc.adb: Fix spec/body naming extension on case insensitive 2670 systems. 2671 26722009-07-23 Robert Dewar <dewar@adacore.com> 2673 2674 * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment. 2675 Minor reformatting. 2676 26772009-07-23 Yannick Moy <moy@adacore.com> 2678 2679 * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the 2680 pattern. 2681 (Raise_Exception_If_No_More_Chars): Remove extra blank in exception 2682 string. 2683 (Raise_Exception): Ditto. 2684 26852009-07-23 Olivier Hainque <hainque@adacore.com> 2686 2687 * g-sse.ads: Simplify comment. 2688 26892009-07-23 Olivier Hainque <hainque@adacore.com> 2690 2691 * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize 2692 low level internal type definitions for distinct higher level 2693 binding development activities (user type definitions and 2694 operations). 2695 * gnat_rm.texi: Document it. 2696 * g-ssvety.ads: Use it. 2697 * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add 2698 g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS. 2699 * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry 2700 for the "may_alias" attribute. 2701 27022009-07-23 Thomas Quinot <quinot@adacore.com> 2703 2704 * scos.ads: Minor typo fix 2705 2706 * gcc-interface/decl.c (validate_alignment): For the case of an 2707 implicit array base type, look for alignment clause on first subtype. 2708 27092009-07-23 Robert Dewar <dewar@adacore.com> 2710 2711 * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap 2712 with tagged parent if tagged parent is fully repped. 2713 27142009-07-23 Ed Schonberg <schonberg@adacore.com> 2715 2716 * sem.adb (Walk_Library_Units): Handle properly the case where a unit 2717 in the context depends on the spec of the main unit, by delaying 2718 processing of the main unit body until all other units have been 2719 processed. 2720 27212009-07-23 Arnaud Charlet <charlet@adacore.com> 2722 2723 * a-convec.adb: Add comments about suspicious/subtle code. 2724 27252009-07-23 Ed Schonberg <schonberg@adacore.com> 2726 2727 * einfo.ads: Document use of Alias in private overriding 2728 27292009-07-23 Thomas Quinot <quinot@adacore.com> 2730 2731 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of 2732 an array type, propagate alignment from first subtype to implicit base 2733 type so that other subtypes (such as the itypes for aggregates of the 2734 type) also receive the expected alignment. 2735 2736 * g-comlin.ads: Minor documentation clarification/rewording. 2737 * scos.ads: Minor comments update. 2738 * lib-writ.ads: Minor reformatting 2739 27402009-07-23 Gary Dismukes <dismukes@adacore.com> 2741 2742 * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object 2743 of a class-wide interface type that is a return object of a 2744 build-in-place function, bypass the interface-related expansions into 2745 renamings with displacement conversions, etc. 2746 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion 2747 for the case where a renaming occurs in a build-in-place context, to 2748 assert that the bypassing of the build-in-place treatment only occurs 2749 in the case of a renaming that is an expansion of a return expression 2750 that is itself a build-in-place function call. 2751 27522009-07-23 Ed Schonberg <schonberg@adacore.com> 2753 2754 * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a 2755 valid candidate interpretation in a prefixed view if it is hidden, but 2756 overrides an inherited operation declared in the visible part. 2757 27582009-07-23 Robert Dewar <dewar@adacore.com> 2759 2760 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer 2761 division operands to 64-bit at all in any circumstances. 2762 27632009-07-23 Robert Dewar <dewar@adacore.com> 2764 2765 * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when 2766 checking ranges for mod/rem to see if conditional jump will be 2767 generated. 2768 (Analyze_N_Op_Rem): Don't try to check actual lower bounds for 2769 generating special -1 test for rem, generate it whenever both 2770 operands can be negative (match circuit in Sem_Res). 2771 (Analyze_N_Op_Rem): Don't go to base type, no longer needed and 2772 destroys memory of positive range. 2773 * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when 2774 checking ranges for mod/rem to see if conditional jump will be generated 2775 27762009-07-23 Ed Schonberg <schonberg@adacore.com> 2777 2778 * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a 2779 scalar components has non-static bounds, the equivalent aggregate 2780 cannot be built, even if the expression is static, because range checks 2781 will be generated. 2782 27832009-07-23 Robert Dewar <dewar@adacore.com> 2784 2785 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer 2786 division operands to 64-bit inside a conversion if 64-bit division not 2787 available. 2788 27892009-07-23 Sergey Rybin <rybin@adacore.com> 2790 2791 * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule. 2792 27932009-07-23 Javier Miranda <miranda@adacore.com> 2794 2795 * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms 2796 (Entity/Set_Entity): not available in N_Null_Statement nodes 2797 (Is_Scil_Node): renamed as Is_SCIL_Node 2798 (Scil_Nkind): renamed as SCIL_Nkind 2799 (Scil_Related_Node): renamed as SCIL_Related_Node 2800 (Scil_Target_Prim): renamed as SCIL_Target_Prim 2801 (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node 2802 (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node 2803 (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim 2804 Update documentation 2805 * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind 2806 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind 2807 (New_Scil_Node): Renamed as New_SCIL_Node 2808 * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node. 2809 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind 2810 (New_Scil_Node): Renamed as New_SCIL_Node 2811 * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node. 2812 28132009-07-23 Robert Dewar <dewar@adacore.com> 2814 2815 * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma 2816 * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma 2817 * einfo.adb: Minor reformatting 2818 28192009-07-23 Robert Dewar <dewar@adacore.com> 2820 2821 * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments 2822 cross-referencing the new related code in 2823 Exp_Ch4.Expand_N_Type_Conversion. 2824 * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows 2825 2826 * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting. 2827 Add comment. 2828 28292009-07-23 Javier Miranda <miranda@adacore.com> 2830 2831 * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node, 2832 Scil_Target_Prim, N_Has_Entity): Add missing documentation. 2833 * exp_disp.ads (Scil_Node_Kind): Ditto. 2834 * exp_disp.adb (Make_DT, Make_Tags): Ditto. 2835 * exp_ch3.adb (Build_Init_Procedure): Ditto. 2836 28372009-07-23 Javier Miranda <miranda@adacore.com> 2838 2839 * einfo.adb (Component_Type): Add missing assertion. 2840 * sem_res.adb (Resolve_Call): Ensure proper kind of entity before 2841 reading attribute Component_Size. 2842 * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity 2843 before reading attributes Component_Size and Component_Type. 2844 * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity 2845 before reading attribute Component_Type. 2846 28472009-07-23 Olivier Hainque <hainque@adacore.com> 2848 2849 * gnat_rm.texi: Document the GNAT.SSE units. 2850 28512009-07-23 Ed Schonberg <schonberg@adacore.com> 2852 2853 * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for 2854 not null return if it appears on a subunit. 2855 28562009-07-23 Robert Dewar <dewar@adacore.com> 2857 2858 * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity 2859 check right away so it does not get skipped for early returns, e.g. 2860 array assignments. 2861 (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to 2862 left-side unless we really know the value is valid. 2863 2864 * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor 2865 reformatting. Minor code reorganization. Add comments. 2866 28672009-07-23 Robert Dewar <dewar@adacore.com> 2868 2869 * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after 2870 complex condition. 2871 28722009-07-23 Gary Dismukes <dismukes@adacore.com> 2873 2874 * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality 2875 with test of coverage, to allow specific type objects in extended 2876 returns of class-wide functions. Remove now-unnecessary special-case 2877 tests that allowed this in certain cases of expanded extended returns. 2878 28792009-07-23 Javier Miranda <miranda@adacore.com> 2880 2881 * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in 2882 N_Null_Statements (for SCIL nodes). 2883 (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes). 2884 (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes). 2885 (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL 2886 nodes). 2887 (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes). 2888 * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node 2889 associated with dispatching call. 2890 (Get_Scil_Node_Kind): New function that returns the kind of SCIL node. 2891 (Make_DT, Make_Tags): Add generation of SCIL nodes associated with 2892 initialization of dispatch tables and initialization of tags. 2893 (New_Scil_Node): New function that creates a new SCIL node. 2894 (Build_Init_Procedure): Add generation of SCIL node associated with the 2895 initialization of tags done in the IP subprogram. 2896 28972009-07-23 Ed Schonberg <schonberg@adacore.com> 2898 2899 * errout.adb (Error_Msg_NEL): If the entity in the initial message has 2900 Warnings_Off, do not emit continuation messages. 2901 2902 * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram 2903 spec. 2904 29052009-07-23 Emmanuel Briot <briot@adacore.com> 2906 2907 * ali.adb: Minor comment update 2908 29092009-07-23 Vasiliy Fofanov <fofanov@adacore.com> 2910 2911 * s-win32.ads (HANDLE): Define to be the same size as address type. 2912 Fix copyright. 2913 29142009-07-23 Olivier Hainque <hainque@adacore.com> 2915 2916 * g-sse.ads: New file. Root of the SSE facilities trees, with 2917 general description and common declarations. 2918 * g-ssvety.ads: New file. Expose user level SSE vector types. 2919 * impunit.adb (Non_Imp_File_Names_95): Register new units. 2920 * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add 2921 EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units. 2922 29232009-07-23 Ben Brosgol <brosgol@adacore.com> 2924 2925 * gnat_ugn.texi: Wordsmithing. 2926 29272009-07-23 Arnaud Charlet <charlet@adacore.com> 2928 2929 * prj-conf.ads, prj-conf.adb: Switch to GPLv3. 2930 29312009-07-22 Eric Botcazou <ebotcazou@adacore.com> 2932 2933 * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if 2934 they are already of the base type of the index. 2935 29362009-07-22 Brett Porter <porter@adacore.com> 2937 2938 * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__. 2939 29402009-07-22 Robert Dewar <dewar@adacore.com> 2941 2942 * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS) 2943 * gnat_ugn.texi: Add documentation for -gnateS switch 2944 * ug_words: Add entry for -gnateS /SCO_OUTPUT 2945 * gcc-interface/Make-lang.in: Update dependencies. 2946 2947 * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb, 2948 par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial 2949 complete information for SCO input/output. 2950 29512009-07-22 Sergey Rybin <rybin@adacore.com> 2952 2953 * gnat_ugn.texi: Update doc for some gnatcheck rules. 2954 29552009-07-22 Robert Dewar <dewar@adacore.com> 2956 2957 * par_sco.adb, par_sco.ads (pscos): New debug routine to output 2958 contents of SCO tables. 2959 * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads, 2960 scos.adb, scos.ads: New files. 2961 * gcc-interface/Make-lang.in: Update dependencies. 2962 2963 * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment 2964 fixes and reformatting. 2965 29662009-07-22 Robert Dewar <dewar@adacore.com> 2967 2968 * g-socket.ads: Minor reformatting 2969 29702009-07-22 Gary Dismukes <dismukes@adacore.com> 2971 2972 * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that 2973 include the entity kind for following cases of unreferenced entities: 2974 E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind. 2975 29762009-07-22 Ed Falis <falis@adacore.com> 2977 2978 * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop 2979 with taskSuspend. 2980 29812009-07-22 Arnaud Charlet <charlet@adacore.com> 2982 2983 * adadecode.c: Make this file compilable outside of GCC. 2984 29852009-07-22 Thomas Quinot <quinot@adacore.com> 2986 2987 * g-socket.adb, g-socket.ads (Check_Selector): Make sure that 2988 (partially) default-initialized socket sets are handled properly by 2989 clearing their Set component. 2990 29912009-07-22 Bob Duff <duff@adacore.com> 2992 2993 * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches. 2994 29952009-07-22 Robert Dewar <dewar@adacore.com> 2996 2997 * gnat_ugn.texi: Minor reformatting 2998 29992009-07-22 Ed Schonberg <schonberg@adacore.com> 3000 3001 * errout.adb (Error_Msg): A style message within an instantiation 3002 should not be labelled as an error. 3003 30042009-07-22 Ed Schonberg <schonberg@adacore.com> 3005 3006 * freeze.adb (Freeze_Entity): Do not generate extra formal for function 3007 in initialization expression if function does not have convention Ada. 3008 30092009-07-22 Sergey Rybin <rybin@adacore.com> 3010 3011 * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option 3012 '--separate-label' to control label layout. 3013 30142009-07-22 Robert Dewar <dewar@adacore.com> 3015 3016 * exp_tss.ads, sem_eval.adb: Minor reformatting 3017 30182009-07-22 Bob Duff <duff@adacore.com> 3019 3020 * exp_dist.adb, exp_dist.ads: Update comments. 3021 30222009-07-22 Brett Porter <porter@adacore.com> 3023 3024 * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of 3025 FPSCR. 3026 * sysdep.c (__gnat_get_task_options): Set task option enabling SPE. 3027 30282009-07-22 Gary Dismukes <dismukes@adacore.com> 3029 3030 * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb, 3031 exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error. 3032 Minor reformatting. 3033 * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that 3034 used poor terminology. 3035 30362009-07-22 Robert Dewar <dewar@adacore.com> 3037 3038 * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting 3039 * sem_eval.adb, exp_tss.adb: Minor comment update. 3040 * stylesw.adb: Code clean up. 3041 30422009-07-22 Ed Schonberg <schonberg@adacore.com> 3043 3044 * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the 3045 component size is an exact number of bytes, an array type can have a 3046 size clause that forces packing even though the array type itself is 3047 not bit-packed. 3048 30492009-07-22 Thomas Quinot <quinot@adacore.com> 3050 3051 * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration, 3052 if there is a previous entity with the same name in the scope, ignore 3053 it if it is the renaming declaration for a generic package introduced 3054 in instances. 3055 30562009-07-22 Nicolas Roche <roche@adacore.com> 3057 3058 * seh_init.c: use RtlAddFunctionTable to register our SEH exception 3059 handler on x86_64 windows. 3060 30612009-07-22 Arnaud Charlet <charlet@adacore.com> 3062 3063 * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create 3064 false positives in CodePeer, so ignore this pragma in this mode. 3065 30662009-07-22 Thomas Quinot <quinot@adacore.com> 3067 3068 * sem_util.adb, sem_ch10.adb: Minor reformatting 3069 3070 * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required 3071 special handling for the case of no data received and Item'First = 3072 Stream_Element_Offset'First. 3073 (Last_Index): New subprogram factoring the above special handling 3074 over the various locations where it is required. 3075 30762009-07-22 Arnaud Charlet <charlet@adacore.com> 3077 3078 * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment 3079 checks in CodePeer_Mode. 3080 * gcc-interface/Make-lang.in: Update dependencies. 3081 30822009-07-22 Ed Schonberg <schonberg@adacore.com> 3083 3084 * sem_aggr.adb: Improve error message. 3085 3086 * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis 3087 of an address representation clause. 3088 * freeze.adb (Freeze_Static_Object): An local imported object is legal 3089 if it has an address clause. 3090 30912009-07-22 Thomas Quinot <quinot@adacore.com> 3092 3093 * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded 3094 expression to insert an elab check using a conditional expression, be 3095 sure to carry the original list of interpretations to the new location. 3096 30972009-07-22 Gary Dismukes <dismukes@adacore.com> 3098 3099 * gnat1drv.adb: Fix spelling error. 3100 31012009-07-22 Javier Miranda <miranda@adacore.com> 3102 3103 * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram 3104 at the library level and fix a hidden bug in its implementation: its 3105 functionality for renaming objects was broken because 3106 N_Object_Renaming_Declarations nodes are not a subclass of 3107 N_Declaration nodes (as documented in sinfo.ads). 3108 * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this 3109 check nodes that are actuals of generic instantiations. 3110 31112009-07-22 Ed Schonberg <schonberg@adacore.com> 3112 3113 * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the 3114 context of a compilation unit is being analyzed. Used to detect 3115 circularities created by with_clauses that are not detected by the 3116 loading machinery. 3117 * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before 3118 analyzing the context of the current compilation unit, to detect 3119 possible circularities created by with_clauses. 3120 31212009-07-22 Thomas Quinot <quinot@adacore.com> 3122 3123 * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition. 3124 31252009-07-22 Robert Dewar <dewar@adacore.com> 3126 3127 * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB 3128 * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New 3129 procedure. 3130 * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch 3131 * gnat_ugn.texi: Add documentation of -gnatyB 3132 * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS) 3133 31342009-07-22 Robert Dewar <dewar@adacore.com> 3135 3136 * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb, 3137 make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb, 3138 s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb, 3139 s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb, 3140 errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb, 3141 a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb, 3142 s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb, 3143 a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb, 3144 erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources 3145 obey short-circuit style rule. 3146 31472009-07-20 Bob Duff <duff@adacore.com> 3148 3149 * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then" 3150 instead of "and", because otherwise Parent_Last_Bit is read 3151 uninitialized in the case where it's not a tagged type, or the tagged 3152 parent does not have a complete rep clause. 3153 31542009-07-20 Robert Dewar <dewar@adacore.com> 3155 3156 * stylesw.ads: Minor documentation change. 3157 3158 * types.ads: Minor reformatting 3159 31602009-07-20 Javier Miranda <miranda@adacore.com> 3161 3162 * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of 3163 generating the tag checks associated with dispatching calls. 3164 * exp_disp.adb (Apply_Access_Checks): New subprogram. 3165 (New_Value): This routine was previously local to expand dispatching 3166 calls but it is now used also by Apply_Access_Checks. 3167 (Expand_Dispatching_Calls): Cleanup code because the functionality of 3168 tag checks is now provided by Apply_Access_Checks. 3169 * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in 3170 case of dispatching calls. 3171 31722009-07-20 Arnaud Charlet <charlet@adacore.com> 3173 3174 * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in 3175 CodePeer_Mode. 3176 31772009-07-20 Gary Dismukes <dismukes@adacore.com> 3178 3179 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling 3180 for VMS, only rewrite the first component of the associated exception's 3181 aggregate init (as 'V'), and eliminate the bogus rewrites of the second 3182 and third components that were being replaced with 'M' and 'S'. 3183 31842009-07-20 Arnaud Charlet <charlet@adacore.com> 3185 3186 * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode. 3187 Also do not generate error when parsing a spec in CodePeer mode. 3188 31892009-07-20 Javier Miranda <miranda@adacore.com> 3190 3191 * checks.adb (Apply_Access_Check): Avoid checks on availability of 3192 runtime function Offset_To_Top_Ptr when compiling with no tagged 3193 types expansion. 3194 * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of 3195 adding code to the init proc when compiling for VM backends. 3196 31972009-07-20 Vincent Celier <celier@adacore.com> 3198 3199 * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into 3200 account switches -gnatw.? 3201 32022009-07-20 Thomas Quinot <quinot@adacore.com> 3203 3204 * sem_dist.adb, exp_dist.adb: Minor reformatting 3205 3206 * Make-generated.in: New file. 3207 3208 * gcc-interface/Make-lang.in: Use Make-generated.in fragment. 3209 32102009-07-20 Javier Miranda <miranda@adacore.com> 3211 3212 * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New 3213 subprogram. 3214 * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of 3215 dynamically tagged expression. 3216 * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that 3217 factorizes code. 3218 * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto. 3219 * sem_ch8.adb (Analyze_Object_Renaming): Ditto. 3220 32212009-07-20 Arnaud Charlet <charlet@adacore.com> 3222 3223 * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when 3224 CodePeer_Mode is set, to benefit from full front-end expansion 3225 (e.g. generics). 3226 32272009-07-20 Ed Schonberg <schonberg@adacore.com> 3228 3229 * sem_res.adb: Add guard. 3230 3231 * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type 3232 for possible attribute definition of External_Tag, in case clause 3233 appears in the private part of a package. 3234 32352009-07-20 Jerome Guitton <guitton@adacore.com> 3236 3237 * gcc-interface/Makefile.in: cleanup powerpc linux target pairs. 3238 32392009-07-20 Vadim Godunko <godunko@adacore.com> 3240 3241 * a-coorma.adb: Minor reformatting. 3242 32432009-07-20 Ed Schonberg <schonberg@adacore.com> 3244 3245 * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null 3246 access return types. 3247 * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype, 3248 provide an itype reference to gigi to force elaboration of the subtype 3249 at the proper point. 3250 32512009-07-20 Tristan Gingold <gingold@adacore.com> 3252 3253 * g-expect.adb: Avoid closeing already closed handle. 3254 32552009-07-20 Robert Dewar <dewar@adacore.com> 3256 3257 * sprint.adb (Write_Subprogram_Name): New procedure to output 3258 subprogram name with possible preceding $ (replaces 3259 Note_Implicit_Run_Time_Call). 3260 32612009-07-20 Robert Dewar <dewar@adacore.com> 3262 3263 * vms_data.ads: Minor reformatting 3264 3265 * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype, 3266 applies to base type. 3267 (Parent_Subtype): Now allowed on record subtype, applies to base type 3268 * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment 3269 for case of fully repped tagged type. 3270 (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid 3271 tag save/restore for fully repped tagged type case. 3272 * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function 3273 * fe.h (Is_Fully_Repped_Tagged_Type): New function 3274 * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for 3275 overlap of tagged type components with parent type if parent type is 3276 fully repped. 3277 * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag 3278 3279 * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of 3280 comparisons. 3281 (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check 3282 (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check 3283 3284 * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only 3285 logical operators (AND/OR/XOR), not comparison operators. 3286 3287 * sprint.ads: Minor reformatting 3288 32892009-07-20 Ed Schonberg <schonberg@adacore.com> 3290 3291 * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related 3292 intrinsics, check that argument is a string literal, rather than 3293 checking for staticness. 3294 32952009-07-20 Robert Dewar <dewar@adacore.com> 3296 3297 * sem_ch13.adb: Minor reformatting 3298 3299 * einfo.ads: Minor reformatting 3300 Component_Bit_Offset is no longer considered obsolescent 3301 33022009-07-20 Nicolas Roche <roche@adacore.com> 3303 3304 * a-calend.adb: Redefine time_t as signed integer with same size as 3305 Address type. 3306 * s-os_lib.ads: Redefine OS_Time as signed integer with same size as 3307 Address type 3308 * adaint.h: On Windows 64bits declare OS_Time as long long instead of 3309 long 3310 33112009-07-20 Javier Miranda <miranda@adacore.com> 3312 3313 * exp_tss.adb (Init_Proc): Add missing support for non-default C++ 3314 constructors that have anonymous access type formals. 3315 3316 * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada 3317 class-wide arguments in case of imported C++ subprograms. 3318 3319 * exp_ch3.adb (Build_Initialization_Call): Add assertion. 3320 33212009-07-20 Sergey Rybin <rybin@adacore.com> 3322 3323 * vms_data.ads: Update qualifiers. 3324 33252009-07-20 Robert Dewar <dewar@adacore.com> 3326 3327 * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor 3328 reformatting 3329 33302009-07-17 Richard Guenther <rguenther@suse.de> 3331 3332 PR c/40401 3333 * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples 3334 state. Remove unused parameter. 3335 (gnat_gimplify_function): Do not gimplify here. 3336 Fold into its only caller and remove. 3337 (gnat_builtin_function): Adjust for end_subprog_body signature change. 3338 (gnat_write_global_declarations): Also finalize the CU. 3339 * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here. 3340 * gcc-interface/trans.c (gigi): Revert to pre-tuples state. 3341 (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature 3342 change. 3343 * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter. 3344 33452009-07-15 Arnaud Charlet <charlet@adacore.com> 3346 3347 * gcc-interface/Make-lang.in: Update dependencies 3348 3349 * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai 3350 33512009-07-15 Robert Dewar <dewar@adacore.com> 3352 3353 * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for 3354 N_Label. Remove SCO table entry for entry point (not used). 3355 3356 * par_sco.ads: Remove SCO entry point type (not used) 3357 3358 * switch.adb: Minor code clean up. 3359 33602009-07-15 Eric Botcazou <ebotcazou@adacore.com> 3361 3362 * exp_dbug.ads (Base Record Types): Document enhanced encoding. 3363 33642009-07-15 Thomas Quinot <quinot@adacore.com> 3365 3366 * gnatls.adb: Minor reformatting 3367 3368 * gnatcmd.adb: Minor code reorganization 3369 33702009-07-15 Ed Schonberg <schonberg@adacore.com> 3371 3372 * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to 3373 determine whether a component of a private type has a composite type. 3374 33752009-07-15 Robert Dewar <dewar@adacore.com> 3376 3377 * sem_ch10.adb: Minor reformatting throughout 3378 Minor code reorganization (put nested subprograms in alpha order) 3379 33802009-07-15 Ed Schonberg <schonberg@adacore.com> 3381 3382 * exp_ch6.adb (Expand_Call): Prevent double attachment of the result 3383 when compiling a call to a protected function that returns a controlled 3384 object. 3385 33862009-07-15 Hristian Kirtchev <kirtchev@adacore.com> 3387 3388 * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into 3389 one. Add task locking and unlocking around the critical region which 3390 mentions localtime_r and global variable timezone for various targets. 3391 Comment reformatting. 3392 33932009-07-15 Robert Dewar <dewar@adacore.com> 3394 3395 * gnat_rm.texi: Document s-ststop.ads 3396 3397 * impunit.ad: (Map_Array): New table of alternative names 3398 (Get_Kind_Of_Unit): Return possible suggested alternative name 3399 3400 * impunit.ads (Get_Kind_Of_Unit): Return possible suggested 3401 alternative name. 3402 3403 * sem_ch10.adb (Analalyze_With_Clause): Add name of possible 3404 alternative unit if an implementation unit is with'ed. 3405 34062009-07-15 Robert Dewar <dewar@adacore.com> 3407 3408 * gnat_ugn.texi: Minor updates. 3409 3410 * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented 3411 34122009-07-15 Ed Schonberg <schonberg@adacore.com> 3413 3414 * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant 3415 conditions of a derived boolean type. 3416 Minor reformatting 3417 34182009-07-15 Robert Dewar <dewar@adacore.com> 3419 3420 * gnat1drv.adb: Initialize SCO tables 3421 3422 * par-load.adb: Call SCO_Record for main unit spec 3423 3424 * par.adb: Make call to SCO_Record for main unit 3425 3426 * par_sco.adb (Unit_Table): Change format to facilitate sort 3427 (Process_Decisions): New procedure with list argument 3428 (Traverse_Generic_Package_Declaration): New procedure 3429 (Initialize): New procedure, replaces Init 3430 (SCO_Output): Sort unit table before output 3431 (SCO_Record): Avoid duplications 3432 (SCO_Record): Handle remaining cases of units 3433 (Traverse_Declarations_Or_Statements): Handle generics 3434 3435 * par_sco.ads (Initialize): New peocedure (replaces Init) 3436 3437 * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for 3438 subunit. 3439 34402009-07-15 Arnaud Charlet <charlet@adacore.com> 3441 3442 * debug.adb: Add -gnatd.J switch for now to support scil generation in 3443 parallel. Add missing doc for -gnatd.I and -gnatd.O 3444 34452009-07-15 Robert Dewar <dewar@adacore.com> 3446 3447 * lib-load.adb: Minor reformatting 3448 3449 * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO. 3450 34512009-07-15 Robert Dewar <dewar@adacore.com> 3452 3453 * par.adb: Minor reformatting 3454 Add ??? comment for possible bad comment 3455 3456 * par-ch10.adb: Minor reformatting 3457 34582009-07-15 Ed Schonberg <schonberg@adacore.com> 3459 3460 * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition 3461 is a literal of a derived boolean type, it appears as an unchecked 3462 conversion. Retrieve actual value from expression of conversion. 3463 34642009-07-15 Robert Dewar <dewar@adacore.com> 3465 3466 * sem_ch3.adb: Minor reformatting 3467 3468 * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb, 3469 lib-writ.ads, lib-writ.adb: Minor reformatting. 3470 Fix problem with SCO format in ALI files 3471 34722009-07-15 Robert Dewar <dewar@adacore.com> 3473 3474 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb, 3475 exp_aggr.adb: Minor code reorganization (better calling sequence for 3476 Make_Temporary). 3477 34782009-07-15 Thomas Quinot <quinot@adacore.com> 3479 3480 * opt.ads: Minor comment edits 3481 34822009-07-15 Tristan Gingold <gingold@adacore.com> 3483 3484 * gcc-interface/Makefile.in: Special rule for seh_init.o no longer 3485 needed. 3486 34872009-07-15 Robert Dewar <dewar@adacore.com> 3488 3489 * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO 3490 information. 3491 3492 * lib-writ.ads: Document addition of SCO lines to ALI file 3493 3494 * par_sco.ads, par_sco.adb: New files. 3495 3496 * opt.ads (Generate_SCO): New switch 3497 3498 * par.adb (Par): Call SCO_Record to record SCO information 3499 3500 * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition 3501 3502 * switch-c.adb: Recognize -gnateS to generate SCO information 3503 3504 * usage.adb: Add line for -gnateS 3505 3506 * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1 3507 35082009-07-15 Robert Dewar <dewar@adacore.com> 3509 3510 * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor 3511 reformatting. 3512 35132009-07-15 Thomas Quinot <quinot@adacore.com> 3514 3515 * g-socthi-mingw.adb: Minor comment addition 3516 3517 * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int. 3518 35192009-07-15 Robert Dewar <dewar@adacore.com> 3520 3521 * g-htable.ads, s-htable.ads: Minor reformatting 3522 35232009-07-15 Robert Dewar <dewar@adacore.com> 3524 3525 * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement 3526 new switch -gnatw.g. 3527 (Set_GNAT_Mode_Warnings): New procedure. 3528 3529 * lib-xref.adb: Minor reformatting 3530 35312009-07-15 Robert Dewar <dewar@adacore.com> 3532 3533 * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting 3534 Minor code reorganization 3535 35362009-07-14 Taras Glek <tglek@mozilla.com> 3537 Rafael Espindola <espindola@google.com> 3538 3539 * gcc-interface/Make-lang.in (ada.install-plugin): New target for 3540 installing plugin headers. 3541 35422009-07-13 Ed Schonberg <schonberg@adacore.com> 3543 3544 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb, 3545 exp_aggr.adb (Make_Temporary): Utility to create a defining identifier 3546 and link it to the expression whose value it captures. 3547 35482009-07-13 Robert Dewar <dewar@adacore.com> 3549 3550 * output.adb: Minor comment addition for last change 3551 3552 * sinfo.ads: Minor reformatting 3553 35542009-07-13 Vasiliy Fofanov <fofanov@adacore.com> 3555 3556 * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when 3557 spawn failed like on all other targets. 3558 35592009-07-13 Ed Schonberg <schonberg@adacore.com> 3560 3561 * exp_ch7.adb: Indicate origin of temporary for transient expression. 3562 35632009-07-13 Thomas Quinot <quinot@adacore.com> 3564 3565 * s-oscons-tmplt.c: Add comment. 3566 35672009-07-13 Robert Dewar <dewar@adacore.com> 3568 3569 * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor 3570 reformatting. Minor code reorganization (add 9 argument version of 3571 Nkind_In). 3572 3573 * impunit.adb: Remove s-os_lib from list of system extensions. 3574 3575 * sem_util.ads: Minor reformatting 3576 3577 * output.adb: Add warnings off/on around System.OS_Lib. 3578 35792009-07-13 Bob Duff <duff@adacore.com> 3580 3581 * exp_dist.adb: Minor comment updates. 3582 35832009-07-13 Gary Dismukes <dismukes@adacore.com> 3584 3585 * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of 3586 several references to CodePeer. 3587 35882009-07-13 Bob Duff <duff@adacore.com> 3589 3590 * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function, 3591 Build_TypeCode_Function_All): Do not recurse if the type is the base 3592 type. 3593 35942009-07-13 Robert Dewar <dewar@adacore.com> 3595 3596 * exp_ch4.adb: Minor comment change 3597 35982009-07-13 Ed Schonberg <schonberg@adacore.com> 3599 3600 * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for 3601 type of iteration, to prevent spurious warnings. 3602 36032009-07-13 Nicolas Roche <roche@adacore.com> 3604 3605 * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always 3606 included. 3607 36082009-07-13 Arnaud Charlet <charlet@adacore.com> 3609 3610 * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb, 3611 gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to 3612 Generate_SCIL. 3613 (CodePeer_Mode): New -gnatC switch. 3614 (Adjust_Global_Switches): Adjust settings for Generate_SCIL and 3615 CodePeer_Mode. 3616 36172009-07-13 Eric Botcazou <ebotcazou@adacore.com> 3618 3619 * checks.adb (Selected_Range_Checks): Do not consider that a non-static 3620 integer bound forces the check if it is compared to its subtype range. 3621 36222009-07-13 Robert Dewar <dewar@adacore.com> 3623 3624 * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb, 3625 prj-strt.ads: Minor reformatting 3626 36272009-07-13 Thomas Quinot <quinot@adacore.com> 3628 3629 * exp_dist.adb (Build_From_Any_Call): For the case of a generic type, 3630 set the type of the From_Any call to the base type. 3631 36322009-07-13 Doug Rupp <rupp@adacore.com> 3633 3634 * symbols-processing-vms-ia64.adb (Process): Add variables and 3635 constants to retrieve and check for symbol visibility. 3636 36372009-07-13 Javier Miranda <miranda@adacore.com> 3638 3639 * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to 3640 the identical type we remove the conversion completely because 3641 it is useless. 3642 36432009-07-13 Emmanuel Briot <briot@adacore.com> 3644 3645 * prj-err.adb (Error_Msg): One more case where a message should be 3646 considered as a warning. 3647 3648 * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test. 3649 36502009-07-13 Thomas Quinot <quinot@adacore.com> 3651 3652 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze 3653 calling stubs in the (library level) scope of the RCI locator, where it 3654 is attached, not in the caller's scope. 3655 36562009-07-13 Javier Miranda <miranda@adacore.com> 3657 3658 * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide 3659 interface object declarations we delay the generation of the equivalent 3660 record type declarations until its expansion because there are cases in 3661 which they are not required. 3662 3663 * sem_util.adb (Implements_Interface): Add missing support for subtypes. 3664 3665 * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus 3666 addition of assertion. 3667 3668 * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide 3669 interface types require no equivalent constrained type declarations 3670 because the expanded code only references the tag component associated 3671 with the interface. 3672 (Find_Interface_Tag): Improve management of interfaces that are 3673 ancestors of tagged types. 3674 3675 * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of 3676 class-wide object declarations to add missing support to statically 3677 displace the pointer to the object to reference the tag component 3678 associated with the interface. 3679 3680 * exp_disp.adb (Make_Tags) Avoid generation of internally generated 3681 auxiliary types associated with user-defined dispatching calls if the 3682 type has no user-defined primitives. 3683 36842009-07-13 Vasiliy Fofanov <fofanov@adacore.com> 3685 3686 * mingw32.h: Make it explicit that we need XP or later. 3687 3688 * initialize.c: Remove useless extern symbol declaration. 3689 3690 * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow 3691 code reuse in expect.c. 3692 3693 * adaint.c: Changes throughout the Windows section to redesign storage 3694 of the child process list and the process identification. 3695 3696 * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids 3697 for interfacing, fix errors. 3698 (__gnat_expect_portable_execvp): use function in adaint.c 3699 37002009-07-13 Emmanuel Briot <briot@adacore.com> 3701 3702 * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb, 3703 prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads, 3704 prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb, 3705 errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads 3706 (Prj.Nmsc.Report_Error): Removed, no longer needed. 3707 Always use Prj.Err.Report_Message. 3708 37092009-07-13 Robert Dewar <dewar@adacore.com> 3710 3711 * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting 3712 & comment edits. 3713 37142009-07-13 Robert Dewar <dewar@adacore.com> 3715 3716 * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb, 3717 prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting 3718 37192009-07-13 Emmanuel Briot <briot@adacore.com> 3720 3721 * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb, 3722 mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set, 3723 Ada_Prj_Include_File_Set): Removed, since not needed 3724 Code clean up. 3725 37262009-07-13 Ed Schonberg <schonberg@adacore.com> 3727 3728 * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of 3729 Analyze_Membership_Op. 3730 3731 * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of 3732 Resolve_Membership_Op. 3733 3734 * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of 3735 Expand_N_In. 3736 37372009-07-13 Robert Dewar <dewar@adacore.com> 3738 3739 * clean.adb: Minor reformattting 3740 37412009-07-13 Emmanuel Briot <briot@adacore.com> 3742 3743 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb, 3744 gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb, 3745 prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb, 3746 prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages 3747 and attributes in a project tree. 3748 (Add_Default_GNAT_Naming_Scheme): Provide real implementation. 3749 Remove last remaining mode-specific code (ada_only or 3750 multi_language). This was duplicating code 3751 (Get_Mode, Set_Mode): removed, no longer used. 3752 (Initialize_Project_Path): all tools will now take into account both 3753 GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order). 3754 Remove some global variables and subprograms no longer used 3755 Make temporary files tree-specific, to avoid interferences between 3756 trees loaded in memory at the same time. 3757 (Prj.Delete_Temporary_File): new subprogram 3758 (Object_Paths, Source_Paths): fields no longer stored in the project 3759 tree, since they are only needed locally in Set_Ada_Paths. 3760 (Set_Mapping_File_Initial_State_To_Empty): removed, since had no 3761 effect in practice. 3762 (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced 3763 by local variables in the appropriate subprograms 3764 (Has_Foreign_Sources): removed. 3765 3766 * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake 3767 37682009-07-13 Arnaud Charlet <charlet@adacore.com> 3769 3770 * gnat1drv.adb (Adjust_Global_Switches): No longer set 3771 Back_Annotate_Rep_Info in inspector mode. 3772 (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL 3773 3774 * opt.ads: Update comment. 3775 37762009-07-13 Robert Dewar <dewar@adacore.com> 3777 3778 * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb, 3779 prj.ads: Minor reformatting and code reorganization. 3780 3781 * par-ch3.adb (Check_Restricted_Expression): New procedure 3782 37832009-07-13 Ed Schonberg <schonberg@adacore.com> 3784 3785 * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream 3786 attribute into a call of the corresponding suprogram, create extra 3787 formals for the subprogram, because it may be a renaming whose 3788 analysis does not create extra formals. 3789 37902009-07-13 Emmanuel Briot <briot@adacore.com> 3791 3792 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb, 3793 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, 3794 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb, 3795 prj-tree.ads: Minor reformatting. 3796 (Processing_Flags): new record to encapsulate the set of common 3797 parameters to several subprograms in the project manager. 3798 (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body 3799 Remove the need for the Current_Dir parameter in subprograms. 3800 (Look_For_Sources): minor refactoring, now that we no longer need to 3801 share subprograms between the two Ada_Only and Multi_Language modes 3802 (Processing_Flags): New field Error_On_Unknown_Language. 3803 Merge tests for library project between gnatmake and gprbuild. 3804 38052009-07-13 Arnaud Charlet <charlet@adacore.com> 3806 3807 * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments. 3808 Minor reformatting. 3809 38102009-07-13 Emmanuel Briot <briot@adacore.com> 3811 3812 * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather 3813 than units. 3814 38152009-07-13 Thomas Quinot <quinot@adacore.com> 3816 3817 * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read, 3818 Write,Input,Output} from private view to full view. 3819 3820 * sem_type.adb, sem_type.ads: Minor reformatting 3821 38222009-07-13 Nicolas Setton <setton@adacore.com> 3823 3824 * exp_dbug.ads: Add documentation note on the utility of 3825 DW_AT_GNAT_encoding for IDEs. 3826 38272009-07-13 Robert Dewar <dewar@adacore.com> 3828 3829 * g-socthi-vxworks.adb: Minor reformatting 3830 3831 * gnatcmd.adb: Minor reformatting 3832 38332009-07-13 Thomas Quinot <quinot@adacore.com> 3834 3835 * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry 3836 removed, not used anymore. 3837 (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any): 3838 New subprogram, implements copy of an Any value into a limited object. 3839 (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs, 3840 Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs, 3841 Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case 3842 of parameters of a limited type, use the above new subprogram. 3843 38442009-07-13 Emmanuel Briot <briot@adacore.com> 3845 3846 * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter 3847 Location. 3848 (Copy_ALI_Files): Avoid calls to read when pointing outside of the 3849 allocated space. 3850 (Error_Report): Remove global variable, replaced by parameters. 3851 38522009-07-13 Thomas Quinot <quinot@adacore.com> 3853 3854 * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the 3855 standard sendto(2) interface for connected sockets (passing a null 3856 destination address). Use send(2) instead for that case. 3857 38582009-07-13 Pascal Obry <obry@adacore.com> 3859 3860 * adaint.c: Fix __gnat_stat() with Win32 UNC paths. 3861 38622009-07-13 Emmanuel Briot <briot@adacore.com> 3863 3864 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads, 3865 prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global 3866 variables and tables in prj-nmsc.adb. 3867 (Tree_Processing_Data): Renames Processing_Data, some new fields added 3868 (Project_Processing_Data): New record 3869 Simplify/unify check for missing sources. 3870 38712009-07-13 Emmanuel Briot <briot@adacore.com> 3872 3873 * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb, 3874 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, 3875 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb, 3876 prj-tree.ads (Immediate_Directory_Of): Removed. 3877 (Prj.Pars): Now parse the project simulating a default config file. 3878 (Add_Default_GNAT_Naming_Scheme): New subprogram 3879 (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement. 3880 Remove gnatmake-specific parsing of source files. 3881 (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises 3882 the error itself to provide more precise diagnostics. 3883 (Process_Exceptions_Unit_Based): Avoid duplicate error message when 3884 a unit belongs to several projects. 3885 (Copy_Interface_Sources): Search the full path of files to copy in the 3886 list of sources of the application rather than in the list of units. 3887 (Parse_Project_And_Apply_Config): Do not reset the name of the main 3888 project file. 3889 (Check_File): Use htables to find out whether a source is duplicated. 3890 (Add_Source): check whether the source or unit were already seen earlier 3891 3892 * gcc-interface/Makefile.in: Update gnatmake dependencies. 3893 38942009-07-13 Robert Dewar <dewar@adacore.com> 3895 3896 * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple 3897 expression if extensions permitted. 3898 3899 * par-ch4.adb (P_Membership_Test): New procedure (implement membership 3900 set tests). 3901 (P_Relation): Use P_Membership_Test 3902 3903 * par.adb (P_Membership_Test): New procedure (implement membership set 3904 tests). 3905 3906 * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets. 3907 3908 * sprint.adb (Sprint_Node): Handle set form for membership tests. 3909 39102009-07-13 Thomas Quinot <quinot@adacore.com> 3911 3912 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): 3913 Do not attempt to generate stubs for predefined primitives of 3914 synchronized interfaces. 3915 (Add_Stub_Type): Factor some code from the PCS-specific variants of 3916 Build_Stub_Type. 3917 39182009-07-13 Ed Schonberg <schonberg@adacore.com> 3919 3920 * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the 3921 Controlling_Result flag from the operation they override. 3922 39232009-07-13 Arnaud Charlet <charlet@adacore.com> 3924 3925 * gcc-interface/Make-lang.in: Update dependencies 3926 39272009-07-13 Robert Dewar <dewar@adacore.com> 3928 3929 * gnat_ugn.texi: The gnatf switch no longer is needed to get full 3930 details on unsupported constructs. 3931 3932 * rtsfind.adb: Remove references to All_Errors_Mode, give errors 3933 unconditionally. 3934 3935 * s-trafor-default.adb: Correct some warnings 3936 3937 * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb, 3938 sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb: 3939 Minor reformatting. 3940 3941 * par-ch4.adb (Conditional_Expression): Capture proper location for 3942 conditional expression, should point to IF. 3943 3944 * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb, 3945 s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb, 3946 g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code 3947 reorganization (use conditional expressions). 3948 39492009-07-13 Ed Schonberg <schonberg@adacore.com> 3950 3951 * exp_util.adb (Remove_Side_Effects): If the expression is a call to a 3952 build-in-place function that returns an inherently limited type (not 3953 just a task type) create proper object declaration so that extra 3954 build-in-place actuals are properly added to the call. 3955 39562009-07-13 Robert Dewar <dewar@adacore.com> 3957 3958 * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value 3959 3960 * gnat_ugn.texi: Add documentation for -gnatw.m/.M 3961 3962 * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag 3963 3964 * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset 3965 Warn_On_Suspicious_Modulus_Value. 3966 3967 * ug_words: Add entries for -gnatw.m/-gnatw.M. 3968 3969 * usage.adb: Add lines for -gnatw.m/.M switches. 3970 3971 * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M 3972 39732009-07-13 Javier Miranda <miranda@adacore.com> 3974 3975 * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before 3976 reading the Is_Interface attribute of the dispatching type. 3977 39782009-07-13 Robert Dewar <dewar@adacore.com> 3979 3980 * a-convec.adb: Minor code reorganization (use conditional expressions) 3981 39822009-07-13 Robert Dewar <dewar@adacore.com> 3983 3984 * freeze.adb (Check_Suspicious_Modulus): New procedure. 3985 39862009-07-13 Robert Dewar <dewar@adacore.com> 3987 3988 * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid 3989 warning). 3990 3991 * par-ch4.adb: Minor reformatting 3992 39932009-07-13 Ed Schonberg <schonberg@adacore.com> 3994 3995 * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate 3996 => Is_Atomic_Aggregate 3997 39982009-07-13 Emmanuel Briot <briot@adacore.com> 3999 4000 * prj-nmsc.adb: Avoid traversing the list of source files if 4001 we have already processed all locally removed files. 4002 40032009-07-13 Jose Ruiz <ruiz@adacore.com> 4004 4005 * gnat_ugn.texi: Fix typo. 4006 40072009-07-13 Robert Dewar <dewar@adacore.com> 4008 4009 * freeze.adb: Minor reformatting 4010 Minor code reorganization (use Nkind_In) 4011 4012 * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting 4013 40142009-07-11 Eric Botcazou <ebotcazou@adacore.com> 4015 4016 * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output 4017 local variable and do not test it in Compile_Time_Bad_Alignment. 4018 Do not issue size or alignment warnings for the X'Address form. 4019 * sem_util.ads (Find_Overlaid_Object): Delete. 4020 (Find_Overlaid_Entity): New procedure. 4021 * sem_util.adb (Find_Overlaid_Object): Rename to... 4022 (Find_Overlaid_Entity): ...this and turn into a procedure. Report 4023 whether the address is offseted within the overlaid entity. 4024 (Has_Compatible_Alignment): Track the offset globally instead of 4025 passing it to Check_Offset. For an indexed component, compute the 4026 full offset when possible. If the resulting offset is zero, only 4027 check the prefix. 4028 (Check_Offset): Delete. 4029 * sem_ch13.adb (Address_Clause_Check_Record): Add Off field. 4030 (Address_Aliased_Entity): Delete. 4031 (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call 4032 Find_Overlaid_Entity to find the overlaid entity and the offset. 4033 Adjust throughout for above change. 4034 (Validate_Address_Clauses): Always use attributes of entities, not of 4035 their type. Tweak message for warning. Call Has_Compatible_Alignment 4036 if the address is offseted to warn about incompatible alignments. 4037 * gcc-interface/gigi.h (annotate_object): Declare. 4038 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming 4039 entity. Call annotate_object instead of annotating manually objects. 4040 (annotate_object): New function. 4041 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters 4042 at the end. 4043 40442009-07-11 Eric Botcazou <ebotcazou@adacore.com> 4045 4046 * gcc-interface/ada-tree.h: Minor reorganization. 4047 * gcc-interface/misc.c (gnat_print_decl): Minor tweaks. 4048 (gnat_print_type): Likewise. 4049 40502009-07-11 Thomas Quinot <quinot@adacore.com> 4051 4052 * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing: 4053 Lvalue -> lvalue 4054 4055 * exp_ch6.adb: Minor reformatting 4056 40572009-07-11 Ed Schonberg <schonberg@adacore.com> 4058 4059 * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into 4060 account possible type qualification to determine whether aggregate 4061 needs a target temporary to respect atomic type or object. 4062 4063 * exp_aggr.adb (Expand_Record_Aggregate): Use new version of 4064 Expand_Atomic_Aggregate. 4065 40662009-07-11 Emmanuel Briot <briot@adacore.com> 4067 4068 * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up 4069 algorithm. 4070 (Excluded_Sources_Htable): No longer a global table. 4071 Change error message to indicate which files are illegal in the list 4072 of excluded files, as opposed to only the location in the project 4073 file. 4074 (Find_Source): New subprogram. 4075 40762009-07-10 Thomas Quinot <quinot@adacore.com> 4077 4078 * exp_ch7.adb: Update comments. 4079 40802009-07-10 Arnaud Charlet <charlet@adacore.com> 4081 4082 * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod 4083 clause if -gnatI is set instead of crashing. 4084 40852009-07-10 Ed Schonberg <schonberg@adacore.com> 4086 4087 * sem_ch11.adb (Same_Expression): Null is always equal to itself. 4088 Additional work to remove redundant successive raise statements, in 4089 this case access checks. 4090 40912009-07-10 Vincent Celier <celier@adacore.com> 4092 4093 * make.adb (Compile): Always create a deep copy of the mapping file 4094 argument (-gnatem=...) as it may be deallocate/reallocate by 4095 Normalize_Arguments. 4096 40972009-07-10 Javier Miranda <miranda@adacore.com> 4098 4099 * einfo.adb (Directly_Designated_Type): Add assertion. 4100 4101 * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on 4102 access types before using attribute Directly_Designated_Type. 4103 41042009-07-10 Emmanuel Briot <briot@adacore.com> 4105 4106 * prj.ads: Minor typo fix 4107 41082009-07-10 Ed Schonberg <schonberg@adacore.com> 4109 4110 * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need 4111 special treatment. 4112 4113 * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten 4114 subprogram is a function call, resolve properly, to ensure that extra 4115 actuals are added as needed. 4116 41172009-07-10 Thomas Quinot <quinot@adacore.com> 4118 4119 * sem_aggr.adb: Minor comments editing 4120 4121 * exp_tss.adb, exp_ch3.adb: Minor reformatting 4122 41232009-07-10 Robert Dewar <dewar@adacore.com> 4124 4125 * exp_util.adb: Minor code reorganization (use N_Short_Circuit) 4126 4127 * exp_ch4.adb: Add ??? comment for conditional expressions on limited 4128 types. 4129 4130 * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure, 4131 replaces Safe_To_Capture_In_Parameter_Value, and properly handles the 4132 case of conditional expressions that may not be elaborated. 4133 4134 * sem_util.adb (Safe_To_Capture_Value): Properly handle case of 4135 conditional expression where we may not execute then then or else 4136 branches. 4137 41382009-07-10 Arnaud Charlet <charlet@adacore.com> 4139 4140 * i-cexten.ads (bool): New type. 4141 41422009-07-10 Robert Dewar <dewar@adacore.com> 4143 4144 * sinfo.ads (N_Short_Circuit): New definition 4145 4146 * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb, 4147 treepr.adb: Minor code reorganization (use N_Short_Circuit) 4148 41492009-07-10 Javier Miranda <miranda@adacore.com> 4150 4151 * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of 4152 non-tagged record types. 4153 4154 * sem_prag.adb 4155 (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)" 4156 with non-tagged types. Required to import C++ classes that have no 4157 virtual primitives. 4158 (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions 4159 returning non-tagged types. For backward compatibility, if the 4160 constructor returns a class wide type we internally change the 4161 returned type to the corresponding non class-wide type. 4162 4163 * sem_aggr.adb 4164 (Valid_Ancestor_Type): CPP_Constructors code cleanup. 4165 (Resolve_Extension_Aggregate): CPP_Constructors code cleanup. 4166 (Resolve_Aggr_Expr): CPP_Constructors code cleanup. 4167 (Resolve_Record_Aggregate): CPP_Constructors code cleanup. 4168 4169 * sem_ch3.adb 4170 (Analyze_Object_Declaration): CPP_Constructors code cleanup. 4171 4172 * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup. 4173 4174 * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup. 4175 4176 * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup. 4177 4178 * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code 4179 cleanup. 4180 4181 * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up. 4182 4183 * gnat_rm.texi 4184 (pragma CPP_Class): Document that it can be used now with non-tagged 4185 record types. 4186 (pragma CPP_Constructor): Document that it can be used now with 4187 functions returning specific types. For backward compatibility 4188 we also support functions returning class-wide types. 4189 4190 * gnat_ugn.texi 4191 (Interfacing with C++ constructors): Update the examples to incorporate 4192 the new syntax in which the functions used to import C++ constructors 4193 return specific types. 4194 (Interfacing with C++ at the Class Level): Update the examples to 4195 incorporate the new syntax in which the functions used to import 4196 C++ constructors return specific types. 4197 41982009-07-10 Thomas Quinot <quinot@adacore.com> 4199 4200 * exp_disp.adb (Make_Disp_Asynchronous_Select_Body, 4201 Make_Disp_Conditional_Select_Body, 4202 Make_Disp_Timed_Select_Body): For the case of a type that is neither an 4203 interface nor a concurrent type, the primitive body is empty. Generate 4204 a null statement so that it remains well formed. 4205 42062009-07-10 Ed Schonberg <schonberg@adacore.com> 4207 4208 * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants, 4209 replace references to them in defaulted component expressions with 4210 references to the values of the discriminants of the target object. 4211 42122009-07-10 Ed Schonberg <schonberg@adacore.com> 4213 4214 * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of 4215 pragma, to capture global references if the context is generic. 4216 4217 * exp_ch2.adb (Expand_Discriminant): If a task type discriminant 4218 appears within the initialization procedure for the corresponding 4219 record, replace it with the proper discriminal. 4220 42212009-07-10 Vincent Celier <celier@adacore.com> 4222 4223 * make.adb: Do not include object directories or library ALI 4224 directories of library projects in the object path. 4225 42262009-07-10 Javier Miranda <miranda@adacore.com> 4227 4228 * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming 4229 Typ argument to ensure proper management of access types. 4230 42312009-07-10 Ed Schonberg <schonberg@adacore.com> 4232 4233 * exp_ch7.adb (Build_Final_List): If the list is being built for a 4234 Taft-Amendment type, place the finalization list in the package body, 4235 to ensure that the tree for the spec is identical whenever it is 4236 compiled. 4237 42382009-07-10 Javier Miranda <miranda@adacore.com> 4239 4240 * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when 4241 inheriting attributes from a private Parent_Base. 4242 42432009-07-10 Ed Schonberg <schonberg@adacore.com> 4244 4245 * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise 4246 statements with the same condition. 4247 42482009-07-10 Robert Dewar <dewar@adacore.com> 4249 4250 * exp_ch4.adb (Raise_Accessibility_Error): New procedure 4251 42522009-07-09 Tom Tromey <tromey@redhat.com> 4253 4254 * raise-gcc.c: Include dwarf2h (unconditionally). 4255 42562009-07-09 Ed Schonberg <schonberg@adacore.com> 4257 4258 * sem_ch10.adb (Install_Context): If the unit is a package body, 4259 install the private with_clauses of the corresponding package 4260 declaration. 4261 42622009-07-09 Robert Dewar <dewar@adacore.com> 4263 4264 * checks.adb: Minor reformatting 4265 42662009-07-09 Vasiliy Fofanov <fofanov@adacore.com> 4267 4268 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in 4269 into ug_words. 4270 42712009-07-09 Thomas Quinot <quinot@adacore.com> 4272 4273 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): 4274 Do not warn for a constant overlaying any constant object 4275 42762009-07-09 Ed Schonberg <schonberg@adacore.com> 4277 4278 * sem_ch10.adb (Install_Context): If the unit is a package body, 4279 install the private with_clauses of the corresponding package 4280 declaration. 4281 42822009-07-09 Robert Dewar <dewar@adacore.com> 4283 4284 * checks.adb: Minor reformatting 4285 42862009-07-09 Vasiliy Fofanov <fofanov@adacore.com> 4287 4288 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in 4289 into ug_words. 4290 42912009-07-09 Thomas Quinot <quinot@adacore.com> 4292 4293 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): 4294 Do not warn for a constant overlaying any constant object 4295 42962009-07-09 Arnaud Charlet <charlet@adacore.com> 4297 4298 * gcc-interface/Make-lang.in: Update dependencies 4299 43002009-07-09 Thomas Quinot <quinot@adacore.com> 4301 4302 * g-socket.adb (Check_Selector): Do not create local copies of the 4303 socket sets on the stack. 4304 43052009-07-09 Vasiliy Fofanov <fofanov@adacore.com> 4306 4307 * gnat_ugn.texi: Add missing VMS translations. 4308 43092009-07-09 Ed Schonberg <schonberg@adacore.com> 4310 4311 * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the 4312 condition, to prevent generation of visible code during expansion, 4313 when Check is not enabled. 4314 43152009-07-09 Gary Dismukes <dismukes@adacore.com> 4316 4317 * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that 4318 the check gets registered for any available local handler 4319 (Set_Local_Raise). 4320 4321 * sem_util.adb: Add with and use of Exp_Ch11. 4322 (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so 4323 that the check gets registered for any available local handler. 4324 4325 * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check 4326 on slice ranges. 4327 43282009-07-09 Steve Baird <baird@adacore.com> 4329 4330 * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New 4331 function. 4332 (Expand_N_Exception_Declaration): Fix handling of exceptions 4333 declared in a subprogram. 4334 43352009-07-09 Emmanuel Briot <briot@adacore.com> 4336 4337 * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from 4338 multi-unit files. 4339 43402009-07-09 Thomas Quinot <quinot@adacore.com> 4341 4342 * freeze.adb: Minor reformatting 4343 4344 * exp_ch3.adb: Minor comment fix. 4345 4346 * sinfo.ads: Minor comment fix 4347 43482009-07-09 Ed Schonberg <schonberg@adacore.com> 4349 4350 * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression. 4351 43522009-07-09 Ed Schonberg <schonberg@adacore.com> 4353 4354 * freeze.adb (Freeze_Expression): If the expression is the name of a 4355 function in a call, and the function has not been frozen yet, create 4356 extra formals for it to ensure that the proper actuals are created 4357 when expanding the call. 4358 43592009-07-09 Emmanuel Briot <briot@adacore.com> 4360 4361 * prj-pp.adb (Print): Fix handling of source index when set on a 4362 declaration node. 4363 43642009-07-09 Ed Schonberg <schonberg@adacore.com> 4365 4366 * einfo.ads, einfo.adb: New attribute Related_Expression, used to link 4367 a temporary to the source expression whose value it captures. 4368 4369 * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed. 4370 43712009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org> 4372 4373 * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by 4374 EXPR_LOCATION. 4375 43762009-07-07 Gary Dismukes <dismukes@adacore.com> 4377 4378 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out 4379 parameters when the subtype of the actual is not known to be a subrange 4380 of the formal's subtype. 4381 (Expand_Call): Generate a range check only in the E_In_parameter case 4382 (in out parameter range checks are now handled in Expand_Actuals). 4383 4384 * exp_ch4.adb (Expand_N_Slice): Restore code that calls 4385 Enable_Range_Check. 4386 43872009-07-07 Robert Dewar <dewar@adacore.com> 4388 4389 * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments 4390 43912009-07-07 Javier Miranda <miranda@adacore.com> 4392 4393 * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose 4394 designated type comes from a limited views. 4395 43962009-07-07 Emmanuel Briot <briot@adacore.com> 4397 4398 * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of 4399 locally removed files that are later made visible again in an importing 4400 project. 4401 44022009-07-07 Robert Dewar <dewar@adacore.com> 4403 4404 * gnat_rm.texi: Clarify documentation of Stream_Convert pragma 4405 44062009-07-07 Sergey Rybin <rybin@adacore.com> 4407 4408 * gnat_ugn.texi: Add an example to the description of gnatcheck 4409 'Style_Checks' rule option. 4410 44112009-07-07 Tristan Gingold <gingold@adacore.com> 4412 4413 * seh_init.c: Fix inline assembly statement in seh_init.c 4414 44152009-07-07 Ed Schonberg <schonberg@adacore.com> 4416 4417 * sem_warn.adb (Check_References): Do not emit warnings on formals of 4418 an entry body. Only the formals of the entry declaration are traced. 4419 44202009-07-07 Robert Dewar <dewar@adacore.com> 4421 4422 * s-osprim-mingw.adb: Minor code reorganization 4423 44242009-07-07 Robert Dewar <dewar@adacore.com> 4425 4426 * prj-nmsc.adb: Minor reformatting 4427 44282009-07-07 Pascal Obry <obry@adacore.com> 4429 4430 * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle 4431 cases where Pattern is longer than Source. 4432 44332009-07-07 Pascal Obry <obry@adacore.com> 4434 4435 * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop. 4436 44372009-07-07 Emmanuel Briot <briot@adacore.com> 4438 4439 * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the 4440 project file. 4441 44422009-07-07 Ed Schonberg <schonberg@adacore.com> 4443 4444 * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to 4445 primitive operations, in case one of them is called in the 4446 initialization procedure for the type. 4447 44482009-07-07 Robert Dewar <dewar@adacore.com> 4449 4450 * a-calend.adb: Minor code reorganization (use conditional expressions) 4451 4452 * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads, 4453 prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb, 4454 s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb, 4455 s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb, 4456 s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads, 4457 g-comlin.adb, exp_ch11.adb: Minor reformatting. 4458 44592009-07-07 Gary Dismukes <dismukes@adacore.com> 4460 4461 * checks.adb (Generate_Range_Check): Replace type conversions with 4462 unchecked conversions to support the case of performing range checks 4463 on Enum'Val (permits integer values to be converted to enumeration). 4464 4465 * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred, 4466 Attribute_Succ): Set Do_Range_Check to False before calling 4467 Expand_Pred_Succ, to prevent gigi from generating any range checks. 4468 (Expand_N_Attribute_Reference, case Attribute_Val): 4469 Generate a range check when needed (and set Do_Range_Check to False). 4470 4471 * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on 4472 scalar object initialization if needed. 4473 4474 * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks 4475 when needed on scalar allocators. 4476 (Expand_N_Qualified_Expression): Generate range check when needed. 4477 (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges. 4478 Checks on slice ranges handled in Resolve_Slice. 4479 4480 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check, 4481 when needed, for all scalar assignments, not just discrete. 4482 (Expand_Simple_Function_Return): Resolve the conversion created for a 4483 scalar function return so that the conversion will get expanded to 4484 generate a possible constraint check. 4485 4486 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and 4487 in out scalar actuals when subtypes don't match, to ensure generation 4488 of return checks (and set Do_Range_Check to False). 4489 (Expand_Call): Uncomment code to perform range checks, but make it apply 4490 only to in and in out parameters (checks on parameter returns are 4491 handled in Expand_Actuals). If a scalar actual for a call to a derived 4492 subprogram is marked as needing a range check, peform it here (and set 4493 Do_Range_Check to False). 4494 4495 * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a 4496 range check on scalar component associations when needed. 4497 4498 * sem_eval.adb (In_Subrange_Of): Return False when the first type has 4499 infinities but the second type does not, as these aren't compatible 4500 floating-point types. 4501 4502 * sem_res.adb (Resolve_Slice): In the case where the prefix of the 4503 slice is itself a slice, pick up the Etype of the prefix. This handles 4504 the case where the prefix was an Image attribute expanded to a slice, 4505 and ensures that we get the subtype with the slice constraint rather 4506 than the unconstrained subbtype of the 'Image. 4507 45082009-07-07 Ed Schonberg <schonberg@adacore.com> 4509 4510 * sem_ch4.adb (Analyze_Conditional_Expression): handle properly 4511 overloaded expressions in a conditional expressions. 4512 4513 * sem_res.adb (Resolve): Handle properly overloaded conditional 4514 expressions. 4515 45162009-07-07 Robert Dewar <dewar@adacore.com> 4517 4518 * scng.adb: Minor reformattting 4519 4520 * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument 4521 association allows conditional expression without parens. 4522 4523 * par-ch4.adb (P_Name): Attribute arguments can be conditional 4524 expressions without enclosing parentheses, and also as parameters, 4525 indexing expressions etc. 4526 (P_Conditional_Expression): New procedure 4527 (P_Expression_If_OK): New procedure 4528 4529 * par.adb (P_Conditional_Expression): New procedure 4530 (P_Expression_If_OK): New procedure 4531 4532 * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument 4533 form of conditional expression. 4534 4535 * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying 4536 missing True argument if ELSE argument missing. 4537 4538 * sinfo.adb (Is_Elsif): New flag 4539 4540 * sinfo.ads (N_Conditional_Expression): This node is now a syntactic 4541 part of the language, and the documentation is modified accordingly. 4542 (Is_Elsif): New flag 4543 45442009-07-06 Olivier Hainque <hainque@adacore.com> 4545 4546 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu, 4547 setjmp_longjmp): Attach the exception propagation reraise fallback 4548 to the sequence end label location when we have it. 4549 45502009-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 4551 4552 PR ada/40608 4553 * init.c (APPLE): Include <mach/mach_init.h>. 4554 (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker. 4555 45562009-07-04 Eric Botcazou <ebotcazou@adacore.com> 4557 4558 * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite. 4559 (SET_DECL_LANG_SPECIFIC): Likewise. 4560 (TYPE_RM_VALUE): New macro. 4561 (SET_TYPE_RM_VALUE): Likewise. 4562 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE. 4563 (TYPE_RM_MIN_VALUE): Likewise. 4564 (TYPE_RM_MAX_VALUE): Likewise. 4565 (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE. 4566 (SET_TYPE_RM_MIN_VALUE): Likewise. 4567 (SET_TYPE_RM_MAX_VALUE): Likewise. 4568 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge. 4569 45702009-07-04 Laurent GUERBY <laurent@guerby.net> 4571 4572 PR ada/40631 4573 * tracebak.c (__gnat_backtrace): Fix old-style definition. 4574 45752009-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4576 4577 * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison. 4578 45792009-07-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4580 4581 PR ada/40609 4582 * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to 4583 ucontext argument. 4584 45852009-07-01 Eric Botcazou <ebotcazou@adacore.com> 4586 4587 * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker. 4588 45892009-06-30 Eric Botcazou <ebotcazou@adacore.com> 4590 4591 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use 4592 the type of the left operand if it pads a self-referential type when 4593 the right operand is a constructor. 4594 4595 * gcc-interface/lang-specs.h: Fix copyright date. 4596 45972009-06-30 Eric Botcazou <ebotcazou@adacore.com> 4598 4599 * gcc-interface/decl.c: Include tree-inline.h. 4600 (annotate_value) <CALL_EXPR>: Try to inline the call in the expression. 4601 * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise. 4602 * gcc-interface/utils2.c: Include tree-inline. 4603 (known_alignment) <CALL_EXPR>: Likewise. 4604 46052009-06-30 Eric Botcazou <ebotcazou@adacore.com> 4606 4607 * raise-gcc.c: Include dwarf2.h conditionally. 4608 46092009-06-29 Tom Tromey <tromey@redhat.com> 4610 4611 * raise-gcc.c: Include elf/dwarf2.h. 4612 46132009-06-27 Laurent GUERBY <laurent@guerby.net> 4614 4615 * tb-gcc.c (trace_callback): Add casts to silence warning. 4616 46172009-06-27 Eric Botcazou <ebotcazou@adacore.com> 4618 4619 * tb-gcc.c: Fix copyright notice. 4620 46212009-06-27 Eric Botcazou <ebotcazou@adacore.com> 4622 4623 * init.c (__gnat_set_globals): Add prototype. 4624 * adaint.c (__gnat_binder_supports_auto_init): Likewise. 4625 (__gnat_sals_init_using_constructors): Likewise. 4626 * gcc-interface/utils.c (gnat_pushlevel): Likewise. 4627 (get_block_jmpbuf_decl): Likewise. 4628 (gnat_poplevel): Likewise. 4629 (merge_sizes): Rename local variable. 4630 (copy_type): Likewise. 4631 (build_vms_descriptor32): Likewise. 4632 (build_vms_descriptor): Likewise. 4633 (convert_vms_descriptor64): Likewise. 4634 (convert_vms_descriptor32): Likewise. 4635 (convert_to_fat_pointer): Likewise. 4636 (maybe_unconstrained_array): Likewise. 4637 (def_fn_type): Use promoted type with va_arg. 4638 * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration. 4639 (substitute_in_type): Rename local variable. 4640 * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN. 4641 46422009-06-26 Laurent GUERBY <laurent@guerby.net> 4643 4644 * tb-gcc.c (trace_callback): Use char* instead of void*. 4645 * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible. 4646 * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d. 4647 (Attribute_to_gnu): Adjust for above change. 4648 (Subprogram_Body_to_gnu): Likewise. 4649 * gcc-interface/utils.c (merge_sizes): Rename local variable. 4650 (copy_type): Likewise. 4651 (build_vms_descriptor32): Likewise. 4652 (build_vms_descriptor): Likewise. 4653 (convert_vms_descriptor64): Likewise. 4654 (convert_vms_descriptor32): Likewise. 4655 (convert_to_fat_pointer): Likewise. 4656 (maybe_unconstrained_array): Likewise. 4657 * gcc-interface/decl.c (substitute_in_type): Likewise. 4658 46592009-06-26 Eric Botcazou <ebotcazou@adacore.com> 4660 4661 * gcc-interface/decl.c (cannot_be_superflat_p): New predicate. 4662 (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression 4663 of the upper bound of the index types. 4664 46652009-06-26 Eric Botcazou <ebotcazou@adacore.com> 4666 4667 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor 4668 out common predicate. Use the maximum to compute the upper bound of 4669 the index type only when it is not wider than sizetype. Perform the 4670 comparison in the index type for the generic expression. Use real 4671 precision to decide whether to generate special types for debugging 4672 information. 4673 46742009-06-26 Matthew Gingell <gingell@adacore.com> 4675 4676 * adaint.c: Do not use the dummy version of convert_addresses on LynxOS 4677 46782009-06-26 Vincent Celier <celier@adacore.com> 4679 4680 * prj.ads (No_Language_Config): Value of Dependency_Kind is None by 4681 default. 4682 46832009-06-26 Robert Dewar <dewar@adacore.com> 4684 4685 * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting 4686 46872009-06-26 Eric Botcazou <ebotcazou@adacore.com> 4688 4689 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass 4690 correct arguments to create_field_decl. Remove redundant iteration. 4691 Rewrite computation of the maximum size. 4692 <E_Array_Subtype>: Reorder and simplify handling of special cases. 4693 Rewrite computation of the maximum size. Use consistent naming. 4694 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap 4695 comparison order for consistency. Use generic integer node to 4696 build the operator and fold the result. 4697 46982009-06-25 Vincent Celier <celier@adacore.com> 4699 4700 * vms_data.ads: Minor comment change 4701 47022009-06-25 Gary Dismukes <dismukes@adacore.com> 4703 4704 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an 4705 assignment statement to targeting a caller-provided object when the 4706 result type is an interface type. 4707 4708 * exp_ch6.adb (Expand_Call): Remove redundant test of 4709 Is_Limited_Interface (Is_Inherently_Limited is sufficient). 4710 (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface. 4711 4712 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call 4713 to OK_For_Limited_Init. 4714 4715 * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type 4716 condition so that True is returned for all limited interfaces, not 4717 just synchronized ones. Ignore components of an interface type when 4718 checking for limited components (such a component can be a parent 4719 component). 4720 4721 * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter. 4722 (OK_For_Limited_Init): Add type parameter. 4723 4724 * sem_ch3.adb (Check_Initialization): Add type in call to 4725 OK_For_Limited_Init. 4726 (OK_For_Limited_Init): Add new type param in call to 4727 OK_For_Limited_Init_In_05. 4728 (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a 4729 nonlimited type when the context type is a limited interface. Add type 4730 on recursive calls. 4731 4732 * sem_ch4.adb (Analyze_Allocator): Add type in call to 4733 OK_For_Limited_Init. 4734 4735 * sem_ch6.adb (Check_Limited_Return): Add type in call to 4736 OK_For_Limited_Init. 4737 4738 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to 4739 OK_For_Limited_Init. 4740 (Instantiate_Object): Add type in call to OK_For_Limited_Init. 4741 4742 * sem_type.adb (Interface_Present_In_Ancestor): In the case of a 4743 class-wide interface, get the base type before applying Etype, in order 4744 to account for class-wide subtypes. 4745 47462009-06-25 Emmanuel Briot <briot@adacore.com> 4747 4748 * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb, 4749 prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data 4750 between gnatmake and gprbuild. 4751 (Naming_Data): Removed, no longer used 4752 (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only 4753 needed locally in one subprogram, no need to store forever in the 4754 structure. 4755 (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play 4756 a similar role. 4757 (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme, 4758 Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of, 4759 Spec_Suffix_Id_Of): removed, no longer used. 4760 47612009-06-25 Javier Miranda <miranda@adacore.com> 4762 4763 * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of 4764 types on qualified expression in calls to imported C++ constructors. 4765 4766 * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for 4767 imported C++ constructors. 4768 47692009-06-25 Sergey Rybin <rybin@adacore.com> 4770 4771 * vms_data.ads: Add qualifier for new gnatcheck '-t' option. 4772 47732009-06-25 Vincent Celier <celier@adacore.com> 4774 4775 * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory 4776 provided, on Windows change all '/' to '\'. 4777 4778 * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer 4779 used. Minor comment changes 4780 4781 * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or 4782 Remove_Forbidden_File_Name. 4783 47842009-06-25 Quentin Ochem <ochem@adacore.com> 4785 4786 * prj.ads (Unit_Index): Now general access type. 4787 47882009-06-25 Pascal Obry <obry@adacore.com> 4789 4790 * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last. 4791 47922009-06-25 Emmanuel Briot <briot@adacore.com> 4793 4794 * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb, 4795 prj-env.ads (Source_Data.Get_Object): Field removed, since it can be 4796 computed efficiently from the other fields. 4797 (Object_To_Global_Archive): New subprogram 4798 (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name. 4799 (Override_Kind): Fix handling of separates in Ada. 4800 (Create_Mapping_File): Remove duplicate code 4801 (Naming_Data.Implementation_Exception, Specification_Exception): 4802 field removed, since never used. 4803 (Naming_Data.Specs, .Bodies): field removed, since this is only 4804 used while processing the project and is not needed once the tree 4805 is in memory. This brings Naming_Data and Lang_Naming_Data 4806 closer (same content now, but different use still). 4807 48082009-06-25 Pascal Obry <obry@adacore.com> 4809 4810 * sem_ch4.adb: Minor reformatting. 4811 4812 * a-strsea.adb: Fix confusion between 'Length and 'Last. 4813 48142009-06-25 Ed Schonberg <schonberg@adacore.com> 4815 4816 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and 4817 Unchecked_Access): If the context is an interface type, and the prefix 4818 is of the corresponding class-wide type, do not insert a conversion 4819 because the pointer displacement has already taken place, and we must 4820 retain the class-wide type in a dispatching context. 4821 48222009-06-25 Emmanuel Briot <briot@adacore.com> 4823 4824 * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of 4825 the previous source file. 4826 (Create_Mapping): Iterate on sources rather than on units. 4827 48282009-06-25 Emmanuel Briot <briot@adacore.com> 4829 4830 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, 4831 prj-env.adb, prj-env.ads (Slash): removed, no longer used 4832 (Source_Data): no longer use Path.Name to point to a locally removed 4833 file. Instead we use the field Locally_Removed which is clearer 4834 48352009-06-25 Arnaud Charlet <charlet@adacore.com> 4836 4837 * gcc-interface/Make-lang.in: Remove references to sem_maps.o 4838 4839 * sem_maps.adb, sem_maps.ads: Removed, not used. 4840 48412009-06-25 Ed Falis <falis@adacore.com> 4842 4843 * s-vxwext-rtp.ads: Add missing declaration 4844 48452009-06-25 Matthew Gingell <gingell@adacore.com> 4846 4847 * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack, 4848 speed up unmapped case. 4849 48502009-06-25 Vincent Celier <celier@adacore.com> 4851 4852 * prj-nmsc.adb (Check): Change error message for illegal abstract 4853 projects. 4854 48552009-06-25 Robert Dewar <dewar@adacore.com> 4856 4857 * gnat_ugn.texi: Add note on use of -gnatct for ASIS 4858 48592009-06-25 Emmanuel Briot <briot@adacore.com> 4860 4861 * fmap.ads: Add documentation on mapping files 4862 48632009-06-25 Robert Dewar <dewar@adacore.com> 4864 4865 * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor 4866 reformatting 4867 48682009-06-24 Robert Dewar <dewar@adacore.com> 4869 4870 * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting 4871 4872 * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped 4873 case. 4874 (Index): Ditto. 4875 48762009-06-24 Ed Schonberg <schonberg@adacore.com> 4877 4878 * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is 4879 present when checking whether a call may be interpreted as an indexing 4880 of the result of a call. 4881 4882 * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated 4883 body for a null procedure on the freeze actions for the procedure, so 4884 that it will be analyzed at the proper place without premature freezing 4885 of actuals. 4886 4887 * sem_ch3.adb (Check_Completion): Code cleanup. 4888 Do not diagnose a null procedure without a body, if previous errors 4889 have disabled expansion. 4890 48912009-06-24 Doug Rupp <rupp@adacore.com> 4892 4893 * init.c [VMS] Resignal C$_SIGKILL 4894 48952009-06-24 Ed Falis <falis@adacore.com> 4896 4897 * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5 4898 Define ERROR in body for VxWorks 6 kernel 4899 49002009-06-24 Pascal Obry <obry@adacore.com> 4901 4902 * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error 4903 in [Send/Receive]_Socket. 4904 49052009-06-24 Emmanuel Briot <briot@adacore.com> 4906 4907 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads, 4908 prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter 4909 to several subprograms. 4910 (Source_Data.Other_Part): Removed, since can be computed from the 4911 language. 4912 (Other_Part): New subprogram. 4913 49142009-06-24 Emmanuel Briot <briot@adacore.com> 4915 4916 * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match 4917 the full base name of the file when the suffix doesn't start with a '.'. 4918 49192009-06-24 Vincent Celier <celier@adacore.com> 4920 4921 * prj-nmsc.adb (Check): A project declared abstract is legal if no 4922 attribute Source_Dirs, Source_Files, Source_List_File or Languages is 4923 declared. 4924 49252009-06-24 Robert Dewar <dewar@adacore.com> 4926 4927 * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb, 4928 prj-env.adb: Minor reformatting 4929 49302009-06-24 Ed Falis <falis@adacore.com> 4931 4932 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads, 4933 s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb, 4934 s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity 4935 support for VxWorks SMP. 4936 4937 * gcc-interface/Make-lang.in: Update dependencies 4938 49392009-06-24 Emmanuel Briot <briot@adacore.com> 4940 4941 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb, 4942 prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since 4943 no longer useful. 4944 (Source_Data.Lang_Kind): Removed, since it duplicates information 4945 already available through Language.Config. 4946 (Source_Data.Compile): Removed, since information is already available 4947 through the language. 4948 (Is_Compilable): New subprogram. 4949 (Source_Data.Dependency): Removed, since already available through 4950 the language. 4951 (Source_Data.Object_Exist, Object_Linked): Removed since available 4952 through the language already. 4953 (Unit_Data.File_Names): Is now also set in multi_language mode, to 4954 bring the two modes closer in the resulting data structures. 4955 (Source_Data.Unit): Now a direct pointer to the unit data, rather than 4956 just the name that would point into a hash table. 4957 (Get_Language_From_Name): New subprogram. 4958 49592009-06-24 Javier Miranda <miranda@adacore.com> 4960 4961 * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are 4962 visible through limited-with context clauses. In addition, avoid an 4963 extra tag check that is not required when the class-wide 4964 designated types of the operand and target types are 4965 the same entity. 4966 (Tagged_Membership): Handle entities from the limited view. 4967 49682009-06-24 Emmanuel Briot <briot@adacore.com> 4969 4970 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb, 4971 prj-nmsc.adb, prj-env.adb (File_Name_Data): removed 4972 (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two 4973 different vocabularies for similar concepts (Impl/Body_Part and 4974 Spec/Specification). 4975 (Unit_Data): now points directly to a Source_Id, rather than duplicating 4976 some of the information in File_Name_Data. This also saves a bit of 4977 memory. However, since we are now using a pointer we need to test 4978 for null explicitly in several places of the code 4979 49802009-06-24 Javier Miranda <miranda@adacore.com> 4981 4982 * exp_ch4.adb (Expand_N_Type_Conversion): return immediately 4983 from processing the type conversion when the node is 4984 replaced by an N_Raise_Program_Error node. 4985 49862009-06-24 Hristian Kirtchev <kirtchev@adacore.com> 4987 4988 * sem_ch6.adb (Designates_From_With_Type): New routine. 4989 (Process_Formals): Since anonymous access types are no longer flagged 4990 as from with types, traverse the designated type to determine whether 4991 it is coming from a limited view. 4992 4993 * sem_res.adb: Remove with and use clauses for Sem_Ch10. 4994 (Full_Designated_Type): Use Available_View to extract the non-limited / 4995 full view of a type. 4996 49972009-06-24 Robert Dewar <dewar@adacore.com> 4998 4999 * exp_ch6.adb: Minor reformatting 5000 5001 * layout.adb: Minor reformatting 5002 5003 * make.adb: Minor reformatting 5004 50052009-06-24 Thomas Quinot <quinot@adacore.com> 5006 5007 * sem_ch10.adb: Minor code reorganization. 5008 50092009-06-24 Eric Botcazou <ebotcazou@adacore.com> 5010 5011 * ttypes.ads: Minor editing. 5012 50132009-06-24 Robert Dewar <dewar@adacore.com> 5014 5015 * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile 5016 in deciding to do call-by-copy code. 5017 50182009-06-24 Vincent Celier <celier@adacore.com> 5019 5020 * make.adb (Gnatmake): To decide if an executable should be rebuilt, 5021 check if an externally built library file is more current than the 5022 executable. 5023 50242009-06-23 Olivier Hainque <hainque@adacore.com> 5025 5026 * gcc-interface/utils.c (handle_vector_size_attribute): Import from 5027 c-common.c and populate in gnat_internal_attribute_table. 5028 50292009-06-23 Ed Schonberg <schonberg@adacore.com> 5030 5031 * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use 5032 Available_View only when designated type of an anonymous access type 5033 is limited view. 5034 50352009-06-23 Robert Dewar <dewar@adacore.com> 5036 5037 * sem_ch10.adb: Minor reformatting 5038 5039 * ali.ads: Mino reformatting. 5040 5041 * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of 5042 turning off inlining if ASIS mode active). 5043 5044 * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode 5045 This belongs in gnat1drv.adb after switches are scanned. 5046 50472009-06-23 Hristian Kirtchev <kirtchev@adacore.com> 5048 5049 * sem_attr.adb: Add with and use clauses for Sem_Ch10. 5050 (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type 5051 when dealing with class-wide types. Detect a legal shadow entity and 5052 retrieve its non-limited view. 5053 5054 * sem_ch10.adb (Has_With_Clause): Move the spec and body of the 5055 subprogram to top package level from Intall_Limited_Withed_Unit. 5056 (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause. 5057 Add check which prevents the installation of a limited view if the 5058 non-limited view is already visible through a with clause. 5059 (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but 5060 legal shadow entity which may occur in subprogram formals of anonymous 5061 access type. 5062 5063 * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine. 5064 5065 * sem_ch3.adb (Access_Definition): Remove the propagation of flag 5066 From_With_Type from the designated type to the generated anonymous 5067 access type. Remove associated comment. 5068 5069 * sem_res.adb Add with and use clauses for Sem_Ch10. 5070 (Full_Designated_Type): Detect a legal shadow entity and retrieve its 5071 non-limited view. Since the shadow entity may replace a regular 5072 incomplete type, return the available full view. 5073 50742009-06-23 Ed Schonberg <schonberg@adacore.com> 5075 5076 * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles 5077 incomplete type declarations. Previous code was potentially quadratic 5078 in the number of visible declarations in any package appearing in a 5079 limited_with_clause. 5080 50812009-06-23 Robert Dewar <dewar@adacore.com> 5082 5083 * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb, 5084 xref_lib.adb: Minor reformatting 5085 50862009-06-23 Robert Dewar <dewar@adacore.com> 5087 5088 * a-stzhas.adb: Provide dummy body to avoid build problems with old 5089 versions which did have a body for this unit. 5090 50912009-06-23 Vincent Celier <celier@adacore.com> 5092 5093 * prj-attr.adb: Attribute names Initial_Required_Switches and 5094 Final_Required_Switches changed to Leading_Required_Switches and 5095 Trailing_Required_Switches. 5096 5097 * prj-nmsc.adb (Process_Compiler): Attribute names 5098 Initial_Required_Switches and Final_Required_Switches changed to 5099 Leading_Required_Switches and Trailing_Required_Switches. 5100 5101 * prj.ads (Language_Config): Component Initial_Required_Switches and 5102 Final_Required_Switches changed to Leading_Required_Switches and 5103 Trailing_Required_Switches. 5104 5105 * snames.ads-tmpl: Remove standard names Initial_Required_Switches and 5106 Final_Required_Switches; add standard names Leading_Required_Switches 5107 and Trailing_Required_Switches. 5108 51092009-06-23 Thomas Quinot <quinot@adacore.com> 5110 5111 * prj-conf.adb: Minor reformatting 5112 5113 * xref_lib.adb: Minor cleanup 5114 51152009-06-23 Emmanuel Briot <briot@adacore.com> 5116 5117 * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb, 5118 prj-conf.ads (Check_Configuration): New parameter 5119 Compiler_Driver_Mandatory. 5120 51212009-06-23 Ed Schonberg <schonberg@adacore.com> 5122 5123 * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the 5124 context of the current unit has an inline pragma, the instance is not 5125 rewritten as the declaration of the package wrapper. Handle both 5126 possibilities when retrieving the visible subprogram that renames the 5127 instantiation itself. 5128 51292009-06-23 Javier Miranda <miranda@adacore.com> 5130 5131 * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle 5132 designated types referencing entities from the limited view. 5133 51342009-06-23 Robert Dewar <dewar@adacore.com> 5135 5136 * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types 5137 5138 * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for 5139 small values 5140 5141 * prj-conf.ads: Minor reformatting 5142 5143 * prj-conf.adb: Minor reformatting 5144 51452009-06-23 Vasiliy Fofanov <fofanov@adacore.com> 5146 5147 * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations 5148 to correspond to the log format that gnatmem now expects. 5149 51502009-06-23 Vincent Celier <celier@adacore.com> 5151 5152 * prj-attr.adb: New attributes Initial_Required_Switches, 5153 Final_Required_Switches and Object_File_Switches 5154 5155 * prj-nmsc.adb (Process_Compiler): Process new attributes 5156 Name_Final_Required_Switches, Name_Initial_Required_Switches and 5157 Name_Object_File_Switches. 5158 5159 * prj.ads (Language_Config): New component 5160 Compiler_Initial_Required_Switches (replace Compiler_Required_Switches), 5161 Compiler_Final_Required_Switches and Object_File_Switches. 5162 5163 * snames.ads-tmpl: New standard names Initial_Required_Switches, 5164 Final_Required_Switches and Object_File_Switches 5165 51662009-06-23 Pascal Obry <obry@adacore.com> 5167 5168 * s-strhas.adb, s-strhas.ads: Minor reformatting. 5169 51702009-06-23 Ed Schonberg <schonberg@adacore.com> 5171 5172 * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does 5173 not indicate that the enclosing unit needs a body. 5174 51752009-06-23 Emmanuel Briot <briot@adacore.com> 5176 5177 * prj-conf.ads, prj-conf.adb: New files part of the project manager. 5178 51792009-06-23 Ed Schonberg <schonberg@adacore.com> 5180 5181 * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a 5182 primitive equality include it with its source name even if the 5183 operation is currently invisible, to make sure that the corresponding 5184 slot in the dispatch table is reserved for the internal equality 5185 subsequently generated during expansion. 5186 51872009-06-23 Matthew Gingell <gingell@adacore.com> 5188 5189 * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back. 5190 51912009-06-22 Jose Ruiz <ruiz@adacore.com> 5192 5193 * sysdep.c (__gnat_localtime_tzoff for RTX): 5194 SystemTimeToTzSpecificLocalTime is not supported by RTX. Use 5195 GetTimeZoneInformation instead. 5196 51972009-06-22 Robert Dewar <dewar@adacore.com> 5198 5199 * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure 5200 52012009-06-22 Ed Schonberg <schonberg@adacore.com> 5202 5203 * sem_ch12.adb (Collect_Previous_Instances): Do not collect 5204 instantiations declared in a previous generic package body. 5205 52062009-06-22 Robert Dewar <dewar@adacore.com> 5207 5208 * gnat_rm.texi: Add doc that X=True and X=False is allowed for the 5209 restriction No_Direct_Boolean_Operators. 5210 52112009-06-22 Thomas Quinot <quinot@adacore.com> 5212 5213 * bindusg.adb: Minor fixes to gnatbind usage message 5214 5215 * sem_eval.adb: Minor reformatting 5216 52172009-06-22 Javier Miranda <miranda@adacore.com> 5218 5219 * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the 5220 freezing point the check on the use of abstract types in object 5221 declarations. Done to allow the declaration of C++ imported variables 5222 or constants whose type corresponds with an imported C++ classes for 5223 which the constructor is not imported. 5224 52252009-06-22 Thomas Quinot <quinot@adacore.com> 5226 5227 * sem_ch6.adb: Minor reformatting 5228 52292009-06-22 Ed Schonberg <schonberg@adacore.com> 5230 5231 * exp_ch3.adb (Build_Initialization_Call): If a discriminated record 5232 component is constrained with an expression rather than with a 5233 discriminant of the enclosing type, use that expression when building 5234 the call to default-initialize the component, when the call is part of 5235 an aggregate with box initialization. 5236 52372009-06-22 Ed Schonberg <schonberg@adacore.com> 5238 5239 * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning 5240 unconditional rather than a style check, because a formal name out of 5241 order is suspicious. 5242 52432009-06-22 Vincent Celier <celier@adacore.com> 5244 5245 * prj-nmsc.adb (Locate_Directory): Indicate the project name when 5246 creating a directory automatically. 5247 52482009-06-22 Eric Botcazou <ebotcazou@adacore.com> 5249 5250 * sem_ch3.adb (Create_Constrained_Components): For a subtype of an 5251 untagged derived type, add a hidden component for every constrained 5252 discriminant of the parent type to keep record layout consistent. 5253 52542009-06-22 Thomas Quinot <quinot@adacore.com> 5255 5256 * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree 5257 copy). 5258 52592009-06-22 Matthew Gingell <gingell@adacore.com> 5260 5261 * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb, 5262 s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb, 5263 g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl, 5264 a-swuwha.adb: New unit System.String_Hash. 5265 Refactor redundant cut and pasted hash functions with instances of a 5266 new generic hash function. 5267 Implement a new string hashing algorithm which appears in testing to 5268 be move effective than to previous approach. 5269 52702009-06-22 Ed Falis <falis@adacore.com> 5271 5272 * sysdep.c: remove include for nfsLib.h and an NFS specific error 5273 message for VxWorks 653 vThreads: not supported by the OS. 5274 5275 * gsocket.h: disable sockets for VxWorks 653 vThreads. 5276 52772009-06-22 Robert Dewar <dewar@adacore.com> 5278 5279 * sem_ch6.adb: Add ??? comment for bad use of Style_Check 5280 52812009-06-22 Robert Dewar <dewar@adacore.com> 5282 5283 * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced 5284 by Sloc_Range. 5285 5286 * freeze.adb: Minor comment updates 5287 5288 * s-valrea.adb (Bad_Based_Value): New procedure 5289 (Scan_Real): Raise exceptions with messages 5290 52912009-06-22 Matthew Gingell <gingell@adacore.com> 5292 5293 * adaint.h: Complete previous change. 5294 52952009-06-22 Thomas Quinot <quinot@adacore.com> 5296 5297 * exp_ch7.ads, exp_ch3.adb: Minor reformatting 5298 52992009-06-22 Ed Schonberg <schonberg@adacore.com> 5300 5301 * sem_ch6.adb (Check_Overriding_Indicator): When style checks are 5302 enabled, emit warning when a non-controlling argument of the overriding 5303 operation appears out of place vis-a-vis of the formal of the 5304 overridden operation. 5305 53062009-06-22 Vincent Celier <celier@adacore.com> 5307 5308 * gnatcmd.adb (Check_Files): Close temporary files after all file names 5309 have been written into it. 5310 53112009-06-22 Matthew Gingell <gingell@adacore.com> 5312 5313 * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is 5314 available. 5315 53162009-06-22 Thomas Quinot <quinot@adacore.com> 5317 5318 * sem_disp.adb (Check_Direct_Call): Handle the case where the full 5319 view of the root type is visible at the point of the call. 5320 53212009-06-22 Pat Rogers <rogers@adacore.com> 5322 5323 * gnat_ugn.texi: Revised a sentence to correct a minor grammar error. 5324 53252009-06-22 Jerome Lambourg <lambourg@adacore.com> 5326 5327 * freeze.adb: Add comments. 5328 53292009-06-21 Thomas Quinot <quinot@adacore.com> 5330 5331 * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, 5332 sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface): 5333 Factor out code to new subprogram... 5334 (Exp_Util.Find_Init_Call): New shared routine to find the init proc call 5335 for a default initialized variable. 5336 (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an 5337 entity that has an associated freeze node. 5338 (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address): 5339 If there is an init call for the object, defer it to the object freeze 5340 point. 5341 (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid 5342 name clash with new subprogram introduced in Exp_Util. 5343 53442009-06-21 Robert Dewar <dewar@adacore.com> 5345 5346 * einfo.ads: Minor reformatting 5347 53482009-06-21 Ed Falis <falis@adacore.com> 5349 5350 * env.c (__gnat_environ): return NULL for vThreads - unimplemented 5351 53522009-06-21 Eric Botcazou <ebotcazou@adacore.com> 5353 5354 * einfo.ads: Update comments. 5355 53562009-06-21 Hristian Kirtchev <kirtchev@adacore.com> 5357 5358 * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls 5359 where the controlling formal is of private class-wide type whose 5360 completion is a synchronized type can be converted into direct calls. 5361 53622009-06-21 Vincent Celier <celier@adacore.com> 5363 5364 * gnatcmd.adb (Check_Files): When all sources of the project are to be 5365 indicated to gnatcheck, gnatpp or gnatmetric, always specify the list 5366 of sources using -files=, so that the distinction can be made by the 5367 tool of a call with no source (to display the usage) from a call with 5368 a project file that contains no source. 5369 53702009-06-21 Jerome Lambourg <lambourg@adacore.com> 5371 5372 * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in 5373 case of VM convention arrays. 5374 53752009-06-20 Robert Dewar <dewar@adacore.com> 5376 5377 * a-nudira.adb: Minor reformatting 5378 53792009-06-20 Ed Schonberg <schonberg@adacore.com> 5380 5381 * exp_ch3.adb (Build_Record_Init_Proc): When copying initial 5382 expressions (possibly from a parent type) indicate that the scope of 5383 the new itypes is the initialization procedure being built. 5384 53852009-06-20 Robert Dewar <dewar@adacore.com> 5386 5387 * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for 5388 Needs_64, and now computed without anomolies for some dynamic types. 5389 53902009-06-20 Thomas Quinot <quinot@adacore.com> 5391 5392 * sem_prag.adb: Minor reformatting 5393 5394 * exp_disp.ads: Minor reformatting 5395 53962009-06-20 Ed Schonberg <schonberg@adacore.com> 5397 5398 * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a 5399 function call is a legal expression to initialize a limited object. 5400 5401 * exp_ch3.adb: Rename various freeze operations that perform expansion 5402 actions, to prevent confusion with subprograms in the freeze package. 5403 54042009-06-20 Ed Schonberg <schonberg@adacore.com> 5405 5406 * sem.adb (Walk_Library_Units): Check instantiations first. 5407 5408 * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a 5409 private primitive if it is a function with a controlling result that is 5410 a type extension with progenitors. 5411 5412 * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly 5413 a primitive operation of a synchronized tagged type that has a 5414 controlling result. 5415 54162009-06-20 Thomas Quinot <quinot@adacore.com> 5417 5418 * einfo.ads: Fix typo. 5419 54202009-06-20 Ed Falis <falis@adacore.com> 5421 5422 * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change. 5423 54242009-06-19 Eric Botcazou <ebotcazou@adacore.com> 5425 5426 * gcc-interface/trans.c (emit_check): Do not wrap up the result 5427 in a SAVE_EXPR. 5428 (protect_multiple_eval): Always protect complex expressions. 5429 54302009-06-19 Emmanuel Briot <briot@adacore.com> 5431 5432 * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now 5433 make sure we always return a name ending with a path separator. 5434 54352009-06-19 Javier Miranda <miranda@adacore.com> 5436 5437 * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body): 5438 Save and restore the visibility of the parent when installed. 5439 54402009-06-19 Jose Ruiz <ruiz@adacore.com> 5441 5442 * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner 5443 by Common which contains all these fields. 5444 5445 * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry, 5446 Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry): 5447 Remove code duplication in this package by means of calling the 5448 equivalent code in s-taprob. 5449 54502009-06-19 Robert Dewar <dewar@adacore.com> 5451 5452 * a-einuoc.ads: Minor reformatting 5453 54542009-06-19 Ed Falis <falis@adacore.com> 5455 5456 * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb, 5457 s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up. 5458 54592009-06-19 Eric Botcazou <ebotcazou@adacore.com> 5460 5461 * einfo.ads (Handling of Type'Size Values): Fix Object_Size values. 5462 54632009-06-19 Robert Dewar <dewar@adacore.com> 5464 5465 * a-nudira.adb (Need_64): Handle negative ranges and also dynamic 5466 ranges 5467 5468 * checks.adb (Determine_Range): Move the test for generic types later. 5469 5470 * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more 5471 cases. 5472 (Eval_Relational_Op): Fold more cases including string compares 5473 5474 * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New 5475 function. 5476 54772009-06-19 Robert Dewar <dewar@adacore.com> 5478 5479 * sem_type.ads, sem_ch12.adb: Minor reformatting 5480 5481 * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly 5482 54832009-06-19 Ed Schonberg <schonberg@adacore.com> 5484 5485 * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden 5486 primitive operation of a rivate extension whose controlling argument 5487 is an out parameter. 5488 5489 * sem.adb (Walk_Library_Units): exclude generic package declarations 5490 from check. 5491 54922009-06-19 Thomas Quinot <quinot@adacore.com> 5493 5494 * i-vxwoio.ads: Add comments 5495 54962009-06-19 Thomas Quinot <quinot@adacore.com> 5497 5498 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, 5499 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, 5500 g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads 5501 (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl. 5502 (GNAT.Sockets.Thin.Socket_Ioctl): Use new function 5503 Thin_Common.Socket_Ioctl. 5504 (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper 5505 __gnat_socket_ioctl. 5506 (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int* 5507 argument after the file descriptor and request code. 5508 55092009-06-19 Robert Dewar <dewar@adacore.com> 5510 5511 * checks.adb: Minor reformatting 5512 55132009-06-19 Jose Ruiz <ruiz@adacore.com> 5514 5515 * env.c (__gnat_environ): RTX does not support this functionality. 5516 55172009-06-19 Ed Schonberg <schonberg@adacore.com> 5518 5519 * sem.adb (Walk_Library_Items): Include bodies in the list of units to 5520 traverse, to account for front-end inlining and instantiations in a 5521 spec or in the main unit. 5522 55232009-06-19 Robert Dewar <dewar@adacore.com> 5524 5525 * checks.adb (Determine_Range): Do not attempt to get range of generic 5526 type. 5527 55282009-06-19 Sergey Rybin <rybin@adacore.com> 5529 5530 * gnat_ugn.texi, vms_data.ads: Add the documentation for the new 5531 gnatmetric option for generating the schema file for gnatmetric XML 5532 output. Add corresponding VMS qualifier. 5533 55342009-06-19 Robert Dewar <dewar@adacore.com> 5535 5536 * g-cgi.adb: Minor reformatting 5537 55382009-06-19 Eric Botcazou <ebotcazou@adacore.com> 5539 5540 * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the 5541 signal code for SIGFPE and raise Program_Error for SIGILL. 5542 5543 * s-osinte-solaris.ads: Remove signal code constants for SIGFPE. 5544 55452009-06-19 Ed Schonberg <schonberg@adacore.com> 5546 5547 * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a 5548 generic package if there is a visibility candidate that is declared in 5549 a regular package. 5550 55512009-06-18 Olivier Hainque <hainque@adacore.com> 5552 5553 * system-aix64.ads: New file. 5554 * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the 5555 64bit system.ads for ppc64 multilib variants. 5556 55572009-06-16 Robert Dewar <dewar@adacore.com> 5558 Olivier Hainque <hainque@adacore.com> 5559 5560 Relax constraints on Machine_Attribute argument types: 5561 * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for 5562 missing type. 5563 (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3. 5564 * gcc-interface/decl.c (prepend_attributes): Accept static 5565 expressions of any type as attribute arguments, not only string 5566 literals. 5567 * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect 5568 the relaxation of the restriction on the Info argument type. 5569 55702009-06-13 Aldy Hernandez <aldyh@redhat.com> 5571 5572 * gcc-interface/utils.c (record_builtin_type): Pass location 5573 argument to build_decl. 5574 (create_type_stub_decl): Same. 5575 (create_type_decl): Same. 5576 (create_var_decl_1): Same. 5577 (create_field_decl): Same. 5578 (create_param_decl): Same. 5579 (create_label_decl): Same. 5580 (create_subprog_decl): Same. 5581 * gcc-interface/decl.c (gnat_to_gnu_entity): Same. 5582 * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location 5583 argument to create_artificial_label. 5584 (Loop_Statement_to_gnu): Same. 5585 (Subprogram_Body_to_gnu): Same. 5586 (gnat_gimplify_stmt): Same. 5587 55882009-06-11 Richard Henderson <rth@redhat.com> 5589 5590 * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to 5591 OPT_gdwarfplus. 5592 55932009-06-11 Ed Schonberg <schonberg@adacore.com> 5594 5595 * sem_attr.adb (Resolve_Attribute, case 'access): Add missing 5596 accessibiliy check on access_to_subprogram in the context of an 5597 anonymous access that is not an access parameter. 5598 55992009-06-11 Eric Botcazou <ebotcazou@adacore.com> 5600 5601 * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris. 5602 56032009-06-11 Quentin Ochem <ochem@adacore.com> 5604 5605 * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX 5606 comments for message handled by GPS. 5607 56082009-06-11 Matthew Gingell <gingell@adacore.com> 5609 5610 * adaint.c: Use fopen64 instead of fopen on platforms where we know 5611 it's supported. 5612 56132009-06-11 Pascal Obry <obry@adacore.com> 5614 5615 * g-cgi.ads: Fix comment typo. 5616 5617 * g-cgi.adb: Properly decode "+" in CGI parameters as spaces. 5618 56192009-06-10 Eric Botcazou <ebotcazou@adacore.com> 5620 5621 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use 5622 a reference to the original type for the type of the field of the 5623 XVS type. 5624 (maybe_pad_type): Likewise. 5625 5626 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor 5627 common predicate and remove redundant setting of TYPE_BY_REFERENCE_P. 5628 Pass correctly typed arguments to create_field_decl. 5629 <E_Record_Subtype>: Set BLKmode for tagged and limited types in the 5630 case of contrained discriminants as well. Use the padded base type 5631 in the other case as well. Rename temporary variable. Tweak test. 5632 Factor common access pattern. Set GNU_SIZE only once. 5633 56342009-06-09 Olivier Hainque <hainque@adacore.com> 5635 5636 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New 5637 helper for build_call_alloc_dealloc with arguments to be interpreted 5638 identically. Process the case where a GNAT_PROC to call is provided. 5639 (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build 5640 and return an allocator for DATA_SIZE bytes aimed at containing a 5641 DATA_TYPE object, using the default __gnat_malloc allocator. Honor 5642 DATA_TYPE alignments greater than what the latter offers. 5643 (maybe_wrap_free): New helper for build_call_alloc_dealloc, to 5644 release a DATA_TYPE object designated by DATA_PTR using the 5645 __gnat_free entry point. 5646 (build_call_alloc_dealloc): Expect object data type instead of naked 5647 alignment constraint. Use the new helpers. 5648 (build_allocator): Remove special processing for the super-aligned 5649 case, now handled by build_call_alloc_dealloc. Pass data 5650 type instead of the former alignment argument, as expected by the new 5651 interface. 5652 * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype 5653 and comment. 5654 * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>: 5655 Remove special processing for the super-aligned case, now handled 5656 by build_call_alloc_dealloc. Pass data type instead of the former 5657 alignment argument, as expected by the new interface. 5658 56592009-06-08 Alexandre Oliva <aoliva@redhat.com> 5660 5661 * lib-writ.adb (flag_compare_debug): Import. 5662 (Write_ALI): Skip during -fcompare-debug-second. 5663 56642009-06-03 Eric Botcazou <ebotcazou@adacore.com> 5665 5666 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When 5667 adjusting the discriminant nodes in an extension, use the full view 5668 of the parent subtype if it is of a private kind. 5669 56702009-06-03 Eric Botcazou <ebotcazou@adacore.com> 5671 5672 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the 5673 _Parent field, if any, to the record before adding the other fields. 5674 <E_Record_Subtype>: Put the _Controller field before the other fields 5675 except for the _Tag or _Parent fields. 5676 (components_to_record): Likewise. Retrieve the _Parent field from the 5677 record type. 5678 56792009-06-03 Eric Botcazou <ebotcazou@adacore.com> 5680 5681 * gcc-interface/decl.c (substitution_list): Rename to build_subst_list, 5682 remove unused parameter and simplify. 5683 (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS. Factor 5684 common predicate. Rewrite loop for clarity. Use GNU_TYPE directly 5685 as context for all discriminants. Fix formatting nits. 5686 <E_Record_Subtype>: Add cosmetic 'break'. Test Has_Discriminants 5687 before Discriminant_Constraint. Adjust for above renaming. Do not 5688 set GNU_TYPE more than once. 5689 (elaborate_entity): Test Has_Discriminants on the entity and use 5690 Implementation_Base_Type. 5691 (components_to_record): Rename component_list to gnat_component_list. 5692 Retrieve the _Parent field from the list. Fix nits in comments. 5693 Clarify logic in loop. Pass correct arguments to create_field_decl. 5694 56952009-06-02 Eric Botcazou <ebotcazou@adacore.com> 5696 5697 * gcc-interface/Make-lang.in: Fix formatting. 5698 56992009-06-01 Olivier Hainque <hainque@adacore.com> 5700 Eric Botcazou <ebotcazou@adacore.com> 5701 5702 * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting 5703 to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT 5704 on the result if at least one of the input fields couldn't be output 5705 as a static constant any more. 5706 57072009-06-01 Olivier Hainque <hainque@adacore.com> 5708 Eric Botcazou <ebotcazou@adacore.com> 5709 5710 * gcc-interface/utils2.c (gnat_build_constructor): Factor 5711 out code. Use initializer_constant_valid_for_bitfield_p and 5712 CONSTRUCTOR_BITFIELD_P for bit-fields. 5713 57142009-05-26 Ian Lance Taylor <iant@google.com> 5715 5716 * gcc-interface/Makefile.in (COMPILER): Define. 5717 (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define. 5718 (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER). 5719 (seh_init.o, tracebak.o): Likewise. 5720 * gcc-interface/Make-lang.in (ada/targext.o): Likewise. 5721 (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise. 5722 (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise. 5723 (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise. 5724 (ada/utils2.o): Likewise. 5725 57262009-05-24 Olivier Hainque <hainque@adacore.com> 5727 5728 * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ... 5729 * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions. 5730 Add -auxbase variants to the list of recognized internal switches. 5731 * back_end.adb (Scan_Back_End_Switches): Use the new functions and 5732 adjust comments. 5733 * lib.ads: Make comment on internal GCC switches more general. 5734 * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants 5735 as for C. 5736 57372009-05-23 Eric Botcazou <ebotcazou@adacore.com> 5738 5739 * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko. 5740 57412009-05-23 Eric Botcazou <ebotcazou@adacore.com> 5742 5743 * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array 5744 types. 5745 57462009-05-23 Eric Botcazou <ebotcazou@adacore.com> 5747 5748 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the 5749 original type because of the alignment when there is an address clause. 5750 57512009-05-20 Eric Botcazou <ebotcazou@adacore.com> 5752 5753 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When 5754 discriminants affect the shape of the subtype, retrieve the GCC type 5755 directly from the original field if the GNAT types for the field and 5756 the original field are the same. 5757 57582009-05-15 Eric Botcazou <ebotcazou@adacore.com> 5759 5760 * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE): 5761 New macros. 5762 (TYPE_RM_VALUES): Likewise. 5763 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES. 5764 (SET_TYPE_RM_SIZE): New macro. 5765 (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise. 5766 (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise. 5767 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine. 5768 * gcc-interface/gigi.h (create_range_type): Declare. 5769 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type> 5770 Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type. 5771 <E_Signed_Integer_Subtype>: Build a regular integer type first and 5772 then set the RM bounds. Use SET_TYPE_RM_SIZE to set the RM size. 5773 <E_Floating_Point_Subtype>: Build a regular floating-point type first 5774 and then set the RM bounds. 5775 <E_Array_Type>: Use create_range_type instead of build_range_type. 5776 <E_Array_Subtype>: Build a regular integer type first and then set 5777 the RM bounds for the extra subtype. 5778 <E_String_Literal_Subtype>: Use create_range_type instead of 5779 build_range_type. 5780 <all>: Set the RM bounds for enumeration types and the GCC bounds for 5781 floating-point types. 5782 (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size. 5783 (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE 5784 to set the bounds. Use SET_TYPE_RM_SIZE to set the RM size. 5785 (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain 5786 types and with RM bounds for subtypes. 5787 * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define. 5788 (gnat_print_type) <REAL_TYPE>: New case. 5789 <ENUMERAL_TYPE>: Fall through to above case. 5790 (gnat_get_subrange_bounds): New function. 5791 * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as 5792 TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any. 5793 * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8 5794 for booleans. Adjust and use SET_TYPE_RM_SIZE to set the RM size. 5795 (create_range_type): New function. 5796 (create_param_decl): Build a regular integer type first and then set 5797 the RM bounds for the extra subtype. 5798 (unchecked_convert): Remove kludge for 'Valid. 5799 * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert 5800 the index to sizetype instead of TYPE_DOMAIN. 5801 58022009-05-14 Eric Botcazou <ebotcazou@adacore.com> 5803 5804 * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR 5805 parameter and move check for static expression to... 5806 (elaborate_expression): ...here. Adjust call to above function. 5807 (gnat_to_gnu_entity): Likewise for all calls. Use correct arguments 5808 in calls to elaborate_expression. 5809 (elaborate_entity): Likewise. 5810 (substitution_list): Likewise. 5811 (maybe_variable): Fix formatting. 5812 (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add 5813 missing guard. 5814 * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup. 5815 58162009-05-07 Arnaud Charlet <charlet@adacore.com> 5817 5818 * gcc-interface/Make-lang.in: Update dependencies. 5819 58202009-05-06 Laurent GUERBY <laurent@guerby.net> 5821 5822 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads: 5823 Define sa_handler_pos. 5824 * s-osinte-linux.ads: Use it. 5825 * s-linux-mipsel.ads: New. 5826 * system-linux-mips64el.ads: New. 5827 * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and 5828 mips64el-linux. 5829 58302009-05-06 Arnaud Charlet <charlet@adacore.com> 5831 5832 * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb, 5833 targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb, 5834 opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb 5835 (Tagged_Type_Expansion): New flag. 5836 Replace use of VM_Target related to tagged types expansion by 5837 Tagged_Type_Expansion, since tagged type expansion is not necessarily 5838 linked to VM targets. 5839 58402009-05-06 Robert Dewar <dewar@adacore.com> 5841 5842 * sem_attr.adb: Add processing for Standard'Compiler_Version 5843 5844 * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren 5845 skipping. 5846 (Expr_First_Char): Add ??? comment that paren skipping needs work 5847 (Expr_Last_Char): Add ??? comment that paren skipping needs work 5848 5849 * exp_attr.adb: Add processing for Compiler_Version 5850 5851 * sem_attr.adb: New attribute Compiler_Version 5852 5853 * snames.ads-tmpl: Add entries for Compiler_Version attribute 5854 5855 * gnat_rm.texi: Document Compiler_Version attribute 5856 58572009-05-06 Robert Dewar <dewar@adacore.com> 5858 5859 * errout.adb: Minor reformatting 5860 5861 * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb, 5862 sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb, 5863 styleg.adb: Add stylized comments to error messages that are included 5864 in the codefix circuitry of IDE's such as GPS. 5865 58662009-05-06 Sergey Rybin <rybin@adacore.com> 5867 5868 * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the 5869 new form of the rule parameter that allows to specify the suffix for 5870 access-to-access type names. 5871 58722009-05-06 Robert Dewar <dewar@adacore.com> 5873 5874 * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for 5875 out parameter assigned when exception handlers are present. 5876 5877 * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last 5878 assignments on exit. 5879 5880 * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb, 5881 sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb, 5882 prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb, 5883 par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error 5884 messages that are included in the codefix circuitry of IDE's such as 5885 GPS. 5886 5887 * sinput.ads, sinput.adb (Expr_First_Char): New function 5888 (Expr_Last_Char): New function 5889 58902009-05-06 Sergey Rybin <rybin@adacore.com> 5891 5892 * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule 5893 Add formal definition for extra exit point metric 5894 58952009-05-06 Pascal Obry <obry@adacore.com> 5896 5897 * adaint.c: Support for setting attributes on unicode filename on 5898 Windows. 5899 59002009-05-06 Robert Dewar <dewar@adacore.com> 5901 5902 * sem_warn.adb: Minor reformatting 5903 59042009-05-06 Javier Miranda <miranda@adacore.com> 5905 5906 * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must 5907 not have discriminants or components with default expressions. 5908 (Analyze_Pragma): For pragma CPP_Class check that imported types 5909 have no discriminants and components have no default expression. 5910 5911 * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of 5912 class-wide types in the expression of a record component association. 5913 59142009-05-06 Sergey Rybin <rybin@adacore.com> 5915 5916 * vms_data.ads: Add qualifier for gnatmetric extra exit points metric 5917 5918 * gnat_ugn.texi: Add description for the new extra exit points metric 5919 (gnatmetric section). 5920 59212009-05-06 Robert Dewar <dewar@adacore.com> 5922 5923 * s-fileio.adb: Minor comment update 5924 5925 * sem_ch8.adb: Minor reformatting 5926 5927 * exp_ch3.adb: Update comments. 5928 59292009-05-06 Tristan Gingold <gingold@adacore.com> 5930 5931 * init.c, s-osinte-darwin.ads: Reduce alternate stack size 5932 59332009-05-06 Arnaud Charlet <charlet@adacore.com> 5934 5935 * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai. 5936 Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks 5937 5938 * gcc-interface/Make-lang.in: Update dependencies 5939 59402009-05-06 Ed Schonberg <schonberg@adacore.com> 5941 5942 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous 5943 change. The context clause of a generic instance declaration must be 5944 preserved until the end of the compilation, because it may have to be 5945 installed/removed repeatedly. 5946 The latest change to sem.adb ensures that the context of both spec and 5947 body of an instance is traversed before the instance itself, making 5948 this patch redundant. 5949 59502009-05-06 Gary Dismukes <dismukes@adacore.com> 5951 5952 * sem_aggr.adb: Fix typo. 5953 59542009-05-06 Thomas Quinot <quinot@adacore.com> 5955 5956 * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object 5957 declaration, do not adjust if the declaration is to be rewritten into 5958 a renaming. 5959 59602009-05-06 Ed Schonberg <schonberg@adacore.com> 5961 5962 * sem_ch8.adb (Find_Type): Reject the use of a task type in its own 5963 discriminant part. 5964 59652009-05-06 Bob Duff <duff@adacore.com> 5966 5967 * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since 5968 otherwise the compiler would be allowed to optimize away the cleanup 5969 code. 5970 59712009-05-06 Gary Dismukes <dismukes@adacore.com> 5972 5973 * gnat_ugn.texi: Fix typo. 5974 59752009-05-06 Thomas Quinot <quinot@adacore.com> 5976 5977 * g-debuti.adb: Minor reformatting 5978 5979 * exp_attr.adb: Minor reformatting 5980 59812009-05-06 Robert Dewar <dewar@adacore.com> 5982 5983 * sem_aggr.adb: Minor reformatting. 5984 5985 * g-socthi-vms.adb: Minor reformatting 5986 59872009-05-06 Bob Duff <duff@adacore.com> 5988 5989 * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb: 5990 (Append_All): Add Append_All to g-table and g-dyntab, similar to table. 5991 59922009-05-06 Bob Duff <duff@adacore.com> 5993 5994 * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings 5995 flags. 5996 59972009-05-06 Javier Miranda <miranda@adacore.com> 5998 5999 * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors. 6000 (Resolve_Extension_Aggregate): Do not reject C++ constructors in 6001 extension aggregates. 6002 (Resolve_Record_Aggregate): Add support for C++ constructors in 6003 extension aggregates. 6004 6005 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++ 6006 constructors in extension aggregates. 6007 60082009-05-06 Robert Dewar <dewar@adacore.com> 6009 6010 * freeze.adb (Freeze_Record_Type): Improve error msg for bad size 6011 clause. 6012 60132009-05-06 Thomas Quinot <quinot@adacore.com> 6014 6015 * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate 6016 packed type, since on OpenVMS, struct msghdr is packed. 6017 60182009-05-06 Ed Schonberg <schonberg@adacore.com> 6019 6020 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function 6021 call returning an unconstrained composite value, create the proper 6022 subtype for it, as is done for object dclarations with unconstrained 6023 nominal subtypes. Perform this transformation regarless of whether 6024 call comes from source. 6025 60262009-05-06 Robert Dewar <dewar@adacore.com> 6027 6028 * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for 6029 records 6030 6031 * gnat_rm.texi: 6032 Add documentation for pragma Implicit_Packing applied to record 6033 types. 6034 60352009-05-06 Ed Schonberg <schonberg@adacore.com> 6036 6037 * sem.adb (Walk_Library_Items): Place all with_clauses of an 6038 instantiation on the spec, because late instance bodies may generate 6039 with_clauses for the instance body but are inserted in the instance 6040 spec. 6041 60422009-05-06 Emmanuel Briot <briot@adacore.com> 6043 6044 * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add 6045 support for returning the directory even if it doesn't exist. This is 6046 used for the object directory, since we are always setting it to a 6047 non-null value, and we should set it to an absolute name rather than a 6048 relative name for the sake of external tools that might depend on it. 6049 (Check_Library_Attributes): When Project.Library_Dir is known, check 6050 that the directory exists. 6051 60522009-05-06 Ed Schonberg <schonberg@adacore.com> 6053 6054 * sem_attr.adb (Check_Dereference): If the prefix of an attribute 6055 reference is an implicit dereference, do not freeze the designated type 6056 if within a default expression or when preanalyzing a pre/postcondtion. 6057 60582009-05-06 Ed Schonberg <schonberg@adacore.com> 6059 6060 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function 6061 call returning an unconstrained composite value, create the proper 6062 subtype for it, as is done for object dclarations with unconstrained 6063 nominal subtypes 6064 60652009-05-06 Robert Dewar <dewar@adacore.com> 6066 6067 * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message 6068 improvements 6069 6070 * freeze.adb: Minor reformatting 6071 60722009-05-06 Thomas Quinot <quinot@adacore.com> 6073 6074 * sem_ch3.adb (Access_Type_Declaration): An access type whose 6075 designated type is a limited view from a limited with clause (flagged 6076 From_With_Type) is not itself such a limited view. 6077 60782009-05-06 Emmanuel Briot <briot@adacore.com> 6079 6080 * prj-nmsc.adb: Remove unused variable. 6081 6082 * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads, 6083 prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to 6084 makeutl.ads, since not all users of prj.ads need this. 6085 60862009-05-06 Javier Miranda <miranda@adacore.com> 6087 6088 * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++ 6089 constructor in case of aggregates whose type is a CPP_Class type. 6090 60912009-05-06 Robert Dewar <dewar@adacore.com> 6092 6093 * sem_ch13.adb: Minor comment additions 6094 6095 * osint.adb: Minor reformatting 6096 60972009-05-06 Pascal Obry <obry@adacore.com> 6098 6099 * initialize.c: On Windows, keep full pathname to expanded command 6100 line patterns. 6101 61022009-05-06 Ed Schonberg <schonberg@adacore.com> 6103 6104 * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of 6105 an aggregate with box default is of a discriminated private type, do 6106 not build a subaggregate for it. 6107 A proper call to the initialization procedure is generated for it. 6108 61092009-05-06 Thomas Quinot <quinot@adacore.com> 6110 6111 * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads 6112 (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call): 6113 Use PolyORB strings to represent Ada.Strings.Unbounded_String value; 6114 use standard array code for Standard.String. 6115 (Exp_Dist): Bump PolyORB s-parint API version to 3. 6116 (Rtsfind): New entities TA_Std_String, Unbounded_String. 6117 61182009-05-06 Robert Dewar <dewar@adacore.com> 6119 6120 * g-comlin.ads: Minor reformatting 6121 6122 * xoscons.adb: Minor reformatting 6123 61242009-05-06 Gary Dismukes <dismukes@adacore.com> 6125 6126 * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the 6127 Underlying_Type before retrieving the type definition for gathering 6128 components, to account for the case where the type is private. 6129 61302009-05-06 Tristan Gingold <gingold@adacore.com> 6131 6132 * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt). 6133 61342009-05-06 Thomas Quinot <quinot@adacore.com> 6135 6136 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, 6137 g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads, 6138 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb 6139 (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg, 6140 Windows versions): Fix incorrect base 6141 address of Iovec (it's Msg_Iov, not Msg_Iov'Address). 6142 (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a 6143 System.Address for the To parameter instead of a Sockaddr_In_Access, to 6144 achieve independance from AF_INET family, and also to allow this 6145 parameter to be retrieved from a Msghdr for the Windows case where 6146 these routines are used to implement C_Sendmsg and C_Recvmsg. 6147 61482009-05-06 Bob Duff <duff@adacore.com> 6149 6150 * g-expect.adb, g-expect.ads: Minor reformatting 6151 6152 * sdefault.ads: Minor comment fix 6153 6154 * g-expect-vms.adb: Minor reformatting 6155 6156 * table.ads, table.adb (Append_All): New convenience procedure for 6157 appending a whole array. 6158 6159 * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug 6160 box message. Call Osint.Dump_Source_File_Names to print out the file 6161 list, instead of rummaging around in various data structures. 6162 6163 * debug.adb: New switch -gnatd.n, to print source file names as they 6164 are read. 6165 6166 * alloc.ads: Add parameters for Osint.File_Name_Chars. 6167 6168 * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print 6169 out source file names during a "bug box". 6170 (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free. 6171 (Read_Source_File): Print out the file name, if requested via -gnatd.n. 6172 If it's not part of the runtimes, store it for later printing by 6173 Dump_Source_File_Names. 6174 61752009-05-06 Javier Miranda <miranda@adacore.com> 6176 6177 * gnat_rm.texi (CPP_Constructor): Avoid duplication of the 6178 documentation and add reference to the GNAT user guide for further 6179 details. 6180 61812009-05-06 Javier Miranda <miranda@adacore.com> 6182 6183 * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove 6184 also wrong examples that use extension aggregates. 6185 61862009-05-06 Albert Lee <lee@adacore.com> 6187 6188 * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition 6189 of Msg_Iovlen_T for VMS. 6190 61912009-05-04 Laurent GUERBY <laurent@guerby.net> 6192 6193 PR ada/38874 6194 * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker. 6195 61962009-04-29 Ed Schonberg <schonberg@adacore.com> 6197 6198 * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on 6199 box-defaulted operator in an instantiation, when the type of the 6200 operands is not directly visible. 6201 62022009-04-29 Gary Dismukes <dismukes@adacore.com> 6203 6204 * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change. 6205 (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the 6206 analysis of the ancestor part. Remove prohibition against limited 6207 interpretations of the ancestor expression in the case of Ada 2005. 6208 Revise error message in overloaded case, adding a message to cover 6209 the Ada 2005 case. 6210 62112009-04-29 Thomas Quinot <quinot@adacore.com> 6212 6213 * xoscons.adb: Minor reformatting 6214 62152009-04-29 Bob Duff <duff@adacore.com> 6216 6217 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore 6218 attribute_definition_clauses for the following attributes when the 6219 -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool, 6220 Storage_Size, Write. Otherwise, we get spurious errors (for example, 6221 missing Read attribute on remote types). 6222 6223 * gnat_ugn.texi: Document the change, and add a stern warning. 6224 62252009-04-29 Ed Schonberg <schonberg@adacore.com> 6226 6227 * sem_attr.adb (Check_Local_Access): Indicate that value tracing is 6228 disabled not just for the current scope, but for the innermost dynamic 6229 scope as well. 6230 62312009-04-29 Arnaud Charlet <charlet@adacore.com> 6232 6233 * gcc-interface/Make-lang.in: Update dependencies 6234 62352009-04-29 Vincent Celier <celier@adacore.com> 6236 6237 * prj-part.adb: Minor comment update 6238 62392009-04-29 Ed Schonberg <schonberg@adacore.com> 6240 6241 * sem_aggr.adb (Resolve_Record_Aggregate): handle properly 6242 box-initialized records with discriminated subcomponents that are 6243 constrained by discriminants of enclosing components. New subsidiary 6244 procedures Add_Discriminant_Values, Propagate_Discriminants. 6245 62462009-04-29 Arnaud Charlet <charlet@adacore.com> 6247 6248 * g-socket.adb: Code clean up. 6249 62502009-04-29 Gary Dismukes <dismukes@adacore.com> 6251 6252 * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a 6253 function entity, to cover the case of a parameterless function call 6254 that has not been resolved. 6255 62562009-04-29 Robert Dewar <dewar@adacore.com> 6257 6258 * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor 6259 reformatting and comment updates. 6260 62612009-04-29 Arnaud Charlet <charlet@adacore.com> 6262 6263 * gnat_ugn.texi: Update some documentation about interfacing with C++ 6264 Mention -fkeep-inline-functions. 6265 6266 * gnat_ugn.texi: Minor edits 6267 62682009-04-29 Ed Schonberg <schonberg@adacore.com> 6269 6270 * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate 6271 for a defaulted component of an enclosing aggregate, inherit the type 6272 from the component declaration of the enclosing type. 6273 62742009-04-29 Albert Lee <lee@adacore.com> 6275 6276 * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c, 6277 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads 6278 (System.OS_Constants): New type Msg_Iovlen_T which follows whether the 6279 msg_iovlen field in struct msghdr is 32 or 64 bits wide. 6280 Relocate the Msghdr record type from GNAT.Sockets.Thin to 6281 GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the 6282 type for the Msg_Iovlen field. 6283 62842009-04-29 Vincent Celier <celier@adacore.com> 6285 6286 * sinput-l.adb (Load_File): When preprocessing, set temporarily the 6287 Source_File_Index_Table entries for the source, to avoid crash when 6288 reporting an error. 6289 6290 * gnatcmd.adb (Test_If_Relative_Path): Use 6291 Makeutl.Test_If_Relative_Path. 6292 6293 * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if 6294 Including_RTS is True. 6295 6296 * makeutl.ads (Test_If_Relative_Path): New Boolean parameter 6297 Including_RTS defaulted to False. 6298 6299 * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with 6300 a default value. 6301 63022009-04-29 Javier Miranda <miranda@adacore.com> 6303 6304 * gnat_ugn.texi: Adding documentation for non-default C++ constructors. 6305 63062009-04-29 Javier Miranda <miranda@adacore.com> 6307 6308 * sem_ch3.adb (Analyze_Object_Declaration): Disable error message 6309 associated with dyamically tagged expressions if the expression 6310 initializing a tagged type corresponds with a non default CPP 6311 constructor. 6312 (OK_For_Limited_Init): CPP constructor calls are OK for initialization 6313 of limited type objects. 6314 6315 * sem_ch5.adb (Analyze_Assignment): Improve the error message reported 6316 when a CPP constructor is called in an assignment. Disable also the 6317 error message associated with dyamically tagged expressions if the 6318 exporession initializing a tagged type corresponds with a non default 6319 CPP constructor. 6320 6321 * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of 6322 non-default C++ constructors. 6323 6324 * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram. 6325 6326 * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for 6327 non-default constructors. 6328 (Init_Proc): Add support for non-default constructors. 6329 6330 * exp_disp.adb (Set_Default_Constructor): Removed. 6331 (Set_CPP_Constructors): Code based in removed Set_Default_Constructor 6332 but extending its functionality to handle non-default constructors. 6333 6334 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default 6335 constructors. Minor code cleanup removing unrequired label and goto 6336 statement. 6337 6338 * exp_ch3.adb (Build_Initialization_Call): Add support for non-default 6339 constructors. 6340 (Build_Init_Statements): Add support for non-default constructors. 6341 (Expand_N_Object_Declaration): Add support for non-default constructors. 6342 (Freeze_Record_Type): Replace call to Set_Default_Constructor by call 6343 to Set_CPP_Constructors. 6344 6345 * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for 6346 non-default constructors. 6347 Required to handle its use in build-in-place statements. 6348 6349 * gnat_rm.texi (CPP_Constructor): Document new extended use of this 6350 pragma for non-default C++ constructors and the new compiler support 6351 that allows the use of these constructors in record components, limited 6352 aggregates, and extended return statements. 6353 63542009-04-29 Vincent Celier <celier@adacore.com> 6355 6356 * prj-part.adb (Parse_Single_Project): Do not attempt to find a 6357 project extending an abstract project. 6358 63592009-04-29 Eric Botcazou <ebotcazou@adacore.com> 6360 6361 * targparm.ads: Fix oversight. 6362 63632009-04-29 Ed Schonberg <schonberg@adacore.com> 6364 6365 * lib-xref.adb (Output_Overridden_Op): Follow several levels of 6366 derivation when necessary, to find the user-subprogram that is actally 6367 being overridden. 6368 63692009-04-29 Robert Dewar <dewar@adacore.com> 6370 6371 * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected 6372 components 6373 63742009-04-29 Ed Schonberg <schonberg@adacore.com> 6375 6376 * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of 6377 primitive operation, rather than source line of synchronized type, when 6378 building the wrapper for a primitive operation that overrides an 6379 operation inherited from a progenitor, to improve the error message on 6380 duplicate declarations. 6381 6382 * sem_ch3.adb (Process_Full_View): Use new signature of 6383 Build_Wrapper_Spec. 6384 63852009-04-29 Robert Dewar <dewar@adacore.com> 6386 6387 * prj-nmsc.ads: Minor reformatting 6388 63892009-04-29 Eric Botcazou <ebotcazou@adacore.com> 6390 6391 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the 6392 expression on the existing parent If statement. 6393 63942009-04-29 Robert Dewar <dewar@adacore.com> 6395 6396 * prj-proc.adb, prj.ads: Minor reformatting 6397 63982009-04-29 Eric Botcazou <ebotcazou@adacore.com> 6399 6400 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an 6401 existing parent If statement on the newly created one. 6402 64032009-04-29 Emmanuel Briot <briot@adacore.com> 6404 6405 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb, 6406 prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads, 6407 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb 6408 (Set_In_Configuration, In_Configuration): Removed. 6409 Replaced by an extra parameter Is_Config_File in several parameter to 6410 avoid global variables to store the state of the parser. 6411 64122009-04-29 Ed Schonberg <schonberg@adacore.com> 6413 6414 * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain 6415 with_clauses generated for the same unit through rtsfind, and that 6416 appear in the context of different units. 6417 6418 * rtsfind.adb: New attribute First_Implicit_With, component of the 6419 Unit_Record that stores information about a unit loaded through rtsfind. 6420 64212009-04-29 Gary Dismukes <dismukes@adacore.com> 6422 6423 * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces 6424 (other conditions permitting), so that abstract stream subprograms will 6425 be declared for them. 6426 64272009-04-29 Bob Duff <duff@adacore.com> 6428 6429 * g-expect.adb (Expect_Internal): Fix check for overfull buffer. 6430 6431 * g-expect.ads: Minor comment fixes. 6432 64332009-04-29 Ed Schonberg <schonberg@adacore.com> 6434 6435 * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the 6436 dispatching operation is a body without previous spec, update the list 6437 of primitive operations to ensure that cross-reference information is 6438 up-to-date. 6439 64402009-04-29 Albert Lee <lee@adacore.com> 6441 6442 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, 6443 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, 6444 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads 6445 (GNAT.Sockets.Thin.C_Readv, 6446 GNAT.Sockets.Thin.C_Writev): Remove unused subprograms. 6447 (GNAT.Sockets.Thin.C_Recvmsg, 6448 GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and 6449 sendmsg(2). 6450 (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use 6451 C_Recvmsg/C_Sendmsg rather than Readv/C_Writev. 6452 64532009-04-29 Ed Schonberg <schonberg@adacore.com> 6454 6455 * sem_disp.adb (Check_Dispatching_Operation): if the dispatching 6456 operation is a body without previous spec, update the list of 6457 primitive operations to ensure that cross-reference information is 6458 up-to-date. 6459 6460 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a 6461 new compilation unit node for the instance declaration, keep the 6462 context items of the original unit on it, so that the context of the 6463 instance body only holds the context inherited from the generic body. 6464 64652009-04-29 Bob Duff <duff@adacore.com> 6466 6467 * sem_res.adb: Minor comment fix. 6468 64692009-04-29 Thomas Quinot <quinot@adacore.com> 6470 6471 * sem_elim.adb: Minor reformatting 6472 64732009-04-29 Ed Schonberg <schonberg@adacore.com> 6474 6475 * exp_aggr.adb (Convert_To_Positional): if the current unit is a 6476 predefined unit, allow arbitrary number of components in static 6477 aggregate, to ensure that the same level of constant folding applies 6478 for Ada 95 and Ada 05 versions of the file. 6479 64802009-04-29 Ed Schonberg <schonberg@adacore.com> 6481 6482 * sem_elim.adb (Check_Eliminated): Handle new improved eliminate 6483 information: no need for full scope check. 6484 (Eliminate_Error): Do not emit error in a generic context. 6485 64862009-04-29 Ed Falis <falis@adacore.com> 6487 6488 * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined. 6489 VxWorks 653 POS does not support rmdir. 6490 64912009-04-29 Matteo Bordin <bordin@adacore.com> 6492 6493 * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way 6494 results are printed. 6495 64962009-04-29 Arnaud Charlet <charlet@adacore.com> 6497 6498 * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove 6499 unused assignment. 6500 65012009-04-29 Thomas Quinot <quinot@adacore.com> 6502 6503 * make.adb: Minor reformatting. 6504 Minor code reorganization throughout. 6505 65062009-04-29 Matteo Bordin <bordin@adacore.com> 6507 6508 * s-stausa.ads: Changed visibility of type Task_Result: moved to 6509 public part to give application visibility over it. 6510 This is for future improvement and to build a public API on top of it. 6511 Changed record components name of type Task_Result to reflect the new 6512 way of reporting. 6513 6514 * s-stausa.adb: Actual_Size_Str changed to reflect the new way of 6515 reporting Stack usage. 6516 6517 * gnat_ugn.texi: Update doc of stack usage report. 6518 6519 * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files. 6520 6521 * Makefile.rtl: Add new run-time files. 6522 65232009-04-29 Pascal Obry <obry@adacore.com> 6524 6525 * initialize.c: Do not expand quoted arguments. 6526 65272009-04-29 Emmanuel Briot <briot@adacore.com> 6528 6529 * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks. 6530 6531 * clean.adb (Ultimate_Extension_Of): removed, since duplicate of 6532 Prj.Ultimate_Extending_Project_Of 6533 65342009-04-29 Ed Schonberg <schonberg@adacore.com> 6535 6536 * exp_ch7.adb (Build_Final_List): If the designated type is a Taft 6537 Amendment type, add the with_clause for Finalization.List_Controller 6538 only if the current context is a package body. 6539 65402009-04-29 Thomas Quinot <quinot@adacore.com> 6541 6542 * sem_ch12.adb: Minor reformatting 6543 6544 * sem_aggr.adb: Minor reformatting 6545 6546 * sem_ch6.adb, sem_cat.ads: Minor reformatting 6547 6548 * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting 6549 65502009-04-29 Quentin Ochem <ochem@adacore.com> 6551 6552 * prj.ads (Source_Id): Now general pointer type. 6553 65542009-04-29 Thomas Quinot <quinot@adacore.com> 6555 6556 * exp_ch7.adb, rtsfind.adb: Minor reformatting 6557 6558 * sem_res.adb: Minor reformatting 6559 65602009-04-29 Thomas Quinot <quinot@adacore.com> 6561 6562 * sem_res.adb (Static_Concatenation): An N_Op_Concat with static 6563 operands is static only if it is a predefined concatenation operator. 6564 6565 * sem_util.adb: Minor reformatting 6566 6567 * sem_ch12.adb (Save_References): When propagating semantic information 6568 from generic copy back to generic template, for the case of an 6569 identifier that has been rewritten to an explicit dereference whose 6570 prefix is either an object name or a parameterless funcion call 6571 denoting a global object or function, properly capture the denoted 6572 global entity: perform the corresponding rewriting in the template, 6573 and point the rewritten identifier to the correct global entity (not 6574 to the associated identifier in the generic copy). 6575 65762009-04-29 Robert Dewar <dewar@adacore.com> 6577 6578 * rtsfind.adb, prj-env.adb: Minor reformatting 6579 Minor code reorganization 6580 65812009-04-29 Emmanuel Briot <briot@adacore.com> 6582 6583 * make.adb: Fix comment 6584 6585 * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project 6586 is given as argument, as might happen in gnatmake. 6587 65882009-04-29 Ed Schonberg <schonberg@adacore.com> 6589 6590 * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when 6591 an abstract operation of a progenitor is not properly overridden by an 6592 operation of a derived synchronized type. 6593 65942009-04-29 Robert Dewar <dewar@adacore.com> 6595 6596 * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb, 6597 prj-proc.adb: Minor reformatting 6598 Minor code reorganization 6599 66002009-04-29 Bob Duff <duff@adacore.com> 6601 6602 * exp_ch7.adb (Build_Final_List): For an access type that designates a 6603 Taft Amendment type, if the access type needs finalization, make sure 6604 the implicit with clause for List_Controller occurs on the package spec. 6605 6606 * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit 6607 with's created for the pseudo-children of Text_IO and friends. In 6608 particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and 6609 Ada.Text_IO.Integer_IO both with-ing each other. 6610 6611 * sem.adb (Walk_Library_Items): Suppress assertion failure in certain 6612 oddball cases when pragma Extend_System is used. 6613 6614 * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in 6615 the case where a package spec instantiates a generic whose body with's 6616 this package, so Walk_Library_Items won't complain about cyclic with's. 6617 66182009-04-29 Emmanuel Briot <briot@adacore.com> 6619 6620 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, 6621 prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb, 6622 mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads 6623 (Project_Id): now a real pointer to Project_Data, instead of an index 6624 into the Projects_Table. This simplifies the API significantly, avoiding 6625 extra lookups in this table and the need to pass the Project_Tree_Ref 6626 parameter in several cases 6627 66282009-04-29 Nicolas Setton <setton@adacore.com> 6629 6630 * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on 6631 darwin. 6632 66332009-04-25 Eric Botcazou <ebotcazou@adacore.com> 6634 6635 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put 6636 back kludge. 6637 66382009-04-24 Robert Dewar <dewar@adacore.com> 6639 6640 * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb, 6641 clean.adb: Minor reformatting. 6642 Minor code reorganization and message improvement. 6643 66442009-04-24 Emmanuel Briot <briot@adacore.com> 6645 6646 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads 6647 (Alternate_Languages): now implemented as a malloc-ed list rather 6648 than through a table. 6649 66502009-04-24 Thomas Quinot <quinot@adacore.com> 6651 6652 * sem_res.adb (Static_Concatenation): Simplify predicate to make it 6653 accurately handle cases such as "lit" & "lit" and 6654 "lit" & static_string_constant 6655 66562009-04-24 Emmanuel Briot <briot@adacore.com> 6657 6658 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb, 6659 prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element): 6660 removed. Lists of projects are now implemented via standard malloc 6661 rather than through the table. 6662 66632009-04-24 Thomas Quinot <quinot@adacore.com> 6664 6665 * sem_ch12.adb: Minor reformatting 6666 6667 * g-trasym.adb: Minor reformatting 6668 6669 * exp_ch6.adb: Minor reformatting 6670 66712009-04-24 Robert Dewar <dewar@adacore.com> 6672 6673 * layout.adb (Layout_Type): For packed array type, copy unset 6674 size/alignment fields from the referenced Packed_Array_Type. 6675 66762009-04-24 Bob Duff <duff@adacore.com> 6677 6678 * lib-load.adb (Make_Instance_Unit): Revert previous change, no 6679 longer needed after sem_ch12 changes. 6680 6681 * sem.adb (Walk_Library_Items): Include with's in some debugging 6682 printouts. 6683 66842009-04-24 Emmanuel Briot <briot@adacore.com> 6685 6686 * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were 6687 only ever using the Project field. 6688 66892009-04-24 Ed Schonberg <schonberg@adacore.com> 6690 6691 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set 6692 Body_Required on the generated compilation node. The new node is linked 6693 to its body, but both share the same file, so we do not set this flag 6694 on the new unit so as not to create a spurious dependency on a 6695 non-existent body in the ali file for the instance. 6696 66972009-04-24 Robert Dewar <dewar@adacore.com> 6698 6699 * make.adb: Minor reformatting 6700 67012009-04-24 Emmanuel Briot <briot@adacore.com> 6702 6703 * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source, 6704 Add_Source): merge some code between those. In particular change where 6705 file normalization is done to avoid a few extra calls to 6706 Canonicalize_File_Name. This also removes the need for passing 6707 Current_Dir in a number of subprograms. 6708 67092009-04-24 Bob Duff <duff@adacore.com> 6710 6711 * lib-load.adb (Make_Instance_Unit): In the case where In_Main is 6712 False, assign the correct unit to the Cunit field of the new table 6713 entry. We want the spec unit, not the body unit. 6714 6715 * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling 6716 interface for these. 6717 (Maybe_Add_With): Check whether we're trying to a with on the current 6718 unit, and avoid creating such directly self-referential with clauses. 6719 (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of 6720 [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items, 6721 and matches existing comments in the spec. 6722 6723 * sem.adb (Walk_Library_Items): Add various special cases to make the 6724 assertions pass. 6725 6726 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit 6727 instead of Parent (N), for uniformity. 6728 67292009-04-24 Robert Dewar <dewar@adacore.com> 6730 6731 * errout.ads: Minor reformatting 6732 67332009-04-24 Emmanuel Briot <briot@adacore.com> 6734 6735 * gnat_ugn.texi (Library Projects): add documentation on gnatmake's 6736 behavior when the project includes sources from multiple languages 6737 67382009-04-24 Vincent Celier <celier@adacore.com> 6739 6740 * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there 6741 is a language other than Ada declared. 6742 6743 * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with 6744 Imported_First set to True. 6745 67462009-04-24 Ed Schonberg <schonberg@adacore.com> 6747 6748 * sem_res.adb: additional optimization to inhibit creation of 6749 redundant transient scopes. 6750 67512009-04-24 Bob Duff <duff@adacore.com> 6752 6753 * rtsfind.ads: Minor comment fix 6754 67552009-04-24 Emmanuel Briot <briot@adacore.com> 6756 6757 * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources, 6758 Get_Path_Name_And_Record_Ada_Sources): merged, since these were 6759 basically doing the same work (for explicit or implicit sources). 6760 (Find_Explicit_Sources): renamed to Find_Sources to better reflect its 6761 role. Rewritten to share some code (testing that all explicit sources 6762 have been found) between ada_only and multi_language modes. 6763 67642009-04-24 Jerome Lambourg <lambourg@adacore.com> 6765 6766 * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name 6767 for CLI imported types. 6768 (Analyze_Pragma): Allow CIL or Java imported functions returning 6769 access-to-subprogram types. 6770 67712009-04-24 Emmanuel Briot <briot@adacore.com> 6772 6773 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads: 6774 (Project_Data.Dir_Path): field removed, since it can be computed 6775 directly from .Directory, and is needed only once when processing the 6776 project is buildgpr.adb or make.adb 6777 67782009-04-24 Robert Dewar <dewar@adacore.com> 6779 6780 * prj-env.adb, prj-proc.adb, prj.adb, prj.ads, 6781 rtsfind.adb: Minor reformatting. 6782 Minor code reorganization 6783 67842009-04-24 Arnaud Charlet <charlet@adacore.com> 6785 6786 * mlib-prj.adb: Use friendlier english identifier. 6787 6788 * gnatcmd.adb, make.adb: Use better english identifiers. 6789 67902009-04-24 Robert Dewar <dewar@adacore.com> 6791 6792 * clean.adb: Minor reformatting 6793 67942009-04-24 Robert Dewar <dewar@adacore.com> 6795 6796 * einfo.adb (OK_To_Rename): New flag 6797 6798 * einfo.ads (OK_To_Rename): New flag 6799 6800 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if 6801 OK_To_Rename set. 6802 6803 * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename 6804 6805 * sem_ch7.adb (Uninstall_Declarations): Allow for renames from 6806 OK_To_Rename. 6807 68082009-04-24 Emmanuel Briot <briot@adacore.com> 6809 6810 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb, 6811 clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen): 6812 field removed. This is not a property of the 6813 project, just a boolean used to traverse the project tree, and storing 6814 it in the structure prevents doing multiple traversal in parallel. 6815 (Project_Data.Checked): also removed, since it was playing the same role 6816 as Seen when we had two nested loops, and this is no longer necessary 6817 (For_All_Imported_Projects): removed, since in fact there was already 6818 the equivalent in For_Every_Project_Imported. The latter was rewritten 6819 to use a local hash table instead of Project_Data.Seen 6820 Various loops were rewritten to use For_Every_Project_Imported, thus 6821 removing the need for Project_Data.Seen. This avoids a lot of code 6822 duplication 6823 68242009-04-24 Ed Schonberg <schonberg@adacore.com> 6825 6826 * sem_res.adb (Resolve_Actuals): Do not create blocks around code 6827 statements, even though the actual of the call is a concatenation, 6828 because the argument is static, and we want to preserve warning 6829 messages about sequences of code statements that are not marked 6830 volatile. 6831 6832 * sem_warn.adb: remove obsolete comment about warning being obsolete 6833 6834 * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being 6835 requeued and the delay has expired while within the accept statement 6836 that executes the requeue, do not perform the requeue and indicate that 6837 the timed call has been aborted. 6838 68392009-04-24 Emmanuel Briot <briot@adacore.com> 6840 6841 * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb 6842 (Has_Ada_Sources, Has_Foreign_Sources): new subprograms 6843 (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed, 6844 since they can be computed from the above. 6845 68462009-04-24 Vincent Celier <celier@adacore.com> 6847 6848 * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree 6849 6850 * prj-env.adb: Move all global variables to the private part of the 6851 project tree data. 6852 Access these new components instead of the global variables no longer 6853 in existence. 6854 (Add_To_Path): New Project_Tree_Ref parameter, to access the new 6855 components that were previously global variables. 6856 6857 * prj-env.ads (Initialize): New Project_Tree_Ref parameter 6858 (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref 6859 parameter. 6860 6861 * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to 6862 be able to call Set_Mapping_File_Initial_State_To_Empty with it. 6863 6864 * prj.adb (Initialize): Do not call Prj.Env.Initialize 6865 (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new 6866 components in the private part of the project tree data. 6867 6868 * prj.ads (Private_Project_Tree_Data): new components moved from 6869 Prj.Env: Current_Source_Path_File, Current_Object_Path_File, 6870 Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set, 6871 Ada_Prj_Objects_File_Set, Fill_Mapping_File. 6872 68732009-04-24 Vincent Celier <celier@adacore.com> 6874 6875 * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag. 6876 6877 * prj-nmsc.adb (Check_Library): No error for imports by shared library 6878 projects, when --unchecked-shared-lib-imports is used. 6879 68802009-04-24 Robert Dewar <dewar@adacore.com> 6881 6882 * sem_ch7.adb: Minor reformatting 6883 68842009-04-24 Tristan Gingold <gingold@adacore.com> 6885 6886 * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the 6887 mach thread id. 6888 68892009-04-24 Emmanuel Briot <briot@adacore.com> 6890 6891 * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of, 6892 Path_Name_Of_Library_Unit_Body): rEmove unused subprograms. 6893 (For_All_Imported_Projects): new procedure 6894 (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the 6895 above rather than duplicating code. 6896 68972009-04-24 Emmanuel Briot <briot@adacore.com> 6898 6899 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb 6900 (Source_Id, Source_Data): use a real list to store sources rather than 6901 using an external table to store the elements. This makes code more 6902 efficient and more readable. 6903 69042009-04-24 Emmanuel Briot <briot@adacore.com> 6905 6906 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb 6907 (Source_Iterator): new type. 6908 This removes the need for having the sources on three different 6909 lists at the project tree, project and language level. They are now 6910 on a single list. 6911 69122009-04-24 Emmanuel Briot <briot@adacore.com> 6913 6914 * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities 6915 69162009-04-24 Ed Schonberg <schonberg@adacore.com> 6917 6918 * sem_warn.adb: Add comment on obsolete warning 6919 69202009-04-24 Arnaud Charlet <charlet@adacore.com> 6921 6922 * s-tassta.adb (Create_Task): Fix violation of locking rule. 6923 69242009-04-24 Emmanuel Briot <briot@adacore.com> 6925 6926 * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed 6927 to Language_Ptr to better reflect its new implementation. 6928 (Project_Data.First_Languages_Processing): renamed to Languages now 6929 that the field with that name is no longer used 6930 (Project_Data.Languages): removed, no longer used, and duplicates 6931 information already available through First_Language_Processing. 6932 (Prj.Language_Index): now an actual pointer, instead of an index into 6933 a table. This makes the list somewhat more obvious, but more importantly 6934 removes the need to pass a pointer to the project_tree_data in a few 6935 places, and makes accessing the attributes of a languages more 6936 efficient. 6937 69382009-04-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6939 Thomas Quinot <quinot@adacore.com> 6940 6941 * fe.h (Set_Identifier_Casing): Add const to second parameter. 6942 * gcc-interface/misc.c (internal_error_function): Make copy of return 6943 from pp_formatted_text before assigning BUFFER to it. 6944 (gnat_init): Likewise for main_input_filename and gnat_argv. 6945 (gnat_printable_name): Remove cast from call to Set_Identifier_Casing. 6946 69472009-04-24 Eric Botcazou <ebotcazou@adacore.com> 6948 6949 * ttypes.ads (Target_Double_Float_Alignment): New variable. 6950 (Target_Double_Scalar_Alignment): Likewise. 6951 * get_targ.ads (Get_Strict_Alignment): Adjust external name. 6952 (Get_Double_Float_Alignment): New imported function. 6953 (Get_Double_Scalar_Alignment): Likewise. 6954 * layout.adb (Set_Elem_Alignment): Take into account specific caps for 6955 the alignment of "double" floating-point types and "double" or larger 6956 scalar types, as parameterized by Target_Double_Float_Alignment and 6957 Target_Double_Scalar_Alignment respectively. 6958 * gcc-interface/gigi.h (double_float_alignment): Declare. 6959 (double_scalar_alignment): Likewise. 6960 (is_double_float_or_array): Likewise. 6961 (is_double_scalar_or_array): Likewise. 6962 (get_target_double_float_alignment): Likewise. 6963 (get_target_double_scalar_alignment): Likewise. 6964 * gcc-interface/targtyps.c (get_strict_alignment): Rename into... 6965 (get_target_strict_alignment): ...this. 6966 (get_target_double_float_alignment): New function. 6967 (get_target_double_scalar_alignment): Likewise. 6968 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: 6969 Test the presence of an alignment clause for under-aligned integer 6970 types. Take into account specific caps for the alignment of "double" 6971 floating-point types and "double" or larger scalar types, as 6972 parameterized by Target_Double_Float_Alignment and 6973 Target_Double_Scalar_Alignment respectively. 6974 (validate_alignment): Likewise. 6975 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise. 6976 (gigi): Initialize double_float_alignment and double_scalar_alignment. 6977 * gcc-interface/utils.c (double_float_alignment): New global variable. 6978 (double_scalar_alignment): Likewise. 6979 (is_double_float_or_array): New predicate. 6980 (is_double_scalar_or_array): Likewise. 6981 69822009-04-24 Eric Botcazou <ebotcazou@adacore.com> 6983 6984 * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of 6985 the conditional expression only if it is common to both arms. 6986 69872009-04-24 Eric Botcazou <ebotcazou@adacore.com> 6988 6989 * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment. 6990 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct 6991 arguments to build_allocator. 6992 * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment. 6993 Remove code handling special allocator and assert its uselessness. 6994 69952009-04-24 Eric Botcazou <ebotcazou@adacore.com> 6996 6997 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an 6998 alignment is specified, do not promote that of the component type 6999 beyond it. 7000 <E_Array_Subtype>: Likewise. 7001 70022009-04-23 Eric Botcazou <ebotcazou@adacore.com> 7003 7004 * einfo.ads (Is_True_Constant): Lift restriction on atomic objects. 7005 * sinfo.ads (Object Declaration): Likewise. 7006 (Assignment Statement): Likewise. 7007 * freeze.adb (Expand_Atomic_Aggregate): Remove useless test. 7008 Do not force Is_True_Constant to false on the temporary. 7009 (Freeze_Entity): Do not force Is_True_Constant to false on names on 7010 the RHS of object declarations. 7011 * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>: 7012 New case. Return 1 if the object is atomic. 7013 <N_Assignment_Statement>: Likewise. 7014 70152009-04-23 Eric Botcazou <ebotcazou@adacore.com> 7016 7017 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype> 7018 For packed array types, make the original array type a parallel type 7019 for the modular type and its JM wrapper if the type is bit-packed. 7020 <E_Array_Subtype>: Likewise. Do not generate the special XA parallel 7021 record type for packed array types. Remove kludge. 7022 70232009-04-23 Eric Botcazou <ebotcazou@adacore.com> 7024 7025 * gcc-interface/gigi.h (create_index_type): Adjust head comment. 7026 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: 7027 Use front-end predicates to compute signedness and precision. 7028 <E_String_Literal_Subtype>: Fold range type. 7029 Make sure to set longest_float_type_node to a scalar type. 7030 (elaborate_entity): Use consistent Constraint_Error spelling. 7031 (substitute_in_type) <INTEGER_TYPE>: Always copy the type. 7032 * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief 7033 output for the modulus, if any. 7034 <ENUMERAL_TYPE>: Likewise for the RM size. 7035 * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error 7036 spelling. 7037 * gcc-interface/utils.c (finish_record_type): Really test the alignment 7038 of BLKmode bit-fields to compute their addressability. 7039 (create_index_type): Adjust comments. 7040 (create_param_decl): Create the biased subtype manually. 7041 * gcc-interface/utils2.c (build_component_ref): Use consistent 7042 Constraint_Error spelling. 7043 70442009-04-23 Eric Botcazou <ebotcazou@adacore.com> 7045 7046 * gcc-interface/cuintp.c: Clean up include directives. 7047 * gcc-interface/targtyps.c: Likewise. 7048 * gcc-interface/decl.c: Likewise. 7049 * gcc-interface/misc.c: Likewise. 7050 * gcc-interface/trans.c: Likewise. 7051 * gcc-interface/utils.c: Likewise. 7052 * gcc-interface/utils2.c: Likewise. 7053 * gcc-interface/Make-lang.in: Adjust dependencies accordingly. 7054 70552009-04-23 Eric Botcazou <ebotcazou@adacore.com> 7056 7057 * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom. 7058 (SET_TYPE_LANG_SPECIFIC): Likewise. Fix formatting. 7059 (SET_DECL_LANG_SPECIFIC): Likewise. 7060 Reorder macros. 7061 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: 7062 Update comment about use of build_range_type. 7063 <E_Array_Type, E_Array_Subtype>: Use consistent naming convention. 7064 <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add 7065 check for other cases of overloading. 7066 * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst. 7067 * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error. 7068 Use size_int in lieu of build_int_cst. 7069 (build_call_alloc_dealloc): Use build_index_2_type in lieu of 7070 build_range_type. 7071 70722009-04-22 Eric Botcazou <ebotcazou@adacore.com> 7073 7074 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's 7075 type is an enumeral or a boolean type, change it to an integer type 7076 with the same mode and signedness. 7077 70782009-04-22 Eric Botcazou <ebotcazou@adacore.com> 7079 7080 * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info 7081 for an external constant whose initializer is not absolute. 7082 70832009-04-22 Taras Glek <tglek@mozilla.com> 7084 7085 * gcc-interface/ada-tree.h: Update GTY annotations to new syntax. 7086 * gcc-interface/trans.c: Likewise. 7087 * gcc-interface/utils.c: Likewise. 7088 70892009-04-22 Ed Schonberg <schonberg@adacore.com> 7090 7091 * sem_res.adb: Create block around procedure call when actual is a 7092 concatenation. 7093 70942009-04-22 Thomas Quinot <quinot@adacore.com> 7095 7096 * s-soflin.ads: Fix typos 7097 70982009-04-22 Vincent Celier <celier@adacore.com> 7099 7100 * prj-env.adb: Minor comment change 7101 7102 * prj-nmsc.adb (Check_Common): Add guard to avoid calling 7103 Get_Name_String with No_File. 7104 7105 * tempdir.adb (Create_Temp_File): Output diagnostic when temp file 7106 cannot be created even when not in verbose mode. 7107 71082009-04-22 Emmanuel Briot <briot@adacore.com> 7109 7110 * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb, 7111 prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and 7112 Multi_Language modes, to avoid code duplication. 7113 (Project_Data.Include_Language): Removed. 7114 71152009-04-22 Vincent Celier <celier@adacore.com> 7116 7117 * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when 7118 the temporary file cannot be created, indicating the directory when the 7119 creation was attempted. 7120 71212009-04-22 Emmanuel Briot <briot@adacore.com> 7122 7123 * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare 7124 the language names, not their indices. 7125 71262009-04-22 Emmanuel Briot <briot@adacore.com> 7127 7128 * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads 7129 (Source_Data.Language_Name): Field removed. 7130 71312009-04-22 Emmanuel Briot <briot@adacore.com> 7132 7133 * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*): 7134 Two fields removed. 7135 71362009-04-22 Emmanuel Briot <briot@adacore.com> 7137 7138 * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the 7139 separate_suffix to the same value as the body_suffix. 7140 71412009-04-22 Robert Dewar <dewar@adacore.com> 7142 7143 * prj.adb: Minor code reorganization 7144 Code clean up. 7145 7146 * prj-proc.adb: Minor code reorganization, clean up. 7147 7148 * prj-nmsc.adb: Minor reformatting 7149 Minor code reorganization 7150 7151 * gnat_ugn.texi: Add to doc on strict aliasing 7152 71532009-04-22 Pascal Obry <obry@adacore.com> 7154 7155 * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to 7156 SpinCount. 7157 7158 * s-tasini.adb: Minor reformatting. 7159 7160 * s-tassta.adb: Minor reformatting. 7161 71622009-04-22 Emmanuel Briot <briot@adacore.com> 7163 7164 * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several 7165 smaller subprograms. 7166 Renamed to Check_File_Naming_Schemes to avoid confusion with the 7167 other Check_Naming_Schemes functions that plays a totally different 7168 role. 7169 (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms, 7170 extracted from the above. These were partially rewritten to avoid 7171 unnecessary code and temporary variables. 7172 (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang 7173 and Get_Unit (which for now still exist since they contain mode-specific 7174 code) 7175 71762009-04-22 Emmanuel Briot <briot@adacore.com> 7177 7178 * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process): 7179 Remove duplicated code. 7180 (Canonical_Case_File_Name): new subprogram 7181 (Check_And_Normalize_Unit_Names): new subprogram 7182 (Write_Attr): new subprogram 7183 Better sharing of code 7184 (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to 7185 split Check_Naming and help find duplicated code 7186 (Check_Common): new subprogram, sharing code between ada_only and 7187 multi_language mode. 7188 (Naming_Data.Dot_Repl_Loc): field removed 7189 71902009-04-22 Emmanuel Briot <briot@adacore.com> 7191 7192 * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram. 7193 Minor refactoring to reduce the size of 7194 Process_Sources_In_Multi_Language_Mode. 7195 Avoid extra copied of Source_Data, which we found in the past could be 7196 quite slow. 7197 (Mark_Excluded_Sources): new subprogram. 7198 (Remove_Locally_Removed_Files_From_Units): merged into the above 7199 Refactors Process_Sources_In_Multi_Language_Mode to reduce its size, 7200 and allow better sharing of code between multi_lang and ada_only modes 7201 (Project_Extends): removed, since exact duplicate of Prj.Is_Extending 7202 72032009-04-22 Emmanuel Briot <briot@adacore.com> 7204 7205 * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By): 7206 Removed, since unused. 7207 72082009-04-22 Vincent Celier <celier@adacore.com> 7209 7210 * prj-attr.adb: New single project level attribute 7211 Separate_Run_Path_Options. 7212 7213 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process 7214 attribute Seperate_Run_Path_Options. 7215 7216 * prj.ads: (Project_Configuration): New Boolean component 7217 Separate_Run_Path_Options, defaulted to False. 7218 7219 * snames.ads-tmpl: New standard name Seperate_Run_Path_Options 7220 72212009-04-22 Robert Dewar <dewar@adacore.com> 7222 7223 * sem_type.adb: Minor reformatting 7224 7225 * mlib.adb: Minor reformatting 7226 7227 * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from 7228 syntax error. 7229 72302009-04-22 Nicolas Setton <setton@adacore.com> 7231 7232 * link.c: Add flag __gnat_separate_run_path_options. 7233 7234 * mlib.adb (Separate_Run_Path_Options): New subprogram. 7235 7236 * mlib.ads (Separate_Run_Path_Options): Declare. 7237 7238 * gnatcmd.adb (Process_Link): Add support for emitting one "rpath" 7239 switch per directory, rather than one "rpath" switch listing all 7240 directories. 7241 7242 * gnatlink.adb (Process_Binder_File): Likewise. 7243 7244 * make.adb (Gnatmake): Likewise. 7245 72462009-04-22 Hristian Kirtchev <kirtchev@adacore.com> 7247 7248 * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup. 7249 Add a call to Move_Final_List when the target of the assignment is a 7250 return object that needs finalization and the expression is a 7251 controlled build-in-place function. 7252 72532009-04-22 Vincent Celier <celier@adacore.com> 7254 7255 * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with 7256 Including_Libraries set to True. 7257 72582009-04-22 Ed Schonberg <schonberg@adacore.com> 7259 7260 * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to 7261 create a unit table entry for the subprogram declaration created for a 7262 child suprogram body that has no separate specification. 7263 7264 * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a 7265 subprogram body, call Make_Child_Decl_Unit. 7266 7267 * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the 7268 table can only be the created specification of a child subprogram body 7269 that is the main unit, which has not been entered in the table yet. 7270 7271 * errout.adb (Output_Messages): Ignore created specification of a 7272 child subprogram body to prevent repeated listing of error messages. 7273 7274 * gnat1drv.adb (gnat1drv): The generated specification for a child 7275 subprogram body does not generate code. 7276 72772009-04-22 Arnaud Charlet <charlet@adacore.com> 7278 7279 * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax, 7280 since this unit is now part of bootstrap units, so must use Ada 95 7281 syntax only. 7282 72832009-04-22 Thomas Quinot <quinot@adacore.com> 7284 7285 * a-tasatt.adb: Minor reformatting 7286 72872009-04-22 Bob Duff <duff@adacore.com> 7288 7289 * s-stalib.ads: Remove "with System;" since we're inside System, so 7290 it's unnecessary. 7291 72922009-04-22 Vincent Celier <celier@adacore.com> 7293 7294 * prj-nmsc.adb (Add_Source): Always put the dependency file name in 7295 the source record, as there may be a dependency file even if no object 7296 file is created. 7297 72982009-04-22 Robert Dewar <dewar@adacore.com> 7299 7300 * lib-load.adb: Minor reformatting 7301 7302 * lib-load.ads: Minor reformatting 7303 7304 * sinfo.ads: Minor reformatting 7305 73062009-04-22 Bob Duff <duff@adacore.com> 7307 7308 * exp_pakd.adb: Minor comment fixes. 7309 7310 * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb 7311 sem_ch12.adb: Change the meaning of the Library_Unit attribute to 7312 include units containing instantiations, as well as units that are 7313 generic instantiations. 7314 7315 * sem.adb: Include dependents and corresponding specs/bodies in the 7316 unit walk. 7317 7318 * gcc-interface/Make-lang.in: 7319 sem now depends on s-bitops, because of the packed array of Booleans. 7320 73212009-04-22 Eric Botcazou <ebotcazou@adacore.com> 7322 7323 * gcc-interface/ada-tree.def: Fix formatting nits. 7324 (REGION_STMT): Delete. 7325 (HANDLER_STMT): Likewise. 7326 * gcc-interface/ada-tree.h: Fix formatting nits. 7327 (IS_STMT): Delete. 7328 (REGION_STMT_BODY): Likewise. 7329 (REGION_STMT_HANDLE): Likewise. 7330 (REGION_STMT_BLOCK): Likewise. 7331 (HANDLER_STMT_ARG): Likewise. 7332 (HANDLER_STMT_LIST): Likewise. 7333 (HANDLER_STMT_BLOCK): Likewise. 7334 * gcc-interface/gigi.h (fp_prec_to_size): Update comment. 7335 (fp_size_to_prec): Likewise. 7336 (largest_move_alignment): Delete. 7337 (gnat_compute_largest_alignment): Likewise. 7338 Fix minor nits. 7339 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: 7340 Remove redundant code. 7341 <E_Array_Type>: Remove redundant assert. 7342 <E_Array_Subtype>: Exit early from index computation in pathological 7343 cases. 7344 Rewrite conditional assignment. 7345 (make_type_from_size): Likewise. 7346 * gcc-interface/misc.c (largest_move_alignment): Delete. 7347 (gnat_finish_incomplete_decl): Likewise. 7348 (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise. 7349 (asm_out_file): Likewise 7350 (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case. 7351 (gnat_dwarf_name): Move around. 7352 * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits. 7353 (gigi): Remove call to gnat_compute_largest_alignment. 7354 * utils.c (create_field_decl): Rewrite conditional assignment. 7355 Fix minor nits. 7356 73572009-04-22 Eric Botcazou <ebotcazou@adacore.com> 7358 7359 * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate 7360 on entry. Defer common processing for types. Reorder and clean up. 7361 Compute the equivalent GNAT node and the default size for types only. 7362 <E_Modular_Integer_Type>: Directly use Esize for the type's precision. 7363 <E_Access_Type>: For an unconstrained designated type, do not pretend 7364 that a dummy type is always made. 7365 <all> Fix nits in comments. 7366 (validate_size): Fix formatting nits and comments. 7367 (set_rm_size): Likewise. 7368 * gcc-interface/utils.c (create_param_decl): Replace bogus argument 7369 passed to TARGET_PROMOTE_PROTOTYPES hook. 7370 73712009-04-22 Eric Botcazou <ebotcazou@adacore.com> 7372 7373 * fe.h (Get_External_Name): Declare. 7374 * gcc-interface/gigi.h (concat_id_with_name): Rename to... 7375 (concat_name): ...this. 7376 * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to 7377 gnu_entity_name and adjust for above renaming. 7378 <E_Access_Type>: Use create_concat_name to get the name of the various 7379 types associated with unconstrained array types. 7380 (make_aligning_type): Adjust for above renaming. 7381 (maybe_pad_type): Likewise. 7382 (components_to_record): Likewise. Use get_identifier_with_length for 7383 the encoding of the variant. 7384 (get_entity_name): Use get_identifier_with_length. 7385 (create_concat_name): Likewise. Use Get_External_Name if no suffix. 7386 Do not fiddle with Name_Buffer. 7387 (concat_id_with_name): Rename to... 7388 (concat_name): ...this. Use get_identifier_with_length. Do not fiddle 7389 with Name_Buffer. 7390 * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for 7391 above renaming. 7392 73932009-04-21 Joseph Myers <joseph@codesourcery.com> 7394 7395 * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and 7396 license notices. 7397 73982009-04-21 Eric Botcazou <ebotcazou@adacore.com> 7399 7400 * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info. 7401 74022009-04-21 Eric Botcazou <ebotcazou@adacore.com> 7403 7404 * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete. 7405 (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types. 7406 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>: 7407 Remove useless support code for packed array types and assert its 7408 uselessness. 7409 <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and 7410 adjust for TYPE_RM_SIZE change. 7411 <all> Fix nits in comments. Use Original_Array_Type accessor instead 7412 of Associated_Node_For_Itype accessor for packed array types. 7413 (make_packable_type): Likewise. 7414 (maybe_pad_type): Likewise. 7415 (set_rm_size): Likewise. Rework conditional statement. Adjust for 7416 TYPE_RM_SIZE change. 7417 (make_type_from_size): Adjust for TYPE_RM_SIZE change. 7418 (rm_size): Fix nits in comments. Rework conditional statements. 7419 * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE 7420 change. 7421 * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments. 7422 * gcc-interface/utils.c (gnat_init_decl_processing): Use more 7423 appropriate function to initialize the size_type_node. Adjust for 7424 TYPE_RM_SIZE change. 7425 74262009-04-21 Eric Botcazou <ebotcazou@adacore.com> 7427 7428 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global 7429 for imported subprograms. 7430 74312009-04-21 Eric Botcazou <ebotcazou@adacore.com> 7432 7433 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make 7434 constant objects covered by 13.3(19) volatile. 7435 74362009-04-21 Eric Botcazou <ebotcazou@adacore.com> 7437 7438 * gcc-interface/utils.c (create_type_decl): Do not pass declarations 7439 of dummy fat pointer types to the debug back-end. 7440 74412009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7442 7443 * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation. 7444 <E_Signed_Integer_Subtype>: Set the RM size on the integer type 7445 before wrapping it up in the record type. Do not overwrite the 7446 Ada size of the record type with the Esize. 7447 74482009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7449 7450 * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate. 7451 (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression 7452 if the conversion is on the LHS of an assignment and a no-op. 7453 <all> Do not convert the result to the result type if the Parent 7454 node is such a conversion. 7455 74562009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7457 7458 * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete. 7459 * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension 7460 of types with unknown discriminants. 7461 (substitute_in_type): Rewrite and restrict to formal substitutions. 7462 * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P. 7463 (update_pointer_to): Update comment. 7464 74652009-04-20 Ed Schonberg <schonberg@adacore.com> 7466 7467 * sem_ch8.adb (Use_One_Package): In an instance, if two 7468 potentially_use_visible and non-overloadable homonyms are available 7469 from the actuals of distinct formal packages, retain the current one, 7470 which was visible in the generic, to prevent spurious visibility 7471 errors. 7472 (End_Use_Package): Restore use_visibility when needed. 7473 74742009-04-20 Sergey Rybin <rybin@adacore.com> 7475 7476 * gnat_ugn.texi, vms_data.ads: Update doc. 7477 74782009-04-20 Arnaud Charlet <charlet@adacore.com> 7479 7480 * gcc-interface/Make-lang.in: Update dependencies 7481 7482 * gcc-interface/Makefile.in: Link run-time against winsock2 lib under 7483 Windows. 7484 74852009-04-20 Robert Dewar <dewar@adacore.com> 7486 7487 * checks.ads: Fix documentation of range check handling 7488 74892009-04-20 Ed Schonberg <schonberg@adacore.com> 7490 7491 * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for 7492 a redundant use_type clause. 7493 74942009-04-20 Robert Dewar <dewar@adacore.com> 7495 7496 * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where 7497 this attribute can be evaluated at compile time. 7498 (Eval_Attribute, case Range_Length): Same improvement 7499 7500 * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure 7501 75022009-04-20 Ed Schonberg <schonberg@adacore.com> 7503 7504 * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization, 7505 for better handling of null procedures. 7506 (Check_Overriding_Indicator): Do not emit a warning on a missing 7507 overriding indicator on an operator when the type of which the operator 7508 is a primitive is private. 7509 75102009-04-20 Bob Duff <duff@adacore.com> 7511 7512 * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control 7513 debugging output. 7514 75152009-04-20 Robert Dewar <dewar@adacore.com> 7516 7517 * sem_attr.adb: Minor reformatting 7518 7519 * gnatcmd.adb: Minor reformatting 7520 75212009-04-20 Ed Schonberg <schonberg@adacore.com> 7522 7523 * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is 7524 overloaded and one interpretation matches the context, label the 7525 operand with the type of first formal. 7526 75272009-04-20 Bob Duff <duff@adacore.com> 7528 7529 * debug.ads: Minor comment fix. 7530 7531 * debug.adb: Minor comment fixes. 7532 75332009-04-20 Javier Miranda <miranda@adacore.com> 7534 7535 * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions 7536 7537 * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch. 7538 7539 * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt 7540 is expanded into a call to Raise_Exception, avoid passing the 7541 exception-name'identity in runtimes in which this argument 7542 is not used. 7543 75442009-04-20 Jerome Lambourg <lambourg@adacore.com> 7545 7546 * impunit.adb: Add i-cil and i-cilobj packages, now needed by the 7547 generated bindings for cil. 7548 75492009-04-20 Ed Schonberg <schonberg@adacore.com> 7550 7551 * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown 7552 discriminants, collect components from the Underlying_Record_View, 7553 which will be used in the expansion of the aggregate into assignments. 7554 7555 * sem_ch3.adb: Do not label derived type with unknown discriminants as 7556 having a private declaration. 7557 75582009-04-20 Ed Schonberg <schonberg@adacore.com> 7559 7560 * exp_util.adb (Expand_Subtype_From_Expr): use the 7561 underlying_record_view when available, to create the proper constrained 7562 subtype for an object of a derived type with unknown discriminants. 7563 75642009-04-20 Javier Miranda <miranda@adacore.com> 7565 7566 * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for 7567 formals that have pragma unreferenced. 7568 75692009-04-20 Pascal Obry <obry@adacore.com> 7570 7571 * a-direct.adb (To_Lower_If_Case_Insensitive): Removed. 7572 Remove all calls to To_Lower_If_Case_Insensitive to preserve 7573 the pathname original casing. 7574 75752009-04-20 Robert Dewar <dewar@adacore.com> 7576 7577 * g-trasym.adb: Minor reformatting 7578 7579 * s-os_lib.adb: Minor reformatting 7580 7581 * sem.adb: Minor reformatting 7582 Minor code reorganization 7583 7584 * sem_ch3.adb: Minor reformatting 7585 7586 * sem_ch4.adb: Minor reformatting 7587 7588 * sem_ch8.adb: Minor reformatting 7589 7590 * sem_type.adb: Minor reformatting 7591 75922009-04-20 Javier Miranda <miranda@adacore.com> 7593 7594 * sem_disp.adb (Find_Dispatching_Type): For subprograms internally 7595 generated by derivations of tagged types use the aliased subprogram a 7596 reference to locate their controlling type. 7597 75982009-04-20 Tristan Gingold <gingold@adacore.com> 7599 7600 * g-trasym.adb: Set size of result buffer before calling 7601 convert_address. 7602 76032009-04-20 Ed Schonberg <schonberg@adacore.com> 7604 7605 * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call 7606 to a function returning an array can be interpreted as a call with 7607 defaulted parameters whose result is indexed, take into account the 7608 types of all the indices of the array result type. 7609 76102009-04-20 Pascal Obry <obry@adacore.com> 7611 7612 * a-direct.adb, s-os_lib.adb: Minor reformatting. 7613 76142009-04-20 Ed Schonberg <schonberg@adacore.com> 7615 7616 * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect 7617 null exclusion qualifiers for object renaming declarations. 7618 76192009-04-20 Nicolas Roche <roche@adacore.com> 7620 7621 * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are 7622 unsigned long long. So compare local_time and utc_time before computing 7623 the difference. 7624 76252009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7626 7627 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration 7628 of the Underlying_Record_View before that of the derived type. 7629 7630 * exp_ch3.adb (Expand_Record_Extension): Do not special-case types 7631 with unknown discriminants with regard to the parent subtype. 7632 76332009-04-20 Bob Duff <duff@adacore.com> 7634 7635 * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies 7636 that are not included. This is necessary if the main unit is a generic 7637 instantiation. 7638 7639 * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items, 7640 because it doesn't work if -gnatn is used. 7641 76422009-04-20 Ed Schonberg <schonberg@adacore.com> 7643 7644 * rtsfind.adb (RTE, RTE_Record_Component): In 7645 Configurable_Run_Time_Mode, do not enable front-end inlining. 7646 76472009-04-20 Thomas Quinot <quinot@adacore.com> 7648 7649 * g-socthi-vms.adb: Remove now unnecessary WITH clause on 7650 System.Address_To_Access_Conversions. 7651 76522009-04-20 Ed Schonberg <schonberg@adacore.com> 7653 7654 * sem.adb: Guard against ill-formed subunits. 7655 76562009-04-20 Bob Duff <duff@adacore.com> 7657 7658 * output.adb (Flush_Buffer): Do not indent blank lines. 7659 (Ignore_Output): New procedure for output suppression. 7660 76612009-04-20 Hristian Kirtchev <kirtchev@adacore.com> 7662 7663 * a-calfor.adb (Image): Subtract 0.5 from the sub second component only 7664 when it is positive. This avoids a potential constraint error raised 7665 by the conversion to Natural. 7666 76672009-04-20 Gary Dismukes <dismukes@adacore.com> 7668 7669 * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment 7670 involves a target that has a specified address, don't set Forward_OK 7671 and Backward_OK to False if the rhs is an aggregate, since overlap 7672 can't occur. 7673 76742009-04-20 Ed Schonberg <schonberg@adacore.com> 7675 7676 * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions 7677 in an object renaming declaration when the expected type is an 7678 anonymous access type. 7679 7680 * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential 7681 ambiguity when one interpretation is an anonymous access type and the 7682 other is a named access type, and the context itself is anonymous 7683 76842009-04-20 Thomas Quinot <quinot@adacore.com> 7685 7686 * einfo.ads: Minor comment rewording 7687 7688 * sem_aggr.adb: Minor comment rewording 7689 7690 * sem_ch3.adb, sem_ch6.adb: Minor reformatting 7691 76922009-04-20 Pascal Obry <obry@adacore.com> 7693 7694 * adaint.c (__gnat_is_readable_file): Check for file existence 7695 when not using ACL (always the case on remote drives). 7696 76972009-04-20 Robert Dewar <dewar@adacore.com> 7698 7699 * sinfo.ads: Minor comment fixes 7700 7701 * exp_disp.adb: Minor reformatting 7702 7703 * gnat1drv.adb: Minor reformatting 7704 7705 * output.adb: Minor reformatting 7706 7707 * s-vxwext-kernel.ads: Minor reformatting 7708 7709 * sem.ads: Minor reformatting 7710 7711 * sem.adb: Minor reformatting 7712 7713 * sem_elim.adb: Minor reformatting 7714 7715 * uname.ads: Minor reformatting 7716 77172009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7718 7719 * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add 7720 a small dope of 4 words to the adjustment to the stack pointer. 7721 77222009-04-20 Thomas Quinot <quinot@adacore.com> 7723 7724 * xoscons.adb: generate C header s-oscons.h in 7725 addition to s-oscons.ads. 7726 7727 * socket.c: On VMS, use s-oscons.h. 7728 7729 * sem_ch3.adb: Minor reformatting 7730 7731 * exp_ch9.adb: Minor reformatting 7732 77332009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7734 7735 * gcc-interface/trans.c (check_for_eliminated_entity): Remove. 7736 (Attribute_to_gnu): Do not call check_for_eliminated_entity. 7737 (call_to_gnu): Likewise. 7738 77392009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7740 7741 * gcc-interface/trans.c (gigi): Declare the name of the compilation 7742 unit as the first global name at the very beginning. 7743 77442009-04-20 Thomas Quinot <quinot@adacore.com> 7745 7746 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads, 7747 s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads, 7748 g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well, 7749 since HP-UX supports neither inet_aton nor inet_pton (altough the 7750 latter is part of the Single UNIX Specification!). 7751 So reorganize code, and share C implementation based on inet_addr(3) 7752 with VMS (instead of having a VMS specific Ada implementation in 7753 g-socthi-vms.adb). 7754 77552009-04-20 Gary Dismukes <dismukes@adacore.com> 7756 7757 * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function 7758 to return the object file name saved by Set_Object_Output_File_Name. 7759 77602009-04-20 Emmanuel Briot <briot@adacore.com> 7761 7762 * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers 7763 for the standard command line, when argc has been modified since the 7764 start of the application. 7765 77662009-04-20 Thomas Quinot <quinot@adacore.com> 7767 7768 * socket.c (__gnat_inet_pton, Windows case): Adjust return value. 7769 WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure. 7770 77712009-04-20 Bob Duff <duff@adacore.com> 7772 7773 * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside 7774 pragma Debug. 7775 77762009-04-20 Ed Schonberg <schonberg@adacore.com> 7777 7778 * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated 7779 subprogram as Eliminated when source operation is. 7780 (Expand_N_Protected_Type_Declaration): Generate protected and 7781 unprotected specs for the internal operations, even if the source 7782 operation is eliminated. 7783 77842009-04-20 Hristian Kirtchev <kirtchev@adacore.com> 7785 7786 * exp_ch3.adb (Make_Predefined_Primitive_Specs, 7787 Predefined_Primitive_Bodies): Do not create the declarations and bodies 7788 of the primitive subprograms associated with dispatching select 7789 statements when the runtime is in configurable mode. 7790 77912009-04-20 Ed Falis <falis@adacore.com> 7792 7793 * s-vxwext-kernel.ads (tickGet): Use tick64Get. 7794 77952009-04-20 Thomas Quinot <quinot@adacore.com> 7796 7797 * s-oscons-tmplt.c: Add support for generating a dummy version of 7798 s-oscons.ads providing all possible constants. 7799 7800 * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton. 7801 7802 * socket.c (__gnat_inet_pton): On Windows make sure we always use the 7803 ANSI version (not the UNICODE version) of WSAStringToAddress. 7804 78052009-04-20 Pascal Obry <obry@adacore.com> 7806 7807 * adaint.c (__gnat_set_OWNER_ACL): properly free memory 7808 allocated for the security descriptor and make sure all 7809 handles are closed before leaving this procedure. 7810 78112009-04-20 Javier Miranda <miranda@adacore.com> 7812 7813 * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram 7814 (Set_Is_Underlying_Record_View): New subprogram 7815 7816 * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of 7817 private types with unknown discriminants use the underlying record view 7818 if available. 7819 7820 * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the 7821 underlying record view in the full view of private types whose parent 7822 has unknown discriminants. 7823 (Build_Derived_Record_Type): Avoid generating the class-wide entity 7824 associated with an underlying record view. 7825 (Derived_Type_Declaration): Avoid deriving parent primitives in 7826 underlying record views. 7827 7828 * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for 7829 records with unknown discriminants. 7830 7831 * sem_type.adb (Covers): Handle underlying record views. 7832 (Is_Ancestor): Add support for underlying record views. 7833 7834 * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a 7835 dispatching call if the type of the target object is tagged and has 7836 unknown discriminants. 7837 7838 * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with 7839 unknown discriminants. 7840 7841 * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch 7842 tables for internally built underlying record views. 7843 7844 * sprint.adb (sprint_node_actual): Improve output of aggregates with an 7845 empty list of component associations. 7846 78472009-04-20 Thomas Quinot <quinot@adacore.com> 7848 7849 * sem_ch10.adb: Minor reformatting 7850 7851 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads, 7852 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb 7853 (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use 7854 standard inet_pton API (and emulate it on platforms that do not 7855 support it). 7856 (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of 7857 DECC$INET_ADDR, imported in Ada. 7858 (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C 7859 implementation provided by GNAT runtime. 7860 (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and 7861 Windows. 7862 78632009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7864 7865 * gnat_ugn.texi: Add documentation for -fno-ivopts. 7866 78672009-04-20 Ed Schonberg <schonberg@adacore.com> 7868 7869 * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a 7870 with_clause if it is the main unit. 7871 78722009-04-20 Thomas Quinot <quinot@adacore.com> 7873 7874 * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization 7875 (no behaviour change): Use Append instead of Increment_Last followed 7876 by assignment. 7877 78782009-04-20 Hristian Kirtchev <kirtchev@adacore.com> 7879 7880 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the 7881 declarations of all primitives associated with dispatching asynchronous, 7882 conditional and timed selects when dispaching calls are forbidden and 7883 select statements are not allowed (such as in Ravenscar). 7884 (Predefined_Primitive_Bodies): Ditto for bodies. 7885 7886 * exp_disp.ad (Make_DT): Do not create and populate the 7887 Select_Specific_Data of the dispatch table when dispatching calls are 7888 forbidden and select statements are not allowed (such as in Ravenscar). 7889 78902009-04-20 Robert Dewar <dewar@adacore.com> 7891 7892 * a-tifiio.adb: Minor reformatting 7893 78942009-04-20 Thomas Quinot <quinot@adacore.com> 7895 7896 * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike 7897 other C library functions, report *failure* with a zero status, and 7898 success with a non-zero status. 7899 79002009-04-20 Bob Duff <duff@adacore.com> 7901 7902 * sem.ads, sem.adb (Walk_Library_Items): New generic procedure. 7903 (Semantics): After analyzing each unit, Append it to the 7904 Comp_Unit_List, if appropriate. 7905 7906 * gnat1drv.adb (Check_Library_Items): New procedure for debugging 7907 purposes. 7908 (Gnat1drv): Correct comment regarding Back_End_Mode. 7909 79102009-04-20 Eric Botcazou <ebotcazou@adacore.com> 7911 7912 * gnat_ugn.texi: Add documentation for -fno-inline-small-functions. 7913 79142009-04-20 Thomas Quinot <quinot@adacore.com> 7915 7916 * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb, 7917 output.adb, output.ads, s-taprop-hpux-dce.adb, 7918 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor 7919 reformatting. 7920 79212009-04-20 Thomas Quinot <quinot@adacore.com> 7922 7923 * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb, 7924 g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads 7925 (GNAT.Sockets.Thin.C_Inet_Addr): Remove. 7926 (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library 7927 except for VMS where it is reimplemented in Ada using DECC$INET_ADDR. 7928 (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3). 7929 7930 * debug.adb: Fix typo 7931 7932 * gnat_rm.texi: Minor doc fix. 7933 7934 * sem_ch7.adb, freeze.adb: Minor reformatting 7935 79362009-04-20 Thomas Quinot <quinot@adacore.com> 7937 7938 * g-socket.ads: Add new constants: 7939 Loopback_Inet_Addr 7940 Unspecified_Group_Inet_Addr 7941 All_Hosts_Group_Inet_Addr 7942 All_Routers_Group_Inet_Addr 7943 7944 * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add 7945 ERANGE (Result too large). 7946 (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing 7947 propagation of errno to caller. 7948 79492009-04-20 Hristian Kirtchev <kirtchev@adacore.com> 7950 7951 * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds 7952 to 24. Increment Leap_Seconds_Count and add an entry to aggregate 7953 Leap_Second_Times. 7954 79552009-04-20 Gary Dismukes <dismukes@adacore.com> 7956 7957 * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for 7958 checking for references to eliminated subprograms that should be 7959 flagged. 7960 (Eliminate_Error_Message): Update comment to say "references" rather 7961 than "calls" (since attribute cases are handled here as well). 7962 7963 * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for 7964 checking for references to eliminated subprograms that should be 7965 flagged. Add with and use of Sem and Sem_Util. 7966 7967 * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms. 7968 Add with and use of Sem_Elim. 7969 7970 * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes 7971 applied to eliminated subprograms. 7972 (Analyze_Attribute): Reject 'Address and 'Code_Address applied to 7973 eliminated subprograms. 7974 Add with and use of Sem_Elim. 7975 7976 * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls 7977 to eliminated subprograms, now handled during Resolve_Call. 7978 Remove with and use of Sem_Elim. 7979 7980 * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before 7981 testing Is_Eliminated, for proper handling of primitive derived from 7982 eliminated subprograms. 7983 79842009-04-20 Vincent Celier <celier@adacore.com> 7985 7986 * mlib-prj.adb (Build_Library): Use the shared library linker, if one 7987 has been declared (Library_GCC or Linker'Driver), for the driver name. 7988 7989 * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and 7990 Linker'Driver is, use Linker'Driver as the shared library linker. 7991 (Process_Project_Level_Simple_Attributes): Issue a warning if attribute 7992 Library_GCC is declared. 7993 (Check_Library_Attributes): Set up the shared linker driver: either 7994 Library_GCC or Linker'Driver. Issue a warning if Library_GCC is 7995 declared. 7996 79972009-04-20 Thomas Quinot <quinot@adacore.com> 7998 7999 * g-socket.ads (Send_Socket): Fix misleading comment. 8000 80012009-04-20 Arnaud Charlet <charlet@adacore.com> 8002 8003 * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in 8004 ASIS mode. 8005 80062009-04-20 Geert Bosch <bosch@adacore.com> 8007 8008 * a-tifiio.adb (Put): Avoid generating too many digits for certain 8009 fixed types with smalls that are neither integer or the reciprocal 8010 of an integer. 8011 80122009-04-20 Bob Duff <duff@adacore.com> 8013 8014 * uname.ads: Minor comment fix. 8015 8016 * types.ads: Minor comment fix. 8017 80182009-04-20 Pascal Obry <obry@adacore.com> 8019 8020 * adaint.c (__gnat_get_libraries_from_registry): Fix code to 8021 avoid warning. At the same time fix a memory leak. 8022 8023 * osint.adb (Get_Libraries_From_Registry): Properly free memory 8024 returned by the above routine. 8025 80262009-04-20 Robert Dewar <dewar@adacore.com> 8027 8028 * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb, 8029 s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb, 8030 s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads, 8031 s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions. 8032 8033 * exp_ch4.adb (Expand_Concatenate): Minor code reorganization 8034 80352009-04-20 Pascal Obry <obry@adacore.com> 8036 8037 * initialize.c (__gnat_initialize): Add braces to kill warning. 8038 8039 * adaint.c: Minor reformatting, remove trailing spaces. 8040 80412009-04-17 Arnaud Charlet <charlet@adacore.com> 8042 8043 * gcc-interface/Make-lang.in: Update dependencies. 8044 80452009-04-20 Eric Botcazou <ebotcazou@adacore.com> 8046 8047 * adaint.h (__gnat_lwp_self): Declare on Linux. 8048 8049 * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'. 8050 80512009-04-20 Robert Dewar <dewar@adacore.com> 8052 8053 * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement 8054 front-end part of -fpreserve-control-flow switch. 8055 80562009-04-20 Bob Duff <duff@adacore.com> 8057 8058 * rtsfind.adb: Minor comment fix 8059 80602009-04-20 Robert Dewar <dewar@adacore.com> 8061 8062 * exp_aggr.adb: Minor reformatting 8063 Minor code reorganization (use Nkind_In) 8064 8065 * g-socket.adb: Minor reformatting 8066 8067 * g-socket.ads: Minor comment fix 8068 8069 * s-auxdec.ads: Minor comment and organization update. 8070 8071 * s-auxdec-vms_64.ads: Minor comment and organization update. 8072 8073 * sem_ch10.adb: Minor addition of ??? comment 8074 8075 * sem_disp.adb: Minor reformatting 8076 80772009-04-20 Ed Schonberg <schonberg@adacore.com> 8078 8079 * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end 8080 list a caller of an inlined subprogram, if the caller itself is not 8081 called. 8082 80832009-04-20 Pascal Obry <obry@adacore.com> 8084 8085 * adaint.c: Disable use of ACL on network drives. 8086 80872009-04-20 Arnaud Charlet <charlet@adacore.com> 8088 8089 * gnat_ugn.texi: Add examples. 8090 80912009-04-20 Thomas Quinot <quinot@adacore.com> 8092 8093 * g-socket.ads (Abort_Selector): Clarify documentation. 8094 80952009-04-20 Arnaud Charlet <charlet@adacore.com> 8096 8097 * opt.ads (Inspector_Mode): Update documentation of this flag. 8098 80992009-04-20 Thomas Quinot <quinot@adacore.com> 8100 8101 * g-socket.ads: Minor reformatting 8102 8103 * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to 8104 consider S_resolvLib error codes since we only use the hostLib wrappers. 8105 81062009-04-20 Eric Botcazou <ebotcazou@adacore.com> 8107 8108 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration 8109 of the Underlying_Record_View after that of the derived type. 8110 81112009-04-20 Arnaud Charlet <charlet@adacore.com> 8112 8113 * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining 8114 in inspector mode. 8115 81162009-04-20 Javier Miranda <miranda@adacore.com> 8117 8118 * sem_ch6.adb (New_Overloaded_Entity): Minor reformating. 8119 8120 * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing 8121 documentation. 8122 8123 * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup. 8124 8125 * sem_disp.adb 8126 (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation 8127 in internally built overriding subprograms. 8128 81292009-04-20 Doug Rupp <rupp@adacore.com> 8130 8131 * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types. 8132 8133 * s-auxdec.ads: Likewise 8134 81352009-04-20 Ed Schonberg <schonberg@adacore.com> 8136 8137 * sem_ch3.adb (Find_Type_Name): Reject the completion of a private 8138 type by an interface. 8139 8140 * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to 8141 minimze difference in expanded tree when compiled as spec of the main 8142 unit, or as a spec in the context of another unit. 8143 81442009-04-20 Hristian Kirtchev <kirtchev@adacore.com> 8145 8146 * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer. 8147 (localtime_tzoff): This routine no longer accepts an actual of type 8148 tm_Pointer. 8149 (UTC_Time_Offset): Remove local variable Secs_TM. 8150 8151 * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an 8152 actual of type struct tm*. Add local variable of type struct tm for all 8153 targets that provide localtime_r and need to invoke it. 8154 81552009-04-20 Thomas Quinot <quinot@adacore.com> 8156 8157 * s-oscons-tmplt.c, g-socket.adb, g-socket.ads 8158 (GNAT.Sockets.Resolve_Error): Add case of EPIPE 8159 Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK 8160 81612009-04-20 Robert Dewar <dewar@adacore.com> 8162 8163 * sem_ch3.adb: Minor reformatting 8164 8165 * lib-load.adb: Minor reformatting 8166 8167 * sem_ch4.adb: Minor reformatting 8168 81692009-04-20 Robert Dewar <dewar@adacore.com> 8170 8171 * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec 8172 (equal values => False). 8173 81742009-04-20 Ed Schonberg <schonberg@adacore.com> 8175 8176 * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls 8177 to null procedures can be inlined unconditionally. 8178 81792009-04-20 Eric Botcazou <ebotcazou@adacore.com> 8180 8181 * gcc-interface/trans.c (call_to_gnu): When creating the copy for a 8182 non-addressable parameter passed by reference, do not convert the 8183 actual if its type is already the nominal type, unless it is of 8184 self-referential size. 8185 81862009-04-20 Arnaud Charlet <charlet@adacore.com> 8187 8188 * gnat_ugn.texi: Fix typos. 8189 81902009-04-20 Robert Dewar <dewar@adacore.com> 8191 8192 * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to 8193 Validate_Unchecked_Warnings to suppress warnings about size or 8194 alignment or extra bits if either type involved has pragma Warnings 8195 (Off) set for the type entity. 8196 81972009-04-19 Eric Botcazou <ebotcazou@adacore.com> 8198 8199 * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type 8200 a builtin type and give it a name. 8201 82022009-04-17 Diego Novillo <dnovillo@google.com> 8203 8204 * gcc-interface/misc.c (gnat_expand_expr): Remove. 8205 (LANG_HOOKS_EXPAND_EXPR): Remove. 8206 82072009-04-17 Robert Dewar <dewar@adacore.com> 8208 8209 * sem_ch3.adb: Minor reformatting 8210 82112009-04-17 Pascal Obry <obry@adacore.com> 8212 8213 * adaint.c: Add __gnat_use_acl global variable to control use of ACL. 8214 82152009-04-17 Ed Schonberg <schonberg@adacore.com> 8216 8217 * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly 8218 illegal constraints on type derived from formal discrete types. 8219 82202009-04-17 Thomas Quinot <quinot@adacore.com> 8221 8222 PR ada/35953 8223 8224 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, 8225 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, 8226 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb, 8227 g-socket.ads (GNAT.Sockets.Thin.C_Send, 8228 GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms. 8229 Replace calls to send(2) with equivalent sendto(2) calls. 8230 (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram. 8231 (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not 8232 report an error in that case. Factor code common to the two versions 8233 (datagram and stream) in common routine Stream_Write. 8234 82352009-04-17 Robert Dewar <dewar@adacore.com> 8236 8237 * exp_disp.adb: Minor reformatting 8238 Minor code reorganization (use Nkind_In) 8239 8240 * prepcomp.adb: Minor reformatting 8241 8242 * sem_ch3.adb: Minor reformatting 8243 8244 * sem_res.adb: Minor comment addition 8245 8246 * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test 8247 for address clause 8248 8249 * lib-xref.adb (Generate_Reference): Exclude recursive calls from 8250 setting Is_Referenced 8251 8252 * types.ads: Minor reformatting 8253 82542009-04-17 Arnaud Charlet <charlet@adacore.com> 8255 8256 * gnat_ugn.texi: Initial documentation on binding generator. 8257 82582009-04-17 Ed Schonberg <schonberg@adacore.com> 8259 8260 * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle 8261 type extensions whose parent is a type with unknown discriminants. 8262 8263 * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension 8264 aggregate has unknown discriminants, use the Underlying_Record_View to 8265 obtain the discriminants of the ancestor part. 8266 8267 * exp_disp.adb (Build_Dispatch_Tables): Types that are 8268 Underlying_Record_Views share the dispatching information of the 8269 original record extension. 8270 8271 * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown 8272 discriminants, propagate dispach table information to the 8273 Underlying_Record_View. 8274 8275 * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown 8276 discriminants and declaration is not a completion, generate 8277 Underlying_Record_View to provide proper discriminant information to 8278 the front-end and to gigi. 8279 82802009-04-17 Robert Dewar <dewar@adacore.com> 8281 8282 * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb, 8283 s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads, 8284 s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads, 8285 g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads, 8286 s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads, 8287 s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads, 8288 g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb, 8289 s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads, 8290 g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb, 8291 s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb, 8292 s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb, 8293 s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb, 8294 s-conca3.ads: Remove unneeded pragma Warnings 8295 82962009-04-17 Robert Dewar <dewar@adacore.com> 8297 8298 * g-moreex.adb: Add comments. 8299 8300 * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off) 8301 8302 * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma 8303 Warnings (Off) 8304 8305 * prepcomp.adb: Add ??? comment 8306 8307 * a-tasatt.adb: Minor reformatting 8308 8309 * g-trasym-vms-alpha.adb: Add ??? comment 8310 8311 * g-trasym-vms-ia64.adb: Add ??? comment 8312 8313 * xoscons.adb: Minor reformatting 8314 8315 * s-tassta.adb: Minor reformatting 8316 8317 * s-scaval.adb: Add ??? comment 8318 8319 * stand.ads: Minor code clean up (remove junk with of Namet) 8320 8321 * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb, 8322 s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads, 8323 s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb, 8324 s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads, 8325 s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb, 8326 s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads, 8327 s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb, 8328 s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed 8329 Warnings off pragmas. 8330 83312009-04-17 Pascal Obry <obry@adacore.com> 8332 8333 * initialize.c: Fix test for reallocating the arguments array. 8334 83352009-04-17 Geert Bosch <bosch@adacore.com> 8336 8337 * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed 8338 conversion truncate only for decimal fixed point types. 8339 83402009-04-17 Jerome Lambourg <lambourg@adacore.com> 8341 8342 * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are 8343 reinitialized. 8344 83452009-04-17 Robert Dewar <dewar@adacore.com> 8346 8347 * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and 8348 Backwards_OK if either operand has an address clause. 8349 83502009-04-17 Pascal Obry <obry@adacore.com> 8351 8352 * initialize.c: Code clean up, use realloc. 8353 83542009-04-17 Pascal Obry <obry@adacore.com> 8355 8356 * initialize.c: Do not get Unicode command line if Unicode support not 8357 activated. 8358 Add support for wildcard expansion for Unicode parameters on Win32. 8359 8360 * mingw32.h: Add missing macros when Unicode support not activated. 8361 83622009-04-17 Javier Miranda <miranda@adacore.com> 8363 8364 * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to 8365 avoid generating code that references the Current_Master 8366 when compiling without tasks. 8367 83682009-04-17 Vincent Celier <celier@adacore.com> 8369 8370 * prj-attr.adb: New project level attribute Target 8371 8372 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process 8373 attribute Target 8374 8375 * prj.ads (Project_Configuration): New component Target 8376 83772009-04-17 Thomas Quinot <quinot@adacore.com> 8378 8379 * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special 8380 case for the case of an aggregate component, the attach call for the 8381 result is actually needed. 8382 8383 * exp_aggr.adb (Backend_Processing_Possible): Backend processing for 8384 an array aggregate must be disabled if the component type requires 8385 controlled actions. 8386 8387 * exp_ch3.adb: Minor reformatting 8388 83892009-04-17 Bob Duff <duff@adacore.com> 8390 8391 * output.ads (Indent,Outdent): New procedures for indenting the output. 8392 (Write_Char): Correct comment -- LF _is_ allowed. 8393 8394 * output.adb (Indent,Outdent): New procedures for indenting the output. 8395 Keep track of the indentation level, and make sure it doesn't get too 8396 high. 8397 (Flush_Buffer): Insert spaces at the beginning of each line, if 8398 indentation level is nonzero. 8399 (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current 8400 indentation level. 8401 (Set_Standard_Error,Set_Standard_Output): Remove superfluous 8402 "Next_Col := 1;". Flush_Buffer does that. 8403 8404 * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output 8405 controlled by the -gnatdc switch. It now occurs on entry/exit to the 8406 relevant analysis routines, and calls Indent/Outdent to make the 8407 indentation reflect the nesting level. Add "helper" routines, since 8408 otherwise lots of "return;" statements would skip the debugging output. 8409 84102009-04-17 Arnaud Charlet <charlet@adacore.com> 8411 8412 * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb, 8413 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, 8414 s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup. 8415 84162009-04-17 Thomas Quinot <quinot@adacore.com> 8417 8418 * exp_aggr.adb: Minor code reorganization, no behaviour change. 8419 84202009-04-17 Ed Schonberg <schonberg@adacore.com> 8421 8422 * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type 8423 clause in a unit that is a package body or a subunit, when the previous 8424 clause appears in a spec or a parent. 8425 84262009-04-17 Thomas Quinot <quinot@adacore.com> 8427 8428 * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting 8429 8430 * exp_ch7.adb: Minor reformatting 8431 84322009-04-17 Bob Duff <duff@adacore.com> 8433 8434 * exp_ch4.adb (Expand_Allocator_Expression): In an initialized 8435 allocator, check that the expression of the qualified expression obeys 8436 the constraints of the subtype of the qualified expression. 8437 84382009-04-17 Thomas Quinot <quinot@adacore.com> 8439 8440 * sprint.adb (Write_Itype): Add handling of enumeration subtypes. 8441 84422009-04-17 Ed Schonberg <schonberg@adacore.com> 8443 8444 * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to 8445 aggregate, using context imposed by subtype mark in allocator. 8446 84472009-04-17 Pascal Obry <obry@adacore.com> 8448 8449 * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable 8450 84512009-04-17 Nicolas Roche <roche@adacore.com> 8452 8453 * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each 8454 argument length. 8455 84562009-04-17 Gary Dismukes <dismukes@adacore.com> 8457 8458 * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to 8459 cover both calls and attribute references ("call" => "reference"). 8460 84612009-04-17 Ed Schonberg <schonberg@adacore.com> 8462 8463 * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access 8464 type for which Storage_Size is set to 0 is legal in a pure unit. 8465 84662009-04-17 Thomas Quinot <quinot@adacore.com> 8467 8468 * exp_ch7.adb: Minor reformatting 8469 84702009-04-17 Robert Dewar <dewar@adacore.com> 8471 8472 * restrict.adb (Check_Restriction_No_Dependence): Don't check 8473 restriction if outside main extended source unit. 8474 8475 * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction 8476 for parents of child units as well as the child unit itself. 8477 84782009-04-17 Bob Duff <duff@adacore.com> 8479 8480 * checks.ads: Minor comment fix 8481 8482 * exp_aggr.ads: Minor comment fix 8483 84842009-04-17 Nicolas Roche <roche@adacore.com> 8485 8486 * adaint.c: Improve cross compiler detection and handling. 8487 84882009-04-17 Eric Botcazou <ebotcazou@adacore.com> 8489 8490 * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os. 8491 84922009-04-17 Pascal Obry <obry@adacore.com> 8493 8494 * mingw32.h: Add S2WSC and WS2SC macros to convert to/from 8495 CurrentCodePage. 8496 8497 * adaint.h: Encoding_Unspecified is now defined. Corresponds to the 8498 value when no encoding form paramter is set on Text_IO services. 8499 8500 * adaint.c: CurrentCodePage new variable on Windows. 8501 Use new macros S2WSC and WS2SC instead of the UTF-8 oriented 8502 ones. 8503 8504 * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented 8505 ones. 8506 8507 * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE 8508 environment variable value. Default is UTF-8. 8509 8510 * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type. 8511 fopen and freopen encoding parameter is now set to Unspecified. 8512 The default value is in this case UTF-8 (as it was before) but 8513 use the new macros that convert to/from the code page set 8514 at runtime (CurrentCodePage). 8515 8516 * s-fileio.adb: When no encoding specified use Unspecified value. 8517 85182009-04-17 Ed Schonberg <schonberg@adacore.com> 8519 8520 * atree.adb, atree.ads: Remove dead code. 8521 85222009-04-17 Arnaud Charlet <charlet@adacore.com> 8523 8524 * gcc-interface/Make-lang.in: Update dependencies. 8525 85262009-04-17 Ed Schonberg <schonberg@adacore.com> 8527 8528 * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on 8529 illegal uses of incomplete types in formal parts and return types. 8530 8531 * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in 8532 access to subprograms. 8533 8534 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use 8535 Taft-amendment types as the return type of an access_to_function type. 8536 8537 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete 8538 type for access_to_subprograms. The check is performed on package exit. 8539 85402009-04-17 Ed Schonberg <schonberg@adacore.com> 8541 8542 * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util. 8543 8544 * nlists.ads, nlists.adb: Move New_Copy_List to sem_util. 8545 8546 * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree 8547 8548 * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in 8549 semantic units, because the handling of itypes in the copied tree 8550 requires semantic information that does not belong in atree. 8551 85522009-04-17 Robert Dewar <dewar@adacore.com> 8553 8554 * par-ch6.adb: Minor reformatting 8555 8556 * prj.adb: Minor reformatting 8557 85582009-04-17 Gary Dismukes <dismukes@adacore.com> 8559 8560 * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed 8561 on protected subprogram bodies, so exclude the case where Pf_Flags is 8562 Pf_Decl_Pbod from the error check. 8563 8564 * par-ch9.adb (P_Protected_Operation_Items): Permit overriding 8565 indicators on subprograms in protected bodies, and proceed with parsing 8566 the subprogram. 8567 8568 * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected 8569 subprograms from the check for primitiveness on subprograms with 8570 overriding indicators. 8571 (Check_Overriding_Indicator): Include protected subprograms in the 8572 style check for missing overriding indicators. 8573 85742009-04-17 Tristan Gingold <gingold@adacore.com> 8575 8576 * init.c: Fix stack checking for x86 Darwin. 8577 85782009-04-17 Vincent Celier <celier@adacore.com> 8579 8580 * prj-attr.adb: New project level attribute Object_File_Suffix 8581 (<language>). 8582 8583 * prj-nmsc.adb (Add_Source): Use the object file suffix to get the 8584 object file name 8585 (Process_Compiler): Process attribute Object_File_Suffix 8586 8587 * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of 8588 platform suffix, when specified. 8589 8590 * prj.ads (Language_Config): New component Object_File_Suffix, 8591 defaulted to No_Name. 8592 (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name 8593 8594 * snames.ads-tmpl: New standard name Object_File_Suffix 8595 85962009-04-17 Robert Dewar <dewar@adacore.com> 8597 8598 * gnat_rm.texi: Add documentation about No_Streams restriction 8599 8600 * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream 8601 attributes when checking No_Streams restriction. 8602 86032009-04-17 Thomas Quinot <quinot@adacore.com> 8604 8605 * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity. 8606 8607 * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add 8608 missing calls to RE_Request_Destroy to deallocate request objects after 8609 use. 8610 86112009-04-17 Nicolas Setton <setton@adacore.com> 8612 8613 * link.c: Fix support for passing a response file under Darwin. 8614 86152009-04-17 Emmanuel Briot <briot@adacore.com> 8616 8617 * prj.adb (Free): new subprogram. 8618 86192009-04-17 Ed Schonberg <schonberg@adacore.com> 8620 8621 * sem_ch3.adb: additional initialization on incomplete subtypes. 8622 8623 * sem_ch6.adb (Process_Formals): if the subprogram is in the private 8624 part and one of the formals is an incomplete tagged type, attach to 8625 list of private dependends of the type for later validation. 8626 8627 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare 8628 primitive operations of a Taft-amendmment type. 8629 8630 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete 8631 type. The check is performed on package exit, possibly after the 8632 subprogram is frozen. 8633 86342009-04-17 Vincent Celier <celier@adacore.com> 8635 8636 * prj-nmsc.adb (Get_Directories): Get the object and exec directory 8637 before looking for source directories, but make sure that there are nil 8638 if they are not explicitely declared and there is explicitely no 8639 sources in the project. 8640 86412009-04-17 Pascal Obry <obry@adacore.com> 8642 8643 * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows. 8644 8645 * init.c: Fix minor typo and style fix. 8646 86472009-04-17 Robert Dewar <dewar@adacore.com> 8648 8649 * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic 8650 8651 * sem_attr.adb (Analyze_Attribute, case Address): Use 8652 PE_Address_Of_Intrinsic. 8653 8654 * types.ads: Add PE_Address_Of_Intrinsic 8655 8656 * types.h: Add PE_Address_Of_Intrinsic 8657 86582009-04-17 Nicolas Setton <setton@adacore.com> 8659 8660 * gcc-interface/Makefile.in: Under darwin, build shared libraries 8661 with install_name starting with "@rpath/". 8662 86632009-04-17 Nicolas Setton <setton@adacore.com> 8664 8665 * link.c: Add darwin section 8666 86672009-04-16 Robert Dewar <dewar@adacore.com> 8668 8669 * g-pehage.adb: Minor reformatting 8670 8671 * sem_ch12.adb: Minor reformatting 8672 8673 * exp_dist.adb: Minor reformatting 8674 8675 * bindgen.adb: Minor style fixes. 8676 86772009-04-16 Ed Schonberg <schonberg@adacore.com> 8678 8679 * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of 8680 indexed components to the case where the prefix is a static string 8681 literal. 8682 86832009-04-16 Javier Miranda <miranda@adacore.com> 8684 8685 * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place 8686 objects avoid any further expansion of the expression initializing the 8687 object. 8688 86892009-04-16 Ed Schonberg <schonberg@adacore.com> 8690 8691 * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit 8692 that hides an outer homograph, make that homograph invisible when 8693 analyzing the actuals, to to prevent illegal direct visibility on it. 8694 86952009-04-16 Eric Botcazou <ebotcazou@adacore.com> 8696 8697 * g-pehage.adb (Initialize): Fix off-by-one error. 8698 86992009-04-16 Tristan Gingold <gingold@adacore.com> 8700 8701 * init.c: Detect real stack overflow on Darwin. 8702 8703 * system-darwin-x86.ads: Use stack probing on darwin x86. 8704 87052009-04-16 Ed Schonberg <schonberg@adacore.com> 8706 8707 * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to 8708 take the address of an intrinsic subprogram. 8709 87102009-04-16 Arnaud Charlet <charlet@adacore.com> 8711 8712 * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented 8713 for the targets where GNAT.Traceback.Symbolic is not supported. 8714 87152009-04-16 Vincent Celier <celier@adacore.com> 8716 8717 * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file. 8718 8719 * g-trasym.ads: Update comments. 8720 87212009-04-16 Vasiliy Fofanov <fofanov@adacore.com> 8722 8723 * tracebak.c (STOP_FRAME): Verify validity of the current address 8724 before dereferencing. 8725 87262009-04-16 Ed Schonberg <schonberg@adacore.com> 8727 8728 * sprint.adb (Write_Itype): If the itype is an array subtype, preserve 8729 the original location of the index expressions and the index subtypes, 8730 to prevent spurious out-of-scope references in gigi. 8731 87322009-04-16 Tristan Gingold <gingold@adacore.com> 8733 8734 * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads: 8735 Add support for stack checking on darwin. 8736 87372009-04-16 Vincent Celier <celier@adacore.com> 8738 8739 * prj-attr.adb: New attribute Runtime_Source_Dir 8740 8741 * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process 8742 attribute Runtime_Source_Dir. 8743 (Check_Naming_Schemes): Give default values to out parameters to avoid 8744 invalid data. 8745 8746 * prj.ads (Language_Config): New component Runtime_Source_Dir 8747 8748 * snames.ads-tmpl: New standard name Runtime_Source_Dir 8749 87502009-04-16 Pascal Obry <obry@adacore.com> 8751 8752 * adaint.h, adaint.c (__gnat_rmdir): New routine. 8753 Simple wrapper routines used to convert to proper encoding on 8754 Windows. 8755 8756 * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library. 8757 8758 * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed 8759 twice. 8760 87612009-04-16 Pascal Obry <obry@adacore.com> 8762 8763 * s-crtl.ads, s-os_lib.adb: Minor code clean-up. 8764 87652009-04-16 Thomas Quinot <quinot@adacore.com> 8766 8767 * snames.ads-tmpl (Name_Defined): New predefined name for use by the 8768 integrated preprocessor. 8769 8770 * prep.ads, prep.adb (Setup_Hooks): New subprogram. 8771 (Initialize): Split into two subprograms, Initialize (to be called 8772 prior to compiler command line processing) and Setup_Hooks (to be called 8773 later on when the first source file is loaded). 8774 8775 * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks. 8776 Add call to Prep.Initialize. 8777 8778 * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call 8779 to Prep.Setup_Hooks. 8780 87812009-04-16 Pascal Obry <obry@adacore.com> 8782 8783 * adaint.h, adaint.c (__gnat_chdir): New routine. 8784 Simple wrapper routines used to convert to proper encoding on 8785 Windows. 8786 8787 * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library. 8788 8789 * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL. 8790 87912009-04-16 Quentin Ochem <ochem@adacore.com> 8792 8793 * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead 8794 of Source.Init. 8795 87962009-04-16 Eric Botcazou <ebotcazou@adacore.com> 8797 8798 * a-convec.ads (Is_Empty): Mark inline. 8799 88002009-04-16 Nicolas Roche <roche@adacore.com> 8801 8802 * init.c (__gnat_init_float): Initialize FPU on x86_64 windows 8803 88042009-04-16 Thomas Quinot <quinot@adacore.com> 8805 8806 * prepcomp.adb: Minor reformatting 8807 88082009-04-16 Jerome Lambourg <lambourg@adacore.com> 8809 8810 * sem_prag.adb (Process_Import_Or_Interface): With .NET, 8811 Access_Subprogram types can also be imported. 8812 (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL 8813 names. 8814 88152009-04-16 Ed Schonberg <schonberg@adacore.com> 8816 8817 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): 8818 preserve homonym chain when the declaration is rewritten into a 8819 renaming declaration, in order to preserve visibility structure. 8820 88212009-04-16 Jerome Lambourg <lambourg@adacore.com> 8822 8823 * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not 8824 taken into account for VM targets. 8825 88262009-04-16 Hristian Kirtchev <kirtchev@adacore.com> 8827 8828 * g-calend.ads, g-calend.adb (Week_In_Year): Now calls 8829 Year_Week_In_Year. 8830 (Year_Week_In_Year): New routine which contains the original code from 8831 Week_In_Year. Add the missing special case for January 1st falling on 8832 a Monday. 8833 88342009-04-16 Thomas Quinot <quinot@adacore.com> 8835 8836 * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic 8837 actual type, use the base type to build the To_Any function. 8838 (Build_From_Any_Function): Remove junk, useless subtype conversion. 8839 88402009-04-16 Thomas Quinot <quinot@adacore.com> 8841 8842 * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb, 8843 restrict.adb: Minor code reorganization (use 8844 Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand). 8845 88462009-04-16 Bob Duff <duff@adacore.com> 8847 8848 * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove, 8849 unused. 8850 88512009-04-16 Thomas Quinot <quinot@adacore.com> 8852 8853 * sem_ch4.adb: Minor reformatting 8854 8855 * adaint.c: Remove junk duplicated code. 8856 8857 * sem_ch3.adb: Minor reformatting 8858 8859 * exp_dist.adb: Minor comment rewording 8860 88612009-04-16 Robert Dewar <dewar@adacore.com> 8862 8863 * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa 8864 used together. 8865 88662009-04-16 Ed Schonberg <schonberg@adacore.com> 8867 8868 * sem_ch4.adb (Find_Equality_Types): Filter out types that are not 8869 usable before calling Add_One_Interp, to resolve spurious ambiguities. 8870 88712009-04-16 Robert Dewar <dewar@adacore.com> 8872 8873 * Make-lang.in: Add entries for s-conca?.o 8874 8875 * Makefile.rtl: Add entries for s-conca? 8876 8877 * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior 8878 of concatenation expansion 8879 8880 * exp_ch4.adb (Expand_Concatenation): Generate calls for certain 8881 string cases instead of expanding assignments inline. 8882 8883 * opt.ads (Optimize_Size): New flag 8884 8885 * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads, 8886 s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb, 8887 s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads, 8888 s-conca9.adb, s-conca9.ads: New file. 8889 88902009-04-16 Robert Dewar <dewar@adacore.com> 8891 8892 * exp_ch6.adb: Add comments 8893 8894 * rtsfind.ads: Add entries for s-conca? routines 8895 88962009-04-16 Arnaud Charlet <charlet@adacore.com> 8897 8898 * gcc-interface/Make-lang.in: Update dependencies. 8899 8900 * gcc-interface/Makefile.in: Update translation for vms. 8901 89022009-04-16 Ed Schonberg <schonberg@adacore.com> 8903 8904 * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities 8905 and made global, to be used when installing parents of a child 8906 instance, to provide mappings for entities declared in formal packages 8907 of ancestor units. Now called from Install_Formal_Packages. 8908 89092009-04-16 Doug Rupp <rupp@adacore.com> 8910 8911 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others 8912 notation for clarity. 8913 8914 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb, 8915 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, 8916 s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb 8917 (Initialize): Initialize Known_Tasks with Environment task. 8918 8919 * s-taskin.ads (Task_States): Move new states to end for the sake of 8920 GDB compatibility. 8921 8922 * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task. 8923 89242009-04-16 Ed Schonberg <schonberg@adacore.com> 8925 8926 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected 8927 operation has an inline pragma, propagate the flag to the internal 8928 unprotected subprogram. 8929 89302009-04-16 Doug Rupp <rupp@adacore.com> 8931 8932 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb, 8933 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 8934 s-taprop-hpux-dce.adb, s-taprop-posix.adb 8935 (Enter_Task): Move Known_Tasks initialization to s-tassta.adb 8936 8937 * s-taprop-vms.adb (Enter_Task): Likewise. 8938 (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback. 8939 8940 * s-tassta.adb (Activate_Tasks): After task creation set state to 8941 Activating, vice Runnable. Initialize Known_Tasks, moved here from 8942 s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger. 8943 Set state to Runnable after above. 8944 (Task_Wrapper): Set Debug_Event_Run. In exception block set 8945 Debug_Event_Terminated. 8946 8947 * s-taskin.ads (Task_States): Add new states Activiting and 8948 Activator_Delay_Sleep. 8949 (Bit_Array, Debug_Event_Array): New types. 8950 (Global_Task_Debug_Event_Set: New flag. 8951 (Common_ATCB): New field Debug_Events. 8952 8953 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events. 8954 8955 * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice 8956 Activator_Sleep. 8957 8958 * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when 8959 Activating and when Acceptor_Delay_Sleep. 8960 8961 * s-tasdeb.ads: Add constants for Debug_Events. 8962 (Debug_Event_Kind_Type): New subtype. 8963 (Signal_Debug_Event): New subprogram. 8964 8965 * s-tasdeb.adb (Signal_Debug_Event): New null subprogram. 8966 89672009-04-16 Thomas Quinot <quinot@adacore.com> 8968 8969 * sem_elim.adb: Minor reformatting 8970 8971 * freeze.adb: Minor reformatting 8972 8973 * exp_ch4.adb: Minor reformatting 8974 89752009-04-16 Emmanuel Briot <briot@adacore.com> 8976 8977 * prj-nmsc.adb (Path_Name_Of): fix memory leak 8978 89792009-04-16 Robert Dewar <dewar@adacore.com> 8980 8981 * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation 8982 89832009-04-16 Vincent Celier <celier@adacore.com> 8984 8985 * fmap.adb (Initialize): Show the current line when the mapping file 8986 is detected as "incorrectly formatted". 8987 89882009-04-16 Robert Dewar <dewar@adacore.com> 8989 8990 * sem_ch12.adb: Minor reformatting 8991 8992 * sem_ch5.adb: Minor comment addition 8993 8994 * sem_util.adb: Minor reformatting 8995 8996 * sinput-p.adb: Minor reformatting 8997 Add missing pragma Warnings (On) 8998 89992009-04-16 Ed Falis <falis@adacore.com> 9000 9001 * s-vxwext-kernel.adb: (ERROR): deleted unused constant 9002 90032009-04-16 Vincent Celier <celier@adacore.com> 9004 9005 * ali-util.adb: Minor comment spelling error fix 9006 90072009-04-16 Eric Botcazou <ebotcazou@adacore.com> 9008 9009 * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not 9010 generate an assignment loop in case of overlap. 9011 90122009-04-16 Olivier Hainque <hainque@adacore.com> 9013 9014 * gnat_ugn.texi (gnatmem description): Make it explicit that 9015 gnatmem is designed to work in association with static runtime 9016 library only. 9017 90182009-04-16 Thomas Quinot <quinot@adacore.com> 9019 9020 * sem_type.adb: Minor reformatting 9021 90222009-04-16 Hristian Kirtchev <kirtchev@adacore.com> 9023 9024 * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment 9025 concerning return codes of gettimeofday and return value check. 9026 90272009-04-16 Ed Falis <falis@adacore.com> 9028 9029 * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so 9030 body can be renaming of imported routines. 9031 90322009-04-16 Vasiliy Fofanov <fofanov@adacore.com> 9033 9034 * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more 9035 targeted fashion. 9036 90372009-04-15 Hristian Kirtchev <kirtchev@adacore.com> 9038 9039 * exp_ch9.adb: Comment improvements. 9040 (Build_Entry_Family_Name): Add parentheses around the index of a entry 9041 family member. 9042 90432009-04-15 Bob Duff <duff@adacore.com> 9044 9045 * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like 9046 "while X /= null loop" where X is unchanged inside the loop. We were 9047 not warning in this case, because of the pointers -- we feared that the 9048 loop variable could be updated via a pointer, if there are any pointers 9049 around the place. But that is impossible in this case. 9050 9051 * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in 9052 the case of dereferences. In X.all, X cannot be an l-value. We now 9053 catch that case (and implicit dereferences, too). 9054 90552009-04-15 Vincent Celier <celier@adacore.com> 9056 9057 * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure 9058 90592009-04-15 Ed Schonberg <schonberg@adacore.com> 9060 9061 * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive. 9062 From code reading. 9063 (Analyze_Package_Instantiation): If generic unit in child instance is 9064 the same as generic unit in parent instance, look for an outer homonym 9065 to locate the desired generic. 9066 90672009-04-15 Bob Duff <duff@adacore.com> 9068 9069 * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop 9070 warnings unless the loop comes from source, because checking generated 9071 loops is a waste of time, and makes it harder to debug 9072 Check_Infinite_Loop_Warning. 9073 9074 * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable 9075 tested in the while loop is a renaming, do not warn. Otherwise, we get 9076 false alarms, because it's usually renaming something that we can't 9077 deal with (an indexed component, a global variable, ...). 9078 9079 * gnat_rm.texi: Fix typo 9080 90812009-04-15 Thomas Quinot <quinot@adacore.com> 9082 9083 * sem_ch6.adb: Minor reformatting 9084 90852009-04-15 Hristian Kirtchev <kirtchev@adacore.com> 9086 9087 * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the 9088 immediate parent of the controlled function call is a component 9089 association. 9090 90912009-04-15 Ed Schonberg <schonberg@adacore.com> 9092 9093 * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the 9094 corresponding class-wide type is also in use. 9095 90962009-04-15 Thomas Quinot <quinot@adacore.com> 9097 9098 * frontend.adb: Minor comment fix 9099 91002009-04-15 Robert Dewar <dewar@adacore.com> 9101 9102 * gnatchop.adb (BOM_Length): New global variable 9103 (Write_Unit): Add new parameter Write_BOM 9104 (Write_Chopped_Files): Check for BOM and set Write_BOM for call 9105 to Write_Unit 9106 9107 * gnat_ugn.texi: Add note on propagation of BOM by gnatchop 9108 91092009-04-15 Geert Bosch <bosch@adacore.com> 9110 9111 * system-mingw-x86_64.ads, system-darwin-x86_64.ads 9112 (Backend_Overflow_Checks): Set to True. 9113 91142009-04-15 Gary Dismukes <dismukes@adacore.com> 9115 9116 * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized 9117 keyword is given in a record extension. 9118 91192009-04-15 Hristian Kirtchev <kirtchev@adacore.com> 9120 9121 * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion 9122 of a controlled function call in the context of a record aggregate. 9123 This does not apply to array aggregates since the call will be expanded 9124 into assignments. 9125 91262009-04-15 Ed Falis <falis@adacore.com> 9127 9128 * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb, 9129 s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb, 9130 s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize 9131 s-osinte-vxworks* and s-vxwext*. 9132 91332009-04-15 Arnaud Charlet <charlet@adacore.com> 9134 9135 * gcc-interface/Make-lang.in: Update dependencies. 9136 9137 * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks* 9138 and s-vxwext*. 9139 91402009-04-15 Robert Dewar <dewar@adacore.com> 9141 9142 * sem_ch13.adb (Unchecked_Conversions): Store source location instead 9143 of node for location for warning messages. 9144 9145 * gnatchop.adb: Minor reformatting 9146 91472009-04-15 Ed Schonberg <schonberg@adacore.com> 9148 9149 * exp_ch6.adb: additional guard for renaming declarations for in 9150 parameters of an array type. 9151 91522009-04-15 Robert Dewar <dewar@adacore.com> 9153 9154 * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds 9155 in case they were rewritten by expander (Force_Evaluation). 9156 9157 * targparm.adb (Get_Target_Parameters): Correct check for 9158 Suppress_Exception_Locations. 9159 91602009-04-15 Ed Schonberg <schonberg@adacore.com> 9161 9162 * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be 9163 inlined is of an array type that is not bit-packed, use a renaming 9164 declaration to capture its value, rather than a constant declaration. 9165 91662009-04-15 Robert Dewar <dewar@adacore.com> 9167 9168 * rtsfind.adb: Minor reformatting. 9169 91702009-04-15 Emmanuel Briot <briot@adacore.com> 9171 9172 * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames 9173 Restore, and free the saved context. 9174 91752009-04-15 Gary Dismukes <dismukes@adacore.com> 9176 9177 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check 9178 for illegal private extension from a synchronized interface parent in 9179 front of check for illegal limited extension so that limited extension 9180 from a synchronized interface will be rejected. 9181 (Check_Ifaces): Check that a private extension that has a synchronized 9182 interface as a progenitor must be explicitly declared synchronized. 9183 Also check that a record extension cannot derive from a synchronized 9184 interface. 9185 91862009-04-15 Pascal Obry <obry@adacore.com> 9187 9188 * adaint.h (__gnat_unlink): Add spec. 9189 (__gnat_rename): Likewise. 9190 91912009-04-15 Vincent Celier <celier@adacore.com> 9192 9193 * prj-nmsc.adb: Minor spelling error corrections in error messages 9194 91952009-04-15 Robert Dewar <dewar@adacore.com> 9196 9197 * sinfo.ads: Minor comment update 9198 9199 * opt.ads: Minor comment updates 9200 9201 * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for 9202 modular type. 9203 92042009-04-15 Ed Schonberg <schonberg@adacore.com> 9205 9206 * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function 9207 that generates the code needed to update a dispatch table when a 9208 primitive operation is declared with a subprogram body without previous 9209 spec. Insertion of the generated code is responsibility of the caller. 9210 (Make_DT): When building static tables, append the code created by 9211 Register_Primitive to update a secondary table after it has been 9212 constructed. 9213 9214 * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive. 9215 9216 * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive 9217 on an overriding operation that implements an interface operation only 9218 if not building static dispatch tables. 9219 92202009-04-15 Hristian Kirtchev <kirtchev@adacore.com> 9221 9222 * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which 9223 does not cause overflow when converted to Duration. Use the safe value 9224 as the maximum allowable time delay.. 9225 92262009-04-15 Jerome Lambourg <lambourg@adacore.com> 9227 9228 * g-comlin.adb (Set_Command_Line): When adding a switch with attached 9229 parameter, specify that the delimiter is NUL, otherwise "-j2" will be 9230 translated to "-j 2". 9231 92322009-04-15 Bob Duff <duff@adacore.com> 9233 9234 * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit 9235 with_clauses, to avoid code duplication. Change this processing so we 9236 always add a with_clause on the main unit if needed. 9237 92382009-04-15 Pascal Obry <obry@adacore.com> 9239 9240 Add support for Win32 native encoding for delete/rename routines. 9241 9242 * adaint.c (__gnat_unlink): New routine. 9243 (__gnat_rename): New routine. 9244 Simple wrapper routines used to convert to proper encoding on 9245 Windows. 9246 9247 * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct 9248 call to the C library. 9249 9250 * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding. 9251 92522009-04-15 Robert Dewar <dewar@adacore.com> 9253 9254 * s-tassta.adb: Minor reformatting 9255 92562009-04-15 Robert Dewar <dewar@adacore.com> 9257 9258 * frontend.adb (Frontend): Set proper default for 9259 Warn_On_Non_Local_Exception. 9260 9261 * opt.ads (Exception_Handler_Encountered): New flag 9262 (No_Warn_On_Non_Local_Exception): New flag 9263 9264 * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered 9265 9266 * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception 9267 (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception 9268 92692009-04-15 Cyrille Comar <comar@adacore.com> 9270 9271 * s-tassta.adb, a-exextr.adb, a-elchha.adb 9272 (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception 9273 message when exception traces are active since it would generate 9274 redundant information. 9275 (Exception_Traces.Notify_Exception): put message output by a critical 9276 section to avoid unsynchronized output. 9277 (Trace_Unhandled_Exception_In_Task): put message output by a critical 9278 section to avoid unsynchronized output. 9279 92802009-04-15 Emmanuel Briot <briot@adacore.com> 9281 9282 * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads 9283 (Free): New subprogram. 9284 92852009-04-15 Hristian Kirtchev <kirtchev@adacore.com> 9286 9287 * a-calend.adb: Add new constant Nanos_In_Four_Years. 9288 (Formatting_Operations.Time_Of): Change the way four year chunks of 9289 nanoseconds are added to the intermediate result. 9290 92912009-04-15 Nicolas Setton <setton@adacore.com> 9292 9293 * sysdep.c: Add __APPLE__ in the list of systems where get_immediate 9294 does not need to wait for a carriage return. 9295 92962009-04-15 Tristan Gingold <gingold@adacore.com> 9297 9298 * bindgen.adb: Do not generate adafinal if No_Finalization restriction 9299 is set. 9300 93012009-04-15 Ed Schonberg <schonberg@adacore.com> 9302 9303 * freeze.adb (Freeze_Entity): improve error message for improper use of 9304 incomplete types. 9305 Diagnose additional illegal uses of incomplete types in formal parts. 9306 appearing in formal parts. 9307 9308 * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto. 9309 93102009-04-15 Robert Dewar <dewar@adacore.com> 9311 9312 * exp_ch4.adb (Expand_N_Allocator): Install test for object too large. 9313 93142009-04-15 Nicolas Roche <roche@adacore.com> 9315 9316 * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the 9317 current thread. 9318 9319 * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self 9320 9321 * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB 9322 93232009-04-15 Ed Schonberg <schonberg@adacore.com> 9324 9325 * sem_ch4.adb: improve error message on exponentiation. 9326 93272009-04-15 Hristian Kirtchev <kirtchev@adacore.com> 9328 9329 * a-calend.adb: Move constant Epoch_Offset from package 9330 Conversion_Operations to top level. 9331 (Delay_Operations.To_Duration): Define a constant which represents 9332 "end of time" and use it as a guard against very distant delay dates. 9333 Protect the code against overflow when performing the origin shift to 9334 Unix time. 9335 93362009-04-15 Robert Dewar <dewar@adacore.com> 9337 9338 * sem_prag.adb: Minor reformatting. 9339 9340 * sem_type.adb: Minor reformatting 9341 93422009-04-15 Javier Miranda <miranda@adacore.com> 9343 9344 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing 9345 support to check eliminated subprograms. 9346 9347 * sem_elim.ads (Eliminate_Error_Msg): Update documentation. 9348 9349 * sem_elim.adb (Set_Eliminated): Add support for elimination of 9350 dispatching subprograms. 9351 9352 * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive 9353 operations. Initialize with "null" the slots of eliminated dispaching 9354 primitives. 9355 (Write_DT): Add output for eliminated primitives. 9356 9357 * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives. 9358 93592009-04-15 Ed Schonberg <schonberg@adacore.com> 9360 9361 * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit, 9362 the second is redundant, regardless of scopes. 9363 93642009-04-15 Vincent Celier <celier@adacore.com> 9365 9366 * prj-nmsc.adb (Get_Directories): Check for sources before checking 9367 the object directory as when there are no sources, they may not be any 9368 object directory. 9369 9370 * make.adb (Gnatmake): Do not attempt to get the path name of the exec 9371 directory, when there are no exec directory. 9372 93732009-04-15 Ed Schonberg <schonberg@adacore.com> 9374 9375 * sem_type.adb (Remove_Conversions): In order to resolve spurious 9376 ambiguities, refine removal of universal interpretations from complex 9377 expressions with literal arguments, when some numeric operators have 9378 been declared abstract. 9379 93802009-04-15 Ed Falis <falis@adacore.com> 9381 9382 * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity 9383 and backward compatibility for targets using probing for stack overflow 9384 93852009-04-15 Ed Schonberg <schonberg@adacore.com> 9386 9387 * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal 9388 after any declaration, including renaming declarations. 9389 93902009-04-15 Arnaud Charlet <charlet@adacore.com> 9391 9392 * gcc-interface/Make-lang.in: Update dependencies. 9393 9394 * gcc-interface/Makefile.in: Fix VxWorks target pairs. 9395 Update xenomai target pairs. 9396 93972009-04-15 Javier Miranda <miranda@adacore.com> 9398 9399 * exp_ch4.adb (Expand_N_Allocator): Code cleanup. 9400 9401 * sem_ch6.adb (Check_Anonymous_Return): Add missing support for 9402 functions returning anonymous access to class-wide limited types. Mark 9403 also the containing scope as a task master. 9404 9405 * sem_ch8.adb (Restore_Scope_Stack): Add missing management for 9406 limited-withed packages. Required to restore their visibility after 9407 processing packages associated with implicit with-clauses. 9408 9409 * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters 9410 associated with return statements because this work is now done by 9411 Check_Anonymous_Return. 9412 (Build_Master): Code cleanup. 9413 94142009-04-15 Thomas Quinot <quinot@adacore.com> 9415 9416 * sem_warn.ads: Minor reformatting 9417 94182009-04-15 Ed Schonberg <schonberg@adacore.com> 9419 9420 * sem_ch3.adb: better error message for illegal interfaces 9421 9422 * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a 9423 formal is an incomplete type from a limited_with clause. 9424 94252009-04-15 Vincent Celier <celier@adacore.com> 9426 9427 * prj-nmsc.adb (Locate_Directory): New Boolean parameter 9428 Externally_Built indicating if the project is externally built. If it 9429 is, and --subdirs is specified, but the subdir does not exist, look 9430 for the specified directory, without the subdir. 9431 94322009-04-15 Gary Dismukes <dismukes@adacore.com> 9433 9434 * a-tasatt.adb: Fix typo, plus minor reformatting 9435 9436 * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide"). 9437 9438 * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible"). 9439 94402009-04-15 Ed Schonberg <schonberg@adacore.com> 9441 9442 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a 9443 private extension whose parent is a synchronized interface carries an 9444 explicit synchronized keyword. 9445 94462009-04-15 Thomas Quinot <quinot@adacore.com> 9447 9448 * exp_smem.adb (Make_Shared_Var_Procs): For a protected type, 9449 instantiate generic shared object package with the corresponding 9450 record type. 9451 94522009-04-15 Arnaud Charlet <charlet@adacore.com> 9453 9454 * system-linux-sparc.ads: Remove obsolete entries. 9455 94562009-04-15 Thomas Quinot <quinot@adacore.com> 9457 9458 * s-tasuti.ads: Add ??? comment 9459 94602009-04-15 Ed Schonberg <schonberg@adacore.com> 9461 9462 * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access 9463 type even if the designated type comes from a limited_with clause, to 9464 ensure that the symbol for the finalization list of the access type is 9465 created. 9466 94672009-04-10 Robert Dewar <dewar@adacore.com> 9468 9469 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases 9470 for warning suppression. 9471 94722009-04-10 Ed Schonberg <schonberg@adacore.com> 9473 9474 * sem_ch8.adb (Use_One_Type): If the two use_type clauses are 9475 identical, there is no redudancy to check. 9476 94772009-04-10 Gary Dismukes <dismukes@adacore.com> 9478 9479 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant 9480 calls initializing SS_Allocator (which is initialized in following 9481 code). 9482 (Expand_Simple_Function_Return): Add comment about False value for 9483 Comes_From_Source on secondary-stack allocator. 9484 9485 * exp_ch9.adb (Build_Entry_Family_Name): Add comment. 9486 (Build_Entry_Name): Add comment. 9487 94882009-04-10 Robert Dewar <dewar@adacore.com> 9489 9490 * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known 9491 9492 * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower 9493 bound tested, since this is now done more generally in Sem_Res. 9494 9495 * sem_res.adb (Resolve_Comparison_Op): Add call to 9496 Check_Lower_Bound_Tested. 9497 (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested 9498 9499 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure 9500 (Low_Bound_Tested): New name for Low_Bound_Known flag 9501 9502 * exp_ch5.adb: Minor reformatting 9503 9504 * exp_ch4.adb: 9505 Add comments on copying the Comes_From_Source flag for allocators 9506 9507 * sinfo.ads: 9508 Add comments on copying the Comes_From_Source flag for allocators 9509 9510 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy 9511 Comes_From_Source flag from old allocator to new one. 9512 95132009-04-10 Ed Schonberg <schonberg@adacore.com> 9514 9515 * sem_ch6.ads: Address missing documentation query 9516 95172009-04-10 Vincent Celier <celier@adacore.com> 9518 9519 * prj-attr.adb: 9520 Add new Linker attributes Max_Command_Line_Length, Response_File_Format 9521 and Response_File_Switches. 9522 9523 * prj-nmsc.adb (Process_Linker): Process new attributes 9524 Max_Command_Line_Length, Response_File_Format and 9525 Response_File_Switches. 9526 9527 * prj.ads (Response_File_Format): New enumeration type 9528 (Project_Configuration): New componants Max_Command_Line_Length, 9529 Resp_File_Format and Resp_File_Options. 9530 9531 * snames.ads-tmpl: Add new standard names for linking response files 9532 for gprbuild: GNU, None, Object_List, Option_List, 9533 Max_Command_Line_Length, Response_File_Format and 9534 Response_File_Switches. 9535 95362009-04-10 Geert Bosch <bosch@adacore.com> 9537 9538 * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads, 9539 system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads, 9540 system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads, 9541 system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads, 9542 system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads, 9543 system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads, 9544 system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, 9545 system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads, 9546 system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads, 9547 system-vxworks-arm.ads, system-vxworks-m68k.ads, 9548 system-vxworks-mips.ads, system-vxworks-ppc.ads, 9549 system-vxworks-sparcv9.ads, system-vxworks-x86.ads 9550 (Backend_Overflow_Checks): Set to True. 9551 95522009-04-10 Thomas Quinot <quinot@adacore.com> 9553 9554 * exp_attr.adb: Minor reformatting 9555 95562009-04-10 Ed Schonberg <schonberg@adacore.com> 9557 9558 * sem_prag.adb (Check_Precondition_Postcondition): Within a generic, 9559 analyze the expression for a postcondition, even if the compiler mode 9560 is Generate_Code. 9561 95622009-04-10 Robert Dewar <dewar@adacore.com> 9563 9564 * sem_aux.adb: Minor reformatting 9565 95662009-04-10 Ed Falis <falis@adacore.com> 9567 9568 * init.c: Change VxWorks 6 stack overflow checking for kernel apps. 9569 9570 * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header. 9571 95722009-04-10 Thomas Quinot <quinot@adacore.com> 9573 9574 * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for 9575 undocumented formal. 9576 Minor reformatting 9577 9578 * a-direio.ads: Fix typo in comment 9579 9580 * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb, 9581 errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb: 9582 Use uniform phrasing for comment at start of subprogram body. 9583 9584 * xsnamest.adb: Add note to explain why we use specific names for the 9585 newly generated files instead of generating snames.{ads,adb,h} directly 9586 95872009-04-10 Sergey Rybin <rybin@adacore.com> 9588 9589 * vms_data.ads: 9590 Add qualifier for new gnatstub option '--no-exception' 9591 9592 * gnat_ugn.texi: 9593 Add the description of the new gnatstub option '--no-exception' 9594 95952009-04-10 Robert Dewar <dewar@adacore.com> 9596 9597 * rtsfind.adb: Minor reformatting 9598 95992009-04-10 Thomas Quinot <quinot@adacore.com> 9600 9601 * sem_disp.adb: Minor reformatting. 9602 Add comment pointing to RM clause for the case of warning against a 9603 (failed) attempt at declaring a primitive operation elsewhere than in a 9604 package spec. 9605 96062009-04-10 Ed Schonberg <schonberg@adacore.com> 9607 9608 * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is 9609 an actual for a previous formal package of the current instance. 9610 96112009-04-10 Bob Duff <duff@adacore.com> 9612 9613 * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs 9614 them first, rather than on the extended main unit. 9615 96162009-04-10 Ed Schonberg <schonberg@adacore.com> 9617 9618 * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant 9619 specification of full view carries a null exclusion indicator, create 9620 an itype for it, to check for conformance with partial view. 9621 96222009-04-10 Bob Duff <duff@adacore.com> 9623 9624 * rtsfind.ads: Minor code change: make RE_Unit_Table constant. 9625 9626 * rtsfind.adb: Minor comment changes, and remove useless code. 9627 9628 * sinfo.ads: Add ??? comment. 9629 96302009-04-10 Vincent Celier <celier@adacore.com> 9631 9632 * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U 9633 96342009-04-10 Ed Schonberg <schonberg@adacore.com> 9635 9636 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged 9637 type is a synchronized type, retrieve tag information from the 9638 corresponding record, which has the dispatch table link. 9639 96402009-04-10 Jerome Lambourg <lambourg@adacore.com> 9641 9642 * g-comlin.adb (Group_Analysis): Take care of switches that might be 9643 decomposed afterwards, but are present as-is in the command line 9644 configuration, and thus should be kept as-is. 9645 96462009-04-10 Robert Dewar <dewar@adacore.com> 9647 9648 * gnat_rm.texi: Document that postconditions are tested on implicit 9649 returns. 9650 9651 * sem_aux.adb: Minor reformatting 9652 96532009-04-10 Gary Dismukes <dismukes@adacore.com> 9654 9655 * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when 9656 setting Etype. 9657 9658 * par-ch3.adb (P_Access_Type_Definition): Set new attribute 9659 Null_Exclusion_In_Return_Present when an access-to-function type has a 9660 result type with an explicit not null. 9661 9662 * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is 9663 given on the result type, then create a null-excluding itype for the 9664 function. 9665 9666 * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in 9667 the case where a null exclusion is imposed on a named access type. 9668 (Analyze_Subprogram_Specification): Push and pop the scope of the 9669 function around the call to Analyze_Return_Type in the case of no 9670 formals, for consistency with handling when formals are present 9671 (Process_Formals does this). Ensures that any itype created for the 9672 return type will be associated with the proper scope. 9673 9674 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null 9675 exclusion is given on a generic function's result type, then create a 9676 null-excluding itype for the generic function. 9677 (Instantiate_Object): Set Null_Exclusion_Present of a constant created 9678 for an actual for a formal in object according to the setting on the 9679 formal. Ensures null exclusion checks are done when the association is 9680 elaborated. 9681 9682 * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on 9683 N_Access_Function_Definition. 9684 9685 * sinfo.adb: Add Get_ and Set_ operations for 9686 Null_Exclusion_In_Return_Present. 9687 96882009-04-10 Bob Duff <duff@adacore.com> 9689 9690 * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a 9691 call to the _Postconditions procedure in the case of implicit returns 9692 from analysis to expansion. This eliminates some duplicated code. Use 9693 the Postcondition_Proc to find the identity of this procedure during 9694 expansion. 9695 96962009-04-10 Robert Dewar <dewar@adacore.com> 9697 9698 * sem_ch6.adb: Minor code clean up. 9699 9700 * einfo.ads, sem_attr.adb: Minor comment fixes. 9701 97022009-04-10 Robert Dewar <dewar@adacore.com> 9703 9704 * sem_ch8.adb: Minor reformatting 9705 97062009-04-10 Robert Dewar <dewar@adacore.com> 9707 9708 * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for 9709 procedures. 9710 9711 * sem_ch6.adb: Minor code clean up. 9712 97132009-04-10 Robert Dewar <dewar@adacore.com> 9714 9715 * mlib-tgt-specific-xi.adb: Minor reformatting 9716 97172009-04-10 Bob Duff <duff@adacore.com> 9718 9719 * einfo.ads: Minor comment fixes 9720 97212009-04-10 Vincent Celier <celier@adacore.com> 9722 9723 * snames.ads-tmpl: Remove names that are no longer used in the 9724 Project Manager. 9725 Mark specifically those that are used only in gprbuild 9726 97272009-04-10 Eric Botcazou <ebotcazou@adacore.com> 9728 9729 * init.c: Adjust EH support code on Alpha/Tru64. 9730 97312009-04-10 Bob Duff <duff@adacore.com> 9732 9733 * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions 9734 procedure on every path that could return implicitly (not via a return 9735 statement) from a procedure. 9736 97372009-04-10 Ed Schonberg <schonberg@adacore.com> 9738 9739 * exp_ch9.adb (Build_Master_Entity): An extended return statement is a 9740 valid scope for a task declarations and therefore for a master id. 9741 97422009-04-10 Robert Dewar <dewar@adacore.com> 9743 9744 * sem_aux.adb: Minor reformatting 9745 97462009-04-10 Vincent Celier <celier@adacore.com> 9747 9748 * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to 9749 True. 9750 (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False 9751 (Set_Obsolescent_Check): New procedure to change the value of 9752 Obsolescent_Check_Flag. 9753 9754 * scn.ads (Set_Obsolescent_Check): New procedure to control 9755 Obsolescent_Check. 9756 9757 * sinput-l.adb (Load_File): Do not check for pragma Restrictions on 9758 obsolescent features while preprocessing. 9759 97602009-04-10 Thomas Quinot <quinot@adacore.com> 9761 9762 * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in 9763 generated files on all platforms. 9764 97652009-04-10 Robert Dewar <dewar@adacore.com> 9766 9767 * sem_aux.adb: Minor reformatting 9768 97692009-04-10 Ed Schonberg <schonberg@adacore.com> 9770 9771 * sem_ch3.adb (Access_Definition): Handle properly the case of a 9772 protected function with formals that returns an anonymous access type. 9773 97742009-04-10 Thomas Quinot <quinot@adacore.com> 9775 9776 * sem_disp.adb: Minor reformatting 9777 97782009-04-10 Vasiliy Fofanov <fofanov@adacore.com> 9779 9780 * seh_init.c: Do not use the 32-bit specific implementation of 9781 __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific 9782 version TBD). 9783 97842009-04-10 Jose Ruiz <ruiz@adacore.com> 9785 9786 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain 9787 a '/' at the end so we better use the complete target name to determine 9788 whether it is a PowerPC 55xx target. 9789 97902009-04-10 Thomas Quinot <quinot@adacore.com> 9791 9792 * sem_eval.adb: Minor reformatting 9793 97942009-04-10 Thomas Quinot <quinot@adacore.com> 9795 9796 * snames.h, snames.ads, snames.adb: Remove files, now generated from 9797 templates. 9798 9799 * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the 9800 above. 9801 9802 * xsnamest.adb: New file. 9803 9804 * gcc-interface/Make-lang.in: New target for automated generation of 9805 snames.ads, snames.adb and snames.h 9806 98072009-04-10 Tristan Gingold <gingold@adacore.com> 9808 9809 * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to 9810 avoid compile time warnings. 9811 Do not add gcc/config in include search list while compiling the RTS. 9812 Pragma Thread_Local_Storage is available on any target. 9813 98142009-04-10 Bob Duff <duff@adacore.com> 9815 9816 * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes. 9817 98182009-04-10 Tristan Gingold <gingold@adacore.com> 9819 9820 * init.c: Install signal handler on Darwin. 9821 98222009-04-10 Robert Dewar <dewar@adacore.com> 9823 9824 * sem_prag.adb: Minor reformatting 9825 9826 * exp_util.adb (Make_Non_Empty_Check): New function 9827 (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check 9828 (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check 9829 98302009-04-10 Arnaud Charlet <charlet@adacore.com> 9831 9832 * make.adb, gnatlink.adb: Rename JGNAT toolchain. 9833 98342009-04-10 Jose Ruiz <ruiz@adacore.com> 9835 9836 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate 9837 tool prefix for AVR and PowerPC 55xx targets. 9838 98392009-04-10 Robert Dewar <dewar@adacore.com> 9840 9841 * sem_warn.adb (Within_Postcondition): New function 9842 (Check_Unset_Reference): Use Within_Postcondition to stop bad warning 9843 98442009-04-10 Robert Dewar <dewar@adacore.com> 9845 9846 * sem_warn.adb: Minor reformatting 9847 9848 * make.adb: Minor reformatting. 9849 98502009-04-10 Gary Dismukes <dismukes@adacore.com> 9851 9852 * exp_ch7.adb (Find_Final_List): When creating a finalization-chain 9853 entity and the scope is a subprogram, retrieve the Sloc of the 9854 subprogram's body rather than using the sloc of the spec, for better 9855 line-stepping behavior in gdb. 9856 (Wrap_Transient_Declaration): For the Sloc of nodes created with a list 9857 controller, use the Sloc of the first declaration of the containing list 9858 rather than that of the node that triggered creation of the list 9859 controller. 9860 98612009-04-10 Vincent Celier <celier@adacore.com> 9862 9863 * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing 9864 to avoid gcc warning. 9865 98662009-04-10 Robert Dewar <dewar@adacore.com> 9867 9868 * g-comlin.adb: Add ??? comment 9869 98702009-04-10 Ed Schonberg <schonberg@adacore.com> 9871 9872 * sem_warn.adb (Check_Unused_Withs): Do not emit message about 9873 unreferenced entities for a package with no visible declarations. 9874 98752009-04-10 Robert Dewar <dewar@adacore.com> 9876 9877 * exp_ch9.adb: Minor reformatting 9878 98792009-04-10 Thomas Quinot <quinot@adacore.com> 9880 9881 * sem_prag.adb: Minor reformatting 9882 98832009-04-10 Vincent Celier <celier@adacore.com> 9884 9885 * prj-nmsc.adb: 9886 (Check_Library_Attributes): For a project qualified as a library project 9887 that is not a library project, indicate in the error message which 9888 attributes are missing (Library_Dir and/or Library_Name). 9889 98902009-04-10 Bob Duff <duff@adacore.com> 9891 9892 * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of 9893 generated nodes, because it might confuse various circuits in the FE. 9894 98952009-04-10 Ed Schonberg <schonberg@adacore.com> 9896 9897 * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument 9898 of pragma. It will be recopied and analyzed when used in call to 9899 Create_Task. 9900 9901 * sem_res.adb (Resolve_Call): Clarify use of secondary stack within 9902 initialization operations and recognize use of it in procedure calls 9903 within init_procs. 9904 9905 * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name 9906 argument, because it may have side-effects. 9907 9908 * exp_ch2.adb: Remove obsolete comments on default functions 9909 99102009-04-10 Jose Ruiz <ruiz@adacore.com> 9911 9912 * adaint.c (RTX section): Do for RTX the same thing as we do for 9913 Windows (include ctype.h and define a fallback ISALPHA if IN_RTS). 9914 99152009-04-10 Robert Dewar <dewar@adacore.com> 9916 9917 * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function. 9918 9919 * sem_res.adb (Resolve_Call): Fix test for 9920 Suppress_Value_Tracking_On_Call (was wrong for the case of a call from 9921 a non-dynamic scope). 9922 99232009-04-10 Robert Dewar <dewar@adacore.com> 9924 9925 * make.adb: Add comment. 9926 Minor reformatting 9927 99282009-04-10 Nicolas Setton <setton@adacore.com> 9929 9930 * s-osprim-darwin.adb: New file. 9931 9932 * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec. 9933 99342009-04-10 Thomas Quinot <quinot@adacore.com> 9935 9936 * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set 9937 99382009-04-09 Nick Clifton <nickc@redhat.com> 9939 9940 * adadecode.h: Change copyright header to refer to version 9941 3 of the GNU General Public License with version 3.1 of the 9942 GCC Runtime Library Exception and to point readers at the 9943 COPYING3 and COPYING3.RUNTIME files and the FSF's license web 9944 page. 9945 * 9drpc.adb: Likewise. 9946 * a-assert.adb: Likewise. 9947 * a-astaco.adb: Likewise. 9948 * a-calari.adb: Likewise. 9949 * a-calcon.adb: Likewise. 9950 * a-calcon.ads: Likewise. 9951 * a-caldel.ads: Likewise. 9952 * a-calend-vms.adb: Likewise. 9953 * a-calend-vms.ads: Likewise. 9954 * a-calend.adb: Likewise. 9955 * a-calend.ads: Likewise. 9956 * a-calfor.adb: Likewise. 9957 * a-catizo.adb: Likewise. 9958 * a-cdlili.adb: Likewise. 9959 * a-cdlili.ads: Likewise. 9960 * a-cgaaso.adb: Likewise. 9961 * a-cgaaso.ads: Likewise. 9962 * a-cgarso.adb: Likewise. 9963 * a-cgcaso.adb: Likewise. 9964 * a-chacon.adb: Likewise. 9965 * a-chacon.ads: Likewise. 9966 * a-chahan.adb: Likewise. 9967 * a-chahan.ads: Likewise. 9968 * a-chlat9.ads: Likewise. 9969 * a-chtgke.adb: Likewise. 9970 * a-chtgke.ads: Likewise. 9971 * a-chtgop.adb: Likewise. 9972 * a-chtgop.ads: Likewise. 9973 * a-chzla1.ads: Likewise. 9974 * a-chzla9.ads: Likewise. 9975 * a-cidlli.adb: Likewise. 9976 * a-cidlli.ads: Likewise. 9977 * a-cihama.adb: Likewise. 9978 * a-cihama.ads: Likewise. 9979 * a-cihase.adb: Likewise. 9980 * a-cihase.ads: Likewise. 9981 * a-ciorma.adb: Likewise. 9982 * a-ciorma.ads: Likewise. 9983 * a-ciormu.adb: Likewise. 9984 * a-ciormu.ads: Likewise. 9985 * a-ciorse.adb: Likewise. 9986 * a-ciorse.ads: Likewise. 9987 * a-clrefi.adb: Likewise. 9988 * a-clrefi.ads: Likewise. 9989 * a-cohama.adb: Likewise. 9990 * a-cohama.ads: Likewise. 9991 * a-cohase.adb: Likewise. 9992 * a-cohase.ads: Likewise. 9993 * a-cohata.ads: Likewise. 9994 * a-coinve.adb: Likewise. 9995 * a-coinve.ads: Likewise. 9996 * a-colien.adb: Likewise. 9997 * a-colien.ads: Likewise. 9998 * a-colire.adb: Likewise. 9999 * a-colire.ads: Likewise. 10000 * a-comlin.adb: Likewise. 10001 * a-comlin.ads: Likewise. 10002 * a-convec.adb: Likewise. 10003 * a-convec.ads: Likewise. 10004 * a-coorma.adb: Likewise. 10005 * a-coorma.ads: Likewise. 10006 * a-coormu.adb: Likewise. 10007 * a-coormu.ads: Likewise. 10008 * a-coorse.adb: Likewise. 10009 * a-coorse.ads: Likewise. 10010 * a-coprnu.adb: Likewise. 10011 * a-coprnu.ads: Likewise. 10012 * a-crbltr.ads: Likewise. 10013 * a-crbtgk.adb: Likewise. 10014 * a-crbtgk.ads: Likewise. 10015 * a-crbtgo.adb: Likewise. 10016 * a-crbtgo.ads: Likewise. 10017 * a-crdlli.adb: Likewise. 10018 * a-crdlli.ads: Likewise. 10019 * a-cwila1.ads: Likewise. 10020 * a-cwila9.ads: Likewise. 10021 * a-decima.adb: Likewise. 10022 * a-decima.ads: Likewise. 10023 * a-diocst.adb: Likewise. 10024 * a-diocst.ads: Likewise. 10025 * a-direct.adb: Likewise. 10026 * a-direct.ads: Likewise. 10027 * a-direio.adb: Likewise. 10028 * a-direio.ads: Likewise. 10029 * a-dirval-mingw.adb: Likewise. 10030 * a-dirval-vms.adb: Likewise. 10031 * a-dirval.adb: Likewise. 10032 * a-dirval.ads: Likewise. 10033 * a-dynpri.adb: Likewise. 10034 * a-einuoc.adb: Likewise. 10035 * a-einuoc.ads: Likewise. 10036 * a-elchha.adb: Likewise. 10037 * a-elchha.ads: Likewise. 10038 * a-envvar.adb: Likewise. 10039 * a-excach.adb: Likewise. 10040 * a-except-2005.adb: Likewise. 10041 * a-except-2005.ads: Likewise. 10042 * a-except.adb: Likewise. 10043 * a-except.ads: Likewise. 10044 * a-excpol-abort.adb: Likewise. 10045 * a-excpol.adb: Likewise. 10046 * a-exctra.adb: Likewise. 10047 * a-exctra.ads: Likewise. 10048 * a-exetim-mingw.adb: Likewise. 10049 * a-exetim-mingw.ads: Likewise. 10050 * a-exexda.adb: Likewise. 10051 * a-exexpr-gcc.adb: Likewise. 10052 * a-exexpr.adb: Likewise. 10053 * a-exextr.adb: Likewise. 10054 * a-exstat.adb: Likewise. 10055 * a-filico.adb: Likewise. 10056 * a-filico.ads: Likewise. 10057 * a-finali.adb: Likewise. 10058 * a-finali.ads: Likewise. 10059 * a-interr.ads: Likewise. 10060 * a-intnam-aix.ads: Likewise. 10061 * a-intnam-darwin.ads: Likewise. 10062 * a-intnam-dummy.ads: Likewise. 10063 * a-intnam-freebsd.ads: Likewise. 10064 * a-intnam-hpux.ads: Likewise. 10065 * a-intnam-irix.ads: Likewise. 10066 * a-intnam-linux.ads: Likewise. 10067 * a-intnam-lynxos.ads: Likewise. 10068 * a-intnam-mingw.ads: Likewise. 10069 * a-intnam-rtems.ads: Likewise. 10070 * a-intnam-solaris.ads: Likewise. 10071 * a-intnam-tru64.ads: Likewise. 10072 * a-intnam-vms.ads: Likewise. 10073 * a-intnam-vxworks.ads: Likewise. 10074 * a-intsig.adb: Likewise. 10075 * a-intsig.ads: Likewise. 10076 * a-ngcefu.adb: Likewise. 10077 * a-ngcoar.adb: Likewise. 10078 * a-ngcoty.adb: Likewise. 10079 * a-ngcoty.ads: Likewise. 10080 * a-ngelfu.adb: Likewise. 10081 * a-ngrear.adb: Likewise. 10082 * a-ngrear.ads: Likewise. 10083 * a-nudira.adb: Likewise. 10084 * a-nudira.ads: Likewise. 10085 * a-nuflra.adb: Likewise. 10086 * a-nuflra.ads: Likewise. 10087 * a-numaux-darwin.adb: Likewise. 10088 * a-numaux-darwin.ads: Likewise. 10089 * a-numaux-libc-x86.ads: Likewise. 10090 * a-numaux-vxworks.ads: Likewise. 10091 * a-numaux-x86.adb: Likewise. 10092 * a-numaux-x86.ads: Likewise. 10093 * a-numaux.ads: Likewise. 10094 * a-rbtgso.adb: Likewise. 10095 * a-rbtgso.ads: Likewise. 10096 * a-reatim.ads: Likewise. 10097 * a-retide.adb: Likewise. 10098 * a-retide.ads: Likewise. 10099 * a-rttiev.adb: Likewise. 10100 * a-rttiev.ads: Likewise. 10101 * a-secain.adb: Likewise. 10102 * a-secain.ads: Likewise. 10103 * a-sequio.adb: Likewise. 10104 * a-sequio.ads: Likewise. 10105 * a-shcain.adb: Likewise. 10106 * a-shcain.ads: Likewise. 10107 * a-siocst.adb: Likewise. 10108 * a-siocst.ads: Likewise. 10109 * a-slcain.adb: Likewise. 10110 * a-slcain.ads: Likewise. 10111 * a-ssicst.adb: Likewise. 10112 * a-ssicst.ads: Likewise. 10113 * a-stboha.adb: Likewise. 10114 * a-stmaco.ads: Likewise. 10115 * a-storio.adb: Likewise. 10116 * a-strbou.adb: Likewise. 10117 * a-strbou.ads: Likewise. 10118 * a-stream.ads: Likewise. 10119 * a-strfix.adb: Likewise. 10120 * a-strhas.adb: Likewise. 10121 * a-strmap.adb: Likewise. 10122 * a-strmap.ads: Likewise. 10123 * a-strsea.adb: Likewise. 10124 * a-strsea.ads: Likewise. 10125 * a-strsup.adb: Likewise. 10126 * a-strsup.ads: Likewise. 10127 * a-strunb.adb: Likewise. 10128 * a-strunb.ads: Likewise. 10129 * a-ststio.adb: Likewise. 10130 * a-ststio.ads: Likewise. 10131 * a-stunau.adb: Likewise. 10132 * a-stunau.ads: Likewise. 10133 * a-stunha.adb: Likewise. 10134 * a-stwibo.adb: Likewise. 10135 * a-stwibo.ads: Likewise. 10136 * a-stwifi.adb: Likewise. 10137 * a-stwiha.adb: Likewise. 10138 * a-stwima.adb: Likewise. 10139 * a-stwima.ads: Likewise. 10140 * a-stwise.adb: Likewise. 10141 * a-stwise.ads: Likewise. 10142 * a-stwisu.adb: Likewise. 10143 * a-stwisu.ads: Likewise. 10144 * a-stwiun.adb: Likewise. 10145 * a-stwiun.ads: Likewise. 10146 * a-stzbou.adb: Likewise. 10147 * a-stzbou.ads: Likewise. 10148 * a-stzfix.adb: Likewise. 10149 * a-stzhas.adb: Likewise. 10150 * a-stzmap.adb: Likewise. 10151 * a-stzmap.ads: Likewise. 10152 * a-stzsea.adb: Likewise. 10153 * a-stzsea.ads: Likewise. 10154 * a-stzsup.adb: Likewise. 10155 * a-stzsup.ads: Likewise. 10156 * a-stzunb.adb: Likewise. 10157 * a-stzunb.ads: Likewise. 10158 * a-suteio.adb: Likewise. 10159 * a-suteio.ads: Likewise. 10160 * a-swbwha.adb: Likewise. 10161 * a-swmwco.ads: Likewise. 10162 * a-swunau.adb: Likewise. 10163 * a-swunau.ads: Likewise. 10164 * a-swuwha.adb: Likewise. 10165 * a-swuwti.adb: Likewise. 10166 * a-swuwti.ads: Likewise. 10167 * a-sytaco.adb: Likewise. 10168 * a-sytaco.ads: Likewise. 10169 * a-szbzha.adb: Likewise. 10170 * a-szmzco.ads: Likewise. 10171 * a-szunau.adb: Likewise. 10172 * a-szunau.ads: Likewise. 10173 * a-szuzha.adb: Likewise. 10174 * a-szuzti.adb: Likewise. 10175 * a-szuzti.ads: Likewise. 10176 * a-tags.adb: Likewise. 10177 * a-tags.ads: Likewise. 10178 * a-tasatt.ads: Likewise. 10179 * a-taside.adb: Likewise. 10180 * a-taside.ads: Likewise. 10181 * a-taster.adb: Likewise. 10182 * a-teioed.adb: Likewise. 10183 * a-teioed.ads: Likewise. 10184 * a-textio.adb: Likewise. 10185 * a-textio.ads: Likewise. 10186 * a-tiboio.adb: Likewise. 10187 * a-ticoau.adb: Likewise. 10188 * a-ticoau.ads: Likewise. 10189 * a-ticoio.adb: Likewise. 10190 * a-ticoio.ads: Likewise. 10191 * a-tideau.adb: Likewise. 10192 * a-tideau.ads: Likewise. 10193 * a-tideio.adb: Likewise. 10194 * a-tideio.ads: Likewise. 10195 * a-tienau.adb: Likewise. 10196 * a-tienau.ads: Likewise. 10197 * a-tienio.adb: Likewise. 10198 * a-tienio.ads: Likewise. 10199 * a-tifiio.adb: Likewise. 10200 * a-tifiio.ads: Likewise. 10201 * a-tiflau.adb: Likewise. 10202 * a-tiflau.ads: Likewise. 10203 * a-tiflio.adb: Likewise. 10204 * a-tiflio.ads: Likewise. 10205 * a-tigeau.adb: Likewise. 10206 * a-tigeau.ads: Likewise. 10207 * a-tiinau.adb: Likewise. 10208 * a-tiinau.ads: Likewise. 10209 * a-tiinio.adb: Likewise. 10210 * a-tiinio.ads: Likewise. 10211 * a-timoau.adb: Likewise. 10212 * a-timoau.ads: Likewise. 10213 * a-timoio.adb: Likewise. 10214 * a-timoio.ads: Likewise. 10215 * a-tiocst.adb: Likewise. 10216 * a-tiocst.ads: Likewise. 10217 * a-titest.adb: Likewise. 10218 * a-wichun.adb: Likewise. 10219 * a-wichun.ads: Likewise. 10220 * a-witeio.adb: Likewise. 10221 * a-witeio.ads: Likewise. 10222 * a-wtcoau.adb: Likewise. 10223 * a-wtcoau.ads: Likewise. 10224 * a-wtcoio.adb: Likewise. 10225 * a-wtcstr.adb: Likewise. 10226 * a-wtcstr.ads: Likewise. 10227 * a-wtdeau.adb: Likewise. 10228 * a-wtdeau.ads: Likewise. 10229 * a-wtdeio.adb: Likewise. 10230 * a-wtdeio.ads: Likewise. 10231 * a-wtedit.adb: Likewise. 10232 * a-wtedit.ads: Likewise. 10233 * a-wtenau.adb: Likewise. 10234 * a-wtenau.ads: Likewise. 10235 * a-wtenio.adb: Likewise. 10236 * a-wtenio.ads: Likewise. 10237 * a-wtfiio.adb: Likewise. 10238 * a-wtfiio.ads: Likewise. 10239 * a-wtflau.adb: Likewise. 10240 * a-wtflau.ads: Likewise. 10241 * a-wtflio.adb: Likewise. 10242 * a-wtflio.ads: Likewise. 10243 * a-wtgeau.adb: Likewise. 10244 * a-wtgeau.ads: Likewise. 10245 * a-wtinau.adb: Likewise. 10246 * a-wtinau.ads: Likewise. 10247 * a-wtinio.adb: Likewise. 10248 * a-wtmoau.adb: Likewise. 10249 * a-wtmoau.ads: Likewise. 10250 * a-wtmoio.adb: Likewise. 10251 * a-wtmoio.ads: Likewise. 10252 * a-wttest.adb: Likewise. 10253 * a-wwboio.adb: Likewise. 10254 * a-zchuni.adb: Likewise. 10255 * a-zchuni.ads: Likewise. 10256 * a-ztcoau.adb: Likewise. 10257 * a-ztcoau.ads: Likewise. 10258 * a-ztcoio.adb: Likewise. 10259 * a-ztcstr.adb: Likewise. 10260 * a-ztcstr.ads: Likewise. 10261 * a-ztdeau.adb: Likewise. 10262 * a-ztdeau.ads: Likewise. 10263 * a-ztdeio.adb: Likewise. 10264 * a-ztdeio.ads: Likewise. 10265 * a-ztedit.adb: Likewise. 10266 * a-ztedit.ads: Likewise. 10267 * a-ztenau.adb: Likewise. 10268 * a-ztenau.ads: Likewise. 10269 * a-ztenio.adb: Likewise. 10270 * a-ztenio.ads: Likewise. 10271 * a-ztexio.adb: Likewise. 10272 * a-ztexio.ads: Likewise. 10273 * a-ztfiio.adb: Likewise. 10274 * a-ztfiio.ads: Likewise. 10275 * a-ztflau.adb: Likewise. 10276 * a-ztflau.ads: Likewise. 10277 * a-ztflio.adb: Likewise. 10278 * a-ztflio.ads: Likewise. 10279 * a-ztgeau.adb: Likewise. 10280 * a-ztgeau.ads: Likewise. 10281 * a-ztinau.adb: Likewise. 10282 * a-ztinau.ads: Likewise. 10283 * a-ztinio.adb: Likewise. 10284 * a-ztmoau.adb: Likewise. 10285 * a-ztmoau.ads: Likewise. 10286 * a-ztmoio.adb: Likewise. 10287 * a-ztmoio.ads: Likewise. 10288 * a-zttest.adb: Likewise. 10289 * a-zzboio.adb: Likewise. 10290 * adadecode.c: Likewise. 10291 * adaint.c: Likewise. 10292 * adaint.h: Likewise. 10293 * alloc.ads: Likewise. 10294 * argv.c: Likewise. 10295 * arit64.c: Likewise. 10296 * atree.adb: Likewise. 10297 * atree.ads: Likewise. 10298 * aux-io.c: Likewise. 10299 * cal.c: Likewise. 10300 * casing.adb: Likewise. 10301 * casing.ads: Likewise. 10302 * cio.c: Likewise. 10303 * csets.adb: Likewise. 10304 * csets.ads: Likewise. 10305 * cstreams.c: Likewise. 10306 * ctrl_c.c: Likewise. 10307 * debug.adb: Likewise. 10308 * debug.ads: Likewise. 10309 * dec.ads: Likewise. 10310 * einfo.adb: Likewise. 10311 * einfo.ads: Likewise. 10312 * elists.adb: Likewise. 10313 * elists.ads: Likewise. 10314 * env.c: Likewise. 10315 * env.h: Likewise. 10316 * errno.c: Likewise. 10317 * exit.c: Likewise. 10318 * fe.h: Likewise. 10319 * final.c: Likewise. 10320 * fname.adb: Likewise. 10321 * fname.ads: Likewise. 10322 * g-allein.ads: Likewise. 10323 * g-alleve.adb: Likewise. 10324 * g-alleve.ads: Likewise. 10325 * g-altcon.adb: Likewise. 10326 * g-altcon.ads: Likewise. 10327 * g-altive.ads: Likewise. 10328 * g-alveop.adb: Likewise. 10329 * g-alveop.ads: Likewise. 10330 * g-alvety.ads: Likewise. 10331 * g-alvevi.ads: Likewise. 10332 * g-arrspl.adb: Likewise. 10333 * g-arrspl.ads: Likewise. 10334 * g-calend.ads: Likewise. 10335 * g-comlin.adb: Likewise. 10336 * g-debpoo.adb: Likewise. 10337 * g-debpoo.ads: Likewise. 10338 * g-eacodu-vms.adb: Likewise. 10339 * g-eacodu.adb: Likewise. 10340 * g-excact.adb: Likewise. 10341 * g-excact.ads: Likewise. 10342 * g-locfil.adb: Likewise. 10343 * g-os_lib.ads: Likewise. 10344 * g-rannum.adb: Likewise. 10345 * g-rannum.ads: Likewise. 10346 * g-regist.adb: Likewise. 10347 * g-regist.ads: Likewise. 10348 * g-signal.adb: Likewise. 10349 * g-signal.ads: Likewise. 10350 * g-soccon.ads: Likewise. 10351 * g-string.adb: Likewise. 10352 * g-string.ads: Likewise. 10353 * g-strspl.ads: Likewise. 10354 * g-timsta.adb: Likewise. 10355 * g-timsta.ads: Likewise. 10356 * g-trasym-vms-alpha.adb: Likewise. 10357 * g-trasym-vms-ia64.adb: Likewise. 10358 * g-utf_32.adb: Likewise. 10359 * g-utf_32.ads: Likewise. 10360 * g-wistsp.ads: Likewise. 10361 * g-zstspl.ads: Likewise. 10362 * gmem.c: Likewise. 10363 * gnatvsn.adb: Likewise. 10364 * gnatvsn.ads: Likewise. 10365 * gsocket.h: Likewise. 10366 * hostparm.ads: Likewise. 10367 * i-c.adb: Likewise. 10368 * i-cexten.ads: Likewise. 10369 * i-cobol.adb: Likewise. 10370 * i-cobol.ads: Likewise. 10371 * i-cpoint.adb: Likewise. 10372 * i-cpoint.ads: Likewise. 10373 * i-cpp.adb: Likewise. 10374 * i-cpp.ads: Likewise. 10375 * i-cstrea-vms.adb: Likewise. 10376 * i-cstrea.adb: Likewise. 10377 * i-cstrea.ads: Likewise. 10378 * i-cstrin.adb: Likewise. 10379 * i-cstrin.ads: Likewise. 10380 * i-forbla-darwin.adb: Likewise. 10381 * i-forbla-unimplemented.ads: Likewise. 10382 * i-forbla.adb: Likewise. 10383 * i-forbla.ads: Likewise. 10384 * i-forlap.ads: Likewise. 10385 * i-fortra.adb: Likewise. 10386 * i-pacdec.adb: Likewise. 10387 * i-pacdec.ads: Likewise. 10388 * i-vxwoio.adb: Likewise. 10389 * i-vxwoio.ads: Likewise. 10390 * indepsw-aix.adb: Likewise. 10391 * indepsw-gnu.adb: Likewise. 10392 * indepsw-mingw.adb: Likewise. 10393 * indepsw.adb: Likewise. 10394 * indepsw.ads: Likewise. 10395 * init.c: Likewise. 10396 * initialize.c: Likewise. 10397 * interfac.ads: Likewise. 10398 * krunch.adb: Likewise. 10399 * krunch.ads: Likewise. 10400 * lib-list.adb: Likewise. 10401 * lib-sort.adb: Likewise. 10402 * lib.adb: Likewise. 10403 * lib.ads: Likewise. 10404 * link.c: Likewise. 10405 * math_lib.adb: Likewise. 10406 * memtrack.adb: Likewise. 10407 * mingw32.h: Likewise. 10408 * mkdir.c: Likewise. 10409 * namet-sp.adb: Likewise. 10410 * namet-sp.ads: Likewise. 10411 * namet.adb: Likewise. 10412 * namet.ads: Likewise. 10413 * nlists.adb: Likewise. 10414 * nlists.ads: Likewise. 10415 * opt.adb: Likewise. 10416 * opt.ads: Likewise. 10417 * output.adb: Likewise. 10418 * output.ads: Likewise. 10419 * raise-gcc.c: Likewise. 10420 * raise.c: Likewise. 10421 * raise.h: Likewise. 10422 * repinfo.adb: Likewise. 10423 * repinfo.ads: Likewise. 10424 * repinfo.h: Likewise. 10425 * rident.ads: Likewise. 10426 * s-addima.adb: Likewise. 10427 * s-addima.ads: Likewise. 10428 * s-addope.adb: Likewise. 10429 * s-addope.ads: Likewise. 10430 * s-arit64.adb: Likewise. 10431 * s-arit64.ads: Likewise. 10432 * s-assert.adb: Likewise. 10433 * s-assert.ads: Likewise. 10434 * s-asthan-vms-alpha.adb: Likewise. 10435 * s-asthan.adb: Likewise. 10436 * s-asthan.ads: Likewise. 10437 * s-atacco.adb: Likewise. 10438 * s-atacco.ads: Likewise. 10439 * s-auxdec-empty.adb: Likewise. 10440 * s-auxdec-empty.ads: Likewise. 10441 * s-auxdec-vms_64.ads: Likewise. 10442 * s-auxdec.adb: Likewise. 10443 * s-auxdec.ads: Likewise. 10444 * s-bitops.adb: Likewise. 10445 * s-bitops.ads: Likewise. 10446 * s-boarop.ads: Likewise. 10447 * s-carsi8.adb: Likewise. 10448 * s-carsi8.ads: Likewise. 10449 * s-carun8.adb: Likewise. 10450 * s-carun8.ads: Likewise. 10451 * s-casi16.adb: Likewise. 10452 * s-casi16.ads: Likewise. 10453 * s-casi32.adb: Likewise. 10454 * s-casi32.ads: Likewise. 10455 * s-casi64.adb: Likewise. 10456 * s-casi64.ads: Likewise. 10457 * s-casuti.ads: Likewise. 10458 * s-caun16.adb: Likewise. 10459 * s-caun16.ads: Likewise. 10460 * s-caun32.adb: Likewise. 10461 * s-caun32.ads: Likewise. 10462 * s-caun64.adb: Likewise. 10463 * s-caun64.ads: Likewise. 10464 * s-chepoo.ads: Likewise. 10465 * s-crc32.adb: Likewise. 10466 * s-crc32.ads: Likewise. 10467 * s-crtl.ads: Likewise. 10468 * s-direio.adb: Likewise. 10469 * s-direio.ads: Likewise. 10470 * s-dsaser.ads: Likewise. 10471 * s-except.adb: Likewise. 10472 * s-except.ads: Likewise. 10473 * s-exctab.adb: Likewise. 10474 * s-exctab.ads: Likewise. 10475 * s-exnint.adb: Likewise. 10476 * s-exnint.ads: Likewise. 10477 * s-exnllf.adb: Likewise. 10478 * s-exnllf.ads: Likewise. 10479 * s-exnlli.adb: Likewise. 10480 * s-exnlli.ads: Likewise. 10481 * s-expint.adb: Likewise. 10482 * s-expint.ads: Likewise. 10483 * s-explli.adb: Likewise. 10484 * s-explli.ads: Likewise. 10485 * s-expllu.adb: Likewise. 10486 * s-expllu.ads: Likewise. 10487 * s-expmod.adb: Likewise. 10488 * s-expmod.ads: Likewise. 10489 * s-expuns.adb: Likewise. 10490 * s-expuns.ads: Likewise. 10491 * s-fatflt.ads: Likewise. 10492 * s-fatgen.adb: Likewise. 10493 * s-fatgen.ads: Likewise. 10494 * s-fatlfl.ads: Likewise. 10495 * s-fatllf.ads: Likewise. 10496 * s-fatsfl.ads: Likewise. 10497 * s-ficobl.ads: Likewise. 10498 * s-fileio.adb: Likewise. 10499 * s-fileio.ads: Likewise. 10500 * s-filofl.ads: Likewise. 10501 * s-finimp.adb: Likewise. 10502 * s-finimp.ads: Likewise. 10503 * s-finroo.adb: Likewise. 10504 * s-finroo.ads: Likewise. 10505 * s-fishfl.ads: Likewise. 10506 * s-fore.adb: Likewise. 10507 * s-fore.ads: Likewise. 10508 * s-fvadfl.ads: Likewise. 10509 * s-fvaffl.ads: Likewise. 10510 * s-fvagfl.ads: Likewise. 10511 * s-gearop.adb: Likewise. 10512 * s-gearop.ads: Likewise. 10513 * s-gecobl.adb: Likewise. 10514 * s-gecobl.ads: Likewise. 10515 * s-gecola.adb: Likewise. 10516 * s-gecola.ads: Likewise. 10517 * s-gerebl.adb: Likewise. 10518 * s-gerebl.ads: Likewise. 10519 * s-gerela.adb: Likewise. 10520 * s-gerela.ads: Likewise. 10521 * s-geveop.adb: Likewise. 10522 * s-geveop.ads: Likewise. 10523 * s-gloloc.adb: Likewise. 10524 * s-gloloc.ads: Likewise. 10525 * s-hibaen.ads: Likewise. 10526 * s-imenne.adb: Likewise. 10527 * s-imenne.ads: Likewise. 10528 * s-imgbiu.adb: Likewise. 10529 * s-imgbiu.ads: Likewise. 10530 * s-imgboo.adb: Likewise. 10531 * s-imgboo.ads: Likewise. 10532 * s-imgcha.adb: Likewise. 10533 * s-imgcha.ads: Likewise. 10534 * s-imgdec.adb: Likewise. 10535 * s-imgdec.ads: Likewise. 10536 * s-imgenu.adb: Likewise. 10537 * s-imgenu.ads: Likewise. 10538 * s-imgint.adb: Likewise. 10539 * s-imgint.ads: Likewise. 10540 * s-imgllb.adb: Likewise. 10541 * s-imgllb.ads: Likewise. 10542 * s-imglld.adb: Likewise. 10543 * s-imglld.ads: Likewise. 10544 * s-imglli.adb: Likewise. 10545 * s-imglli.ads: Likewise. 10546 * s-imgllu.adb: Likewise. 10547 * s-imgllu.ads: Likewise. 10548 * s-imgllw.adb: Likewise. 10549 * s-imgllw.ads: Likewise. 10550 * s-imgrea.adb: Likewise. 10551 * s-imgrea.ads: Likewise. 10552 * s-imguns.adb: Likewise. 10553 * s-imguns.ads: Likewise. 10554 * s-imgwch.adb: Likewise. 10555 * s-imgwch.ads: Likewise. 10556 * s-imgwiu.adb: Likewise. 10557 * s-imgwiu.ads: Likewise. 10558 * s-inmaop-dummy.adb: Likewise. 10559 * s-inmaop-vms.adb: Likewise. 10560 * s-inmaop.ads: Likewise. 10561 * s-interr-hwint.adb: Likewise. 10562 * s-interr-sigaction.adb: Likewise. 10563 * s-interr-vms.adb: Likewise. 10564 * s-interr.adb: Likewise. 10565 * s-interr.ads: Likewise. 10566 * s-intman-dummy.adb: Likewise. 10567 * s-intman-mingw.adb: Likewise. 10568 * s-intman-posix.adb: Likewise. 10569 * s-intman-solaris.adb: Likewise. 10570 * s-intman-vms.adb: Likewise. 10571 * s-intman-vms.ads: Likewise. 10572 * s-intman-vxworks.adb: Likewise. 10573 * s-intman-vxworks.ads: Likewise. 10574 * s-intman.ads: Likewise. 10575 * s-io.adb: Likewise. 10576 * s-io.ads: Likewise. 10577 * s-linux-alpha.ads: Likewise. 10578 * s-linux-hppa.ads: Likewise. 10579 * s-linux.ads: Likewise. 10580 * s-maccod.ads: Likewise. 10581 * s-mantis.adb: Likewise. 10582 * s-mantis.ads: Likewise. 10583 * s-mastop-irix.adb: Likewise. 10584 * s-mastop.adb: Likewise. 10585 * s-mastop.ads: Likewise. 10586 * s-memcop.ads: Likewise. 10587 * s-memory-mingw.adb: Likewise. 10588 * s-memory.adb: Likewise. 10589 * s-memory.ads: Likewise. 10590 * s-os_lib.ads: Likewise. 10591 * s-oscons-tmplt.c: Likewise. 10592 * s-osinte-aix.adb: Likewise. 10593 * s-osinte-darwin.adb: Likewise. 10594 * s-osinte-freebsd.adb: Likewise. 10595 * s-osinte-irix.adb: Likewise. 10596 * s-osinte-lynxos-3.adb: Likewise. 10597 * s-osinte-rtems.ads: Likewise. 10598 * s-osinte-tru64.adb: Likewise. 10599 * s-osinte-vxworks-kernel.adb: Likewise. 10600 * s-osinte-vxworks.adb: Likewise. 10601 * s-osprim-mingw.adb: Likewise. 10602 * s-osprim-posix.adb: Likewise. 10603 * s-osprim-solaris.adb: Likewise. 10604 * s-osprim-unix.adb: Likewise. 10605 * s-osprim-vms.adb: Likewise. 10606 * s-osprim-vms.ads: Likewise. 10607 * s-osprim-vxworks.adb: Likewise. 10608 * s-osprim.ads: Likewise. 10609 * s-pack03.adb: Likewise. 10610 * s-pack03.ads: Likewise. 10611 * s-pack05.adb: Likewise. 10612 * s-pack05.ads: Likewise. 10613 * s-pack06.adb: Likewise. 10614 * s-pack06.ads: Likewise. 10615 * s-pack07.adb: Likewise. 10616 * s-pack07.ads: Likewise. 10617 * s-pack09.adb: Likewise. 10618 * s-pack09.ads: Likewise. 10619 * s-pack10.adb: Likewise. 10620 * s-pack10.ads: Likewise. 10621 * s-pack11.adb: Likewise. 10622 * s-pack11.ads: Likewise. 10623 * s-pack12.adb: Likewise. 10624 * s-pack12.ads: Likewise. 10625 * s-pack13.adb: Likewise. 10626 * s-pack13.ads: Likewise. 10627 * s-pack14.adb: Likewise. 10628 * s-pack14.ads: Likewise. 10629 * s-pack15.adb: Likewise. 10630 * s-pack15.ads: Likewise. 10631 * s-pack17.adb: Likewise. 10632 * s-pack17.ads: Likewise. 10633 * s-pack18.adb: Likewise. 10634 * s-pack18.ads: Likewise. 10635 * s-pack19.adb: Likewise. 10636 * s-pack19.ads: Likewise. 10637 * s-pack20.adb: Likewise. 10638 * s-pack20.ads: Likewise. 10639 * s-pack21.adb: Likewise. 10640 * s-pack21.ads: Likewise. 10641 * s-pack22.adb: Likewise. 10642 * s-pack22.ads: Likewise. 10643 * s-pack23.adb: Likewise. 10644 * s-pack23.ads: Likewise. 10645 * s-pack24.adb: Likewise. 10646 * s-pack24.ads: Likewise. 10647 * s-pack25.adb: Likewise. 10648 * s-pack25.ads: Likewise. 10649 * s-pack26.adb: Likewise. 10650 * s-pack26.ads: Likewise. 10651 * s-pack27.adb: Likewise. 10652 * s-pack27.ads: Likewise. 10653 * s-pack28.adb: Likewise. 10654 * s-pack28.ads: Likewise. 10655 * s-pack29.adb: Likewise. 10656 * s-pack29.ads: Likewise. 10657 * s-pack30.adb: Likewise. 10658 * s-pack30.ads: Likewise. 10659 * s-pack31.adb: Likewise. 10660 * s-pack31.ads: Likewise. 10661 * s-pack33.adb: Likewise. 10662 * s-pack33.ads: Likewise. 10663 * s-pack34.adb: Likewise. 10664 * s-pack34.ads: Likewise. 10665 * s-pack35.adb: Likewise. 10666 * s-pack35.ads: Likewise. 10667 * s-pack36.adb: Likewise. 10668 * s-pack36.ads: Likewise. 10669 * s-pack37.adb: Likewise. 10670 * s-pack37.ads: Likewise. 10671 * s-pack38.adb: Likewise. 10672 * s-pack38.ads: Likewise. 10673 * s-pack39.adb: Likewise. 10674 * s-pack39.ads: Likewise. 10675 * s-pack40.adb: Likewise. 10676 * s-pack40.ads: Likewise. 10677 * s-pack41.adb: Likewise. 10678 * s-pack41.ads: Likewise. 10679 * s-pack42.adb: Likewise. 10680 * s-pack42.ads: Likewise. 10681 * s-pack43.adb: Likewise. 10682 * s-pack43.ads: Likewise. 10683 * s-pack44.adb: Likewise. 10684 * s-pack44.ads: Likewise. 10685 * s-pack45.adb: Likewise. 10686 * s-pack45.ads: Likewise. 10687 * s-pack46.adb: Likewise. 10688 * s-pack46.ads: Likewise. 10689 * s-pack47.adb: Likewise. 10690 * s-pack47.ads: Likewise. 10691 * s-pack48.adb: Likewise. 10692 * s-pack48.ads: Likewise. 10693 * s-pack49.adb: Likewise. 10694 * s-pack49.ads: Likewise. 10695 * s-pack50.adb: Likewise. 10696 * s-pack50.ads: Likewise. 10697 * s-pack51.adb: Likewise. 10698 * s-pack51.ads: Likewise. 10699 * s-pack52.adb: Likewise. 10700 * s-pack52.ads: Likewise. 10701 * s-pack53.adb: Likewise. 10702 * s-pack53.ads: Likewise. 10703 * s-pack54.adb: Likewise. 10704 * s-pack54.ads: Likewise. 10705 * s-pack55.adb: Likewise. 10706 * s-pack55.ads: Likewise. 10707 * s-pack56.adb: Likewise. 10708 * s-pack56.ads: Likewise. 10709 * s-pack57.adb: Likewise. 10710 * s-pack57.ads: Likewise. 10711 * s-pack58.adb: Likewise. 10712 * s-pack58.ads: Likewise. 10713 * s-pack59.adb: Likewise. 10714 * s-pack59.ads: Likewise. 10715 * s-pack60.adb: Likewise. 10716 * s-pack60.ads: Likewise. 10717 * s-pack61.adb: Likewise. 10718 * s-pack61.ads: Likewise. 10719 * s-pack62.adb: Likewise. 10720 * s-pack62.ads: Likewise. 10721 * s-pack63.adb: Likewise. 10722 * s-pack63.ads: Likewise. 10723 * s-parame-ae653.ads: Likewise. 10724 * s-parame-hpux.ads: Likewise. 10725 * s-parame-rtems.adb: Likewise. 10726 * s-parame-vms-alpha.ads: Likewise. 10727 * s-parame-vms-ia64.ads: Likewise. 10728 * s-parame-vms-restrict.ads: Likewise. 10729 * s-parame-vxworks.adb: Likewise. 10730 * s-parame-vxworks.ads: Likewise. 10731 * s-parame.adb: Likewise. 10732 * s-parame.ads: Likewise. 10733 * s-parint.adb: Likewise. 10734 * s-parint.ads: Likewise. 10735 * s-pooglo.adb: Likewise. 10736 * s-pooglo.ads: Likewise. 10737 * s-pooloc.adb: Likewise. 10738 * s-pooloc.ads: Likewise. 10739 * s-poosiz.adb: Likewise. 10740 * s-poosiz.ads: Likewise. 10741 * s-powtab.ads: Likewise. 10742 * s-proinf-irix-athread.adb: Likewise. 10743 * s-proinf-irix-athread.ads: Likewise. 10744 * s-proinf.adb: Likewise. 10745 * s-proinf.ads: Likewise. 10746 * s-purexc.ads: Likewise. 10747 * s-rannum.adb: Likewise. 10748 * s-rannum.ads: Likewise. 10749 * s-restri.adb: Likewise. 10750 * s-restri.ads: Likewise. 10751 * s-rident.ads: Likewise. 10752 * s-rpc.adb: Likewise. 10753 * s-rpc.ads: Likewise. 10754 * s-scaval.adb: Likewise. 10755 * s-scaval.ads: Likewise. 10756 * s-secsta.adb: Likewise. 10757 * s-secsta.ads: Likewise. 10758 * s-sequio.adb: Likewise. 10759 * s-sequio.ads: Likewise. 10760 * s-shasto.adb: Likewise. 10761 * s-shasto.ads: Likewise. 10762 * s-soflin.adb: Likewise. 10763 * s-soflin.ads: Likewise. 10764 * s-solita.adb: Likewise. 10765 * s-solita.ads: Likewise. 10766 * s-sopco3.adb: Likewise. 10767 * s-sopco3.ads: Likewise. 10768 * s-sopco4.adb: Likewise. 10769 * s-sopco4.ads: Likewise. 10770 * s-sopco5.adb: Likewise. 10771 * s-sopco5.ads: Likewise. 10772 * s-stache.adb: Likewise. 10773 * s-stache.ads: Likewise. 10774 * s-stalib.adb: Likewise. 10775 * s-stalib.ads: Likewise. 10776 * s-stausa.adb: Likewise. 10777 * s-stausa.ads: Likewise. 10778 * s-stchop-limit.ads: Likewise. 10779 * s-stchop-rtems.adb: Likewise. 10780 * s-stchop-vxworks.adb: Likewise. 10781 * s-stchop.adb: Likewise. 10782 * s-stchop.ads: Likewise. 10783 * s-stoele.adb: Likewise. 10784 * s-stoele.ads: Likewise. 10785 * s-stopoo.adb: Likewise. 10786 * s-stopoo.ads: Likewise. 10787 * s-stratt.adb: Likewise. 10788 * s-stratt.ads: Likewise. 10789 * s-strcom.adb: Likewise. 10790 * s-strcom.ads: Likewise. 10791 * s-string.adb: Likewise. 10792 * s-string.ads: Likewise. 10793 * s-strops.adb: Likewise. 10794 * s-strops.ads: Likewise. 10795 * s-strxdr.adb: Likewise. 10796 * s-ststop.adb: Likewise. 10797 * s-ststop.ads: Likewise. 10798 * s-taasde.adb: Likewise. 10799 * s-taasde.ads: Likewise. 10800 * s-tadeca.adb: Likewise. 10801 * s-tadeca.ads: Likewise. 10802 * s-tadert.adb: Likewise. 10803 * s-tadert.ads: Likewise. 10804 * s-taenca.adb: Likewise. 10805 * s-taenca.ads: Likewise. 10806 * s-taprob.ads: Likewise. 10807 * s-taprop-dummy.adb: Likewise. 10808 * s-taprop-hpux-dce.adb: Likewise. 10809 * s-taprop-irix.adb: Likewise. 10810 * s-taprop-linux.adb: Likewise. 10811 * s-taprop-lynxos.adb: Likewise. 10812 * s-taprop-mingw.adb: Likewise. 10813 * s-taprop-posix.adb: Likewise. 10814 * s-taprop-solaris.adb: Likewise. 10815 * s-taprop-tru64.adb: Likewise. 10816 * s-taprop-vms.adb: Likewise. 10817 * s-taprop-vxworks.adb: Likewise. 10818 * s-taprop.ads: Likewise. 10819 * s-tarest.adb: Likewise. 10820 * s-tarest.ads: Likewise. 10821 * s-tasdeb.adb: Likewise. 10822 * s-tasdeb.ads: Likewise. 10823 * s-tasinf-irix.ads: Likewise. 10824 * s-tasinf-linux.adb: Likewise. 10825 * s-tasinf-linux.ads: Likewise. 10826 * s-tasinf-mingw.adb: Likewise. 10827 * s-tasinf-mingw.ads: Likewise. 10828 * s-tasinf-solaris.adb: Likewise. 10829 * s-tasinf-solaris.ads: Likewise. 10830 * s-tasinf-tru64.ads: Likewise. 10831 * s-tasinf.adb: Likewise. 10832 * s-tasinf.ads: Likewise. 10833 * s-tasini.adb: Likewise. 10834 * s-tasini.ads: Likewise. 10835 * s-taskin.adb: Likewise. 10836 * s-taskin.ads: Likewise. 10837 * s-taspri-dummy.ads: Likewise. 10838 * s-taspri-hpux-dce.ads: Likewise. 10839 * s-taspri-mingw.ads: Likewise. 10840 * s-taspri-solaris.ads: Likewise. 10841 * s-taspri-tru64.ads: Likewise. 10842 * s-taspri-vms.ads: Likewise. 10843 * s-taspri-vxworks.ads: Likewise. 10844 * s-tasque.adb: Likewise. 10845 * s-tasque.ads: Likewise. 10846 * s-tasren.adb: Likewise. 10847 * s-tasren.ads: Likewise. 10848 * s-tasres.ads: Likewise. 10849 * s-tassta.adb: Likewise. 10850 * s-tassta.ads: Likewise. 10851 * s-tasuti.adb: Likewise. 10852 * s-tasuti.ads: Likewise. 10853 * s-tfsetr-default.adb: Likewise. 10854 * s-tfsetr-vxworks.adb: Likewise. 10855 * s-tpinop.adb: Likewise. 10856 * s-tpinop.ads: Likewise. 10857 * s-tpoben.adb: Likewise. 10858 * s-tpoben.ads: Likewise. 10859 * s-tpobop.adb: Likewise. 10860 * s-tpobop.ads: Likewise. 10861 * s-tpopde-vms.adb: Likewise. 10862 * s-tpopde-vms.ads: Likewise. 10863 * s-tpopsp-lynxos.adb: Likewise. 10864 * s-tpopsp-posix-foreign.adb: Likewise. 10865 * s-tpopsp-posix.adb: Likewise. 10866 * s-tpopsp-solaris.adb: Likewise. 10867 * s-tpopsp-vxworks.adb: Likewise. 10868 * s-tporft.adb: Likewise. 10869 * s-tposen.adb: Likewise. 10870 * s-tposen.ads: Likewise. 10871 * s-traceb.adb: Likewise. 10872 * s-traceb.ads: Likewise. 10873 * s-traces-default.adb: Likewise. 10874 * s-traces.adb: Likewise. 10875 * s-traces.ads: Likewise. 10876 * s-traent-vms.adb: Likewise. 10877 * s-traent-vms.ads: Likewise. 10878 * s-traent.adb: Likewise. 10879 * s-traent.ads: Likewise. 10880 * s-trafor-default.adb: Likewise. 10881 * s-trafor-default.ads: Likewise. 10882 * s-tratas-default.adb: Likewise. 10883 * s-tratas.adb: Likewise. 10884 * s-tratas.ads: Likewise. 10885 * s-unstyp.ads: Likewise. 10886 * s-utf_32.adb: Likewise. 10887 * s-utf_32.ads: Likewise. 10888 * s-vaflop-vms-alpha.adb: Likewise. 10889 * s-vaflop.adb: Likewise. 10890 * s-vaflop.ads: Likewise. 10891 * s-valboo.adb: Likewise. 10892 * s-valboo.ads: Likewise. 10893 * s-valcha.adb: Likewise. 10894 * s-valcha.ads: Likewise. 10895 * s-valdec.adb: Likewise. 10896 * s-valdec.ads: Likewise. 10897 * s-valenu.adb: Likewise. 10898 * s-valenu.ads: Likewise. 10899 * s-valint.adb: Likewise. 10900 * s-valint.ads: Likewise. 10901 * s-vallld.adb: Likewise. 10902 * s-vallld.ads: Likewise. 10903 * s-vallli.adb: Likewise. 10904 * s-vallli.ads: Likewise. 10905 * s-valllu.adb: Likewise. 10906 * s-valllu.ads: Likewise. 10907 * s-valrea.adb: Likewise. 10908 * s-valrea.ads: Likewise. 10909 * s-valuns.adb: Likewise. 10910 * s-valuns.ads: Likewise. 10911 * s-valuti.adb: Likewise. 10912 * s-valuti.ads: Likewise. 10913 * s-valwch.adb: Likewise. 10914 * s-valwch.ads: Likewise. 10915 * s-veboop.adb: Likewise. 10916 * s-veboop.ads: Likewise. 10917 * s-vector.ads: Likewise. 10918 * s-vercon.adb: Likewise. 10919 * s-vercon.ads: Likewise. 10920 * s-vmexta.adb: Likewise. 10921 * s-vmexta.ads: Likewise. 10922 * s-vxwext-kernel.ads: Likewise. 10923 * s-vxwext-rtp.adb: Likewise. 10924 * s-vxwext-rtp.ads: Likewise. 10925 * s-vxwext.ads: Likewise. 10926 * s-vxwork-arm.ads: Likewise. 10927 * s-vxwork-m68k.ads: Likewise. 10928 * s-vxwork-mips.ads: Likewise. 10929 * s-vxwork-ppc.ads: Likewise. 10930 * s-vxwork-sparcv9.ads: Likewise. 10931 * s-vxwork-x86.ads: Likewise. 10932 * s-wchcnv.adb: Likewise. 10933 * s-wchcnv.ads: Likewise. 10934 * s-wchcon.adb: Likewise. 10935 * s-wchcon.ads: Likewise. 10936 * s-wchjis.adb: Likewise. 10937 * s-wchjis.ads: Likewise. 10938 * s-wchstw.adb: Likewise. 10939 * s-wchstw.ads: Likewise. 10940 * s-wchwts.adb: Likewise. 10941 * s-wchwts.ads: Likewise. 10942 * s-widboo.adb: Likewise. 10943 * s-widboo.ads: Likewise. 10944 * s-widcha.adb: Likewise. 10945 * s-widcha.ads: Likewise. 10946 * s-widenu.adb: Likewise. 10947 * s-widenu.ads: Likewise. 10948 * s-widlli.adb: Likewise. 10949 * s-widlli.ads: Likewise. 10950 * s-widllu.adb: Likewise. 10951 * s-widllu.ads: Likewise. 10952 * s-widwch.adb: Likewise. 10953 * s-widwch.ads: Likewise. 10954 * s-win32.ads: Likewise. 10955 * s-winext.ads: Likewise. 10956 * s-wwdcha.adb: Likewise. 10957 * s-wwdcha.ads: Likewise. 10958 * s-wwdenu.adb: Likewise. 10959 * s-wwdenu.ads: Likewise. 10960 * s-wwdwch.adb: Likewise. 10961 * s-wwdwch.ads: Likewise. 10962 * scans.adb: Likewise. 10963 * scans.ads: Likewise. 10964 * seh_init.c: Likewise. 10965 * sfn_scan.adb: Likewise. 10966 * sinfo.adb: Likewise. 10967 * sinfo.ads: Likewise. 10968 * sinput.adb: Likewise. 10969 * sinput.ads: Likewise. 10970 * snames.adb: Likewise. 10971 * snames.ads: Likewise. 10972 * socket.c: Likewise. 10973 * stand.adb: Likewise. 10974 * stand.ads: Likewise. 10975 * stringt.adb: Likewise. 10976 * stringt.ads: Likewise. 10977 * sysdep.c: Likewise. 10978 * system-aix.ads: Likewise. 10979 * system-darwin-ppc.ads: Likewise. 10980 * system-darwin-x86.ads: Likewise. 10981 * system-darwin-x86_64.ads: Likewise. 10982 * system-freebsd-x86.ads: Likewise. 10983 * system-hpux-ia64.ads: Likewise. 10984 * system-hpux.ads: Likewise. 10985 * system-irix-n32.ads: Likewise. 10986 * system-irix-n64.ads: Likewise. 10987 * system-irix-o32.ads: Likewise. 10988 * system-linux-alpha.ads: Likewise. 10989 * system-linux-hppa.ads: Likewise. 10990 * system-linux-ia64.ads: Likewise. 10991 * system-linux-mips.ads: Likewise. 10992 * system-linux-mipsel.ads: Likewise. 10993 * system-linux-ppc.ads: Likewise. 10994 * system-linux-ppc64.ads: Likewise. 10995 * system-linux-s390.ads: Likewise. 10996 * system-linux-s390x.ads: Likewise. 10997 * system-linux-sh4.ads: Likewise. 10998 * system-linux-sparc.ads: Likewise. 10999 * system-linux-sparcv9.ads: Likewise. 11000 * system-linux-x86.ads: Likewise. 11001 * system-linux-x86_64.ads: Likewise. 11002 * system-lynxos-ppc.ads: Likewise. 11003 * system-lynxos-x86.ads: Likewise. 11004 * system-mingw-x86_64.ads: Likewise. 11005 * system-mingw.ads: Likewise. 11006 * system-rtems.ads: Likewise. 11007 * system-solaris-sparc.ads: Likewise. 11008 * system-solaris-sparcv9.ads: Likewise. 11009 * system-solaris-x86.ads: Likewise. 11010 * system-solaris-x86_64.ads: Likewise. 11011 * system-tru64.ads: Likewise. 11012 * system-vms-ia64.ads: Likewise. 11013 * system-vms-zcx.ads: Likewise. 11014 * system-vms.ads: Likewise. 11015 * system-vms_64.ads: Likewise. 11016 * system-vxworks-arm.ads: Likewise. 11017 * system-vxworks-m68k.ads: Likewise. 11018 * system-vxworks-mips.ads: Likewise. 11019 * system-vxworks-ppc.ads: Likewise. 11020 * system-vxworks-sparcv9.ads: Likewise. 11021 * system-vxworks-x86.ads: Likewise. 11022 * system.ads: Likewise. 11023 * table.adb: Likewise. 11024 * table.ads: Likewise. 11025 * targext.c: Likewise. 11026 * targparm.ads: Likewise. 11027 * tree_in.adb: Likewise. 11028 * tree_in.ads: Likewise. 11029 * tree_io.adb: Likewise. 11030 * tree_io.ads: Likewise. 11031 * types.adb: Likewise. 11032 * types.ads: Likewise. 11033 * uintp.adb: Likewise. 11034 * uintp.ads: Likewise. 11035 * uname.adb: Likewise. 11036 * uname.ads: Likewise. 11037 * urealp.adb: Likewise. 11038 * urealp.ads: Likewise. 11039 * vx_stack_info.c: Likewise. 11040 * widechar.adb: Likewise. 11041 * widechar.ads: Likewise. 11042 * exp_attr.adb: Change copyright header to refer to version 11043 3 of the GNU General Public License and to point readers at the 11044 COPYING3 file and the FSF's license web page. 11045 * sem.adb: Likewise. 11046 * sem_attr.ads: Likewise. 11047 * freeze.adb: Likewise. 11048 * freeze.ads: Likewise. 11049 * errout.ads: Likewise. 11050 * erroutc.adb: Likewise. 11051 * exp_ch11.ads: Likewise. 11052 110532009-04-09 Jakub Jelinek <jakub@redhat.com> 11054 11055 * config-lang.in: Change copyright header to refer to version 11056 3 of the GNU General Public License and to point readers at the 11057 COPYING3 file and the FSF's license web page. 11058 * gcc-interface/trans.c: Likewise. 11059 * gnathtml.pl: Likewise. 11060 * gcc-interface/ada.h: Likewise. Remove runtime exception. 11061 * gcc-interface/gigi.h: Likewise. 11062 * gcc-interface/misc.c: Likewise. 11063 * gcc-interface/targtyps.c: Likewise. 11064 110652009-04-09 Nicolas Setton <setton@adacore.com> 11066 11067 * s-osinte-darwin.ads: Fix wrong binding to struc timeval. 11068 11069 * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of 11070 struct_timeval. 11071 110722009-04-09 Bob Duff <duff@adacore.com> 11073 11074 * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in 11075 internally-generated nodes related to select statements to avoid 11076 confusing the debugger. 11077 110782009-04-09 Pascal Obry <obry@adacore.com> 11079 11080 * make.adb: Ensure that all linker arguments are duplicated. 11081 110822009-04-09 Robert Dewar <dewar@adacore.com> 11083 11084 * sem_ch5.adb: Minor reformatting 11085 110862009-04-09 Vincent Celier <celier@adacore.com> 11087 11088 * vms_data.ads: 11089 Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT 11090 New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn 11091 New qualifier /LXDEBUG=nnn for -gnatDnnn 11092 For H820-010 11093 11094 * gnat_ugn.texi: 11095 Update documentation for VMS qualifiers equivalent to -gnatGnn and 11096 -gnatDnn 11097 110982009-04-09 Nicolas Setton <setton@adacore.com> 11099 11100 * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long, 11101 to match layout of siginfo_t in sys/signal.h. 11102 11103 * gcc-interface/Makefile.in: Add section for x86_64 darwin. 11104 111052009-04-09 Thomas Quinot <quinot@adacore.com> 11106 11107 * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment. 11108 111092009-04-09 Nicolas Setton <setton@adacore.com> 11110 11111 * s-oscons-tmplt.c: Allow long lines in the generated spec. 11112 Add generation of Darwin-specific constants needed when binding to the 11113 pthread library. 11114 111152009-04-09 Robert Dewar <dewar@adacore.com> 11116 11117 * checks.adb: 11118 (Insert_Valid_Check): Avoid unnecessary generation of junk declaration 11119 when no invalid values exist, Avoid duplicate read of atomic variable. 11120 11121 * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid 11122 (Standard_Unsigned): Set Is_Known_Valid 11123 11124 * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on 11125 subtype declaration if no constraint. 11126 (Set_Modular_Size): Set Is_Known_Valid if appropriate 11127 (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint 11128 111292009-04-09 Robert Dewar <dewar@adacore.com> 11130 11131 * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb, 11132 switch.ads: for numeric switches, an optional equal sign is always 11133 allowed. 11134 111352009-04-09 Vincent Celier <celier@adacore.com> 11136 11137 * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where 11138 the case of file names is not significant. 11139 111402009-04-09 Vincent Celier <celier@adacore.com> 11141 11142 * errout.adb: Remove dependency on package Style 11143 11144 * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function, 11145 moved to Stylesw. 11146 11147 * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from 11148 Styleg. 11149 11150 * errutil.adb, par.adb: Import Stylesw 11151 111522009-04-09 Arnaud Charlet <charlet@adacore.com> 11153 11154 * opt.ads: Fix typos. 11155 111562009-04-09 Robert Dewar <dewar@adacore.com> 11157 11158 * einfo.adb: Minor reformatting 11159 111602009-04-09 Robert Dewar <dewar@adacore.com> 11161 11162 * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style 11163 units. 11164 11165 * styleg-c.ads, styleg-c.adb: Removed, no longer used. 11166 111672009-04-09 Robert Dewar <dewar@adacore.com> 11168 11169 * g-comver.adb: Minor reformatting. 11170 111712009-04-09 Thomas Quinot <quinot@adacore.com> 11172 11173 * lib-load.ads (Load_Unit): Update documentation. 11174 111752009-04-09 Ed Schonberg <schonberg@adacore.com> 11176 11177 * lib-load.adb (Load_Unit): When loading the parent of a child unit 11178 named in a with_clause, retain the with_clause to preserve a 11179 limited_with indication. 11180 111812009-04-09 Robert Dewar <dewar@adacore.com> 11182 11183 * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb, 11184 exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, 11185 sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where 11186 possible to replace an OR of two separate tests. 11187 111882009-04-09 Robert Dewar <dewar@adacore.com> 11189 11190 * binderr.adb, errout.adb, errutil.adb: New circuitry for handling 11191 Maximum_Messages. 11192 11193 * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global 11194 warning status as well. 11195 11196 * opt.ads (Maximum_Messages): New name for Maximum_Errors. 11197 11198 * switch-b.adb, switch-c.adb: Change name Maximum_Errors to 11199 Maximum_Messages. 11200 11201 * bindusg.adb, usage.adb: Update line for -gnatm switch 11202 11203 * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and 11204 -mnn binder switch. 11205 112062009-04-09 Robert Dewar <dewar@adacore.com> 11207 11208 * sem_ch10.adb: Minor reformatting. 11209 112102009-04-09 Bob Duff <duff@adacore.com> 11211 11212 * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler): 11213 Set Sloc of generated nodes for calls to Undefer_Aborts and 11214 Save_Occurrence to No_Location, so the debugger ignores them and 11215 therefore does not jump back and forth when single stepping. 11216 112172009-04-09 Robert Dewar <dewar@adacore.com> 11218 11219 * switch-b.adb: Minor reformatting. 11220 112212009-04-09 Robert Dewar <dewar@adacore.com> 11222 11223 * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb, 11224 sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb, 11225 exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb, 11226 sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb, 11227 einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb, 11228 tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, 11229 exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb, 11230 sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb, 11231 sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb, 11232 sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: 11233 Reorganize einfo/sem_aux, moving routines from einfo to sem_aux 11234 112352009-04-09 Robert Dewar <dewar@adacore.com> 11236 11237 * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code. 11238 11239 * atree.h: Add Elist26 11240 11241 * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc 11242 backends. 11243 112442009-04-09 Javier Miranda <miranda@adacore.com> 11245 11246 * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to 11247 retrieve from the Dispatch_Table_Wrappers list the external name. 11248 Addition of documentation. 11249 (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is 11250 used to export secondary dispatch tables (in the previous version of 11251 the frontend only primary dispatch tables were exported). Addition of 11252 documentation. 11253 (Import_DT): New subprogram (internal of Make_Tags). Used to import a 11254 dispatch table of a given tagged type. 11255 (Make_Tags): Modified to import secondary dispatch tables. 11256 11257 * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup. 11258 (Constant_Redeclaration): Code cleanup. 11259 11260 * einfo.ads (Dispatch_Table_Wrapper): Renamed to 11261 Dispatch_Table_Wrappers. Update documentation. 11262 11263 * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper): 11264 Renamed to Dispatch_Table_Wrappers. 11265 11266 * sem_util.adb (Collect_Interface_Components): Improve handling of 11267 private types. 11268 11269 * atree.ads (Elist26, Set_Elist26): New subprograms 11270 11271 * atree.adb (Elist26, Set_Elist26): New subprograms 11272 112732009-04-09 Javier Miranda <miranda@adacore.com> 11274 11275 * sem_ch3.adb (Build_Derived_Record_Type): Fix typo. 11276 (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of 11277 tagged types. 11278 112792009-04-09 Robert Dewar <dewar@adacore.com> 11280 11281 * s-direio.adb: Minor reformatting 11282 11283 * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String 11284 112852009-04-09 Robert Dewar <dewar@adacore.com> 11286 11287 * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases 11288 112892009-04-09 Pascal Obry <obry@adacore.com> 11290 11291 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads, 11292 s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads, 11293 a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads, 11294 a-filico.ads: Add some missing overriding keywords. 11295 112962009-04-09 Pascal Obry <obry@adacore.com> 11297 11298 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb, 11299 a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, 11300 a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor 11301 reformatting. 11302 113032009-04-09 Ed Schonberg <schonberg@adacore.com> 11304 11305 * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on 11306 missing overriding indicator if the new declaration is not seen as 11307 primitive. 11308 113092009-04-09 Thomas Quinot <quinot@adacore.com> 11310 11311 * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle 11312 overflows in computation of bounds. 11313 113142009-04-09 Pascal Obry <obry@adacore.com> 11315 11316 * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some 11317 typos in comment. 11318 113192009-04-09 Robert Dewar <dewar@adacore.com> 11320 11321 * sem_attr.adb (Check_Stream_Attribute): Check violation of 11322 restriction No_Streams 11323 11324 * gnat_rm.texi: Clarify No_Streams restriction 11325 11326 * g-socket.adb: Minor reformatting. 11327 113282009-04-09 Thomas Quinot <quinot@adacore.com> 11329 11330 * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces. 11331 113322009-04-09 Geert Bosch <bosch@adacore.com> 11333 11334 * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument. 11335 (Set_Result): Likewise. 11336 (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the 11337 conversion, as required by RM 4.6(31). 11338 113392009-04-08 Robert Dewar <dewar@adacore.com> 11340 11341 * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks 11342 suppressed. 11343 11344 * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all 11345 resolution steps. 11346 113472009-04-08 Robert Dewar <dewar@adacore.com> 11348 11349 * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for 11350 No_Local_Allocators restriction preventing local instantiation. 11351 113522009-04-08 Thomas Quinot <quinot@adacore.com> 11353 11354 * sem_eval.adb: Minor comment fix 11355 113562009-04-08 Thomas Quinot <quinot@adacore.com> 11357 11358 * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller): 11359 New limited controlled type used to automate the initialization and 11360 finalization of the sockets implementation. 11361 (GNAT.Sockets.Initialize, Finalize): Make these no-ops 11362 113632009-04-08 Vincent Celier <celier@adacore.com> 11364 11365 * prj-attr.adb: New read-only project-level attribute Project_Dir 11366 11367 * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of 11368 read-only attribute of the same name. 11369 (Process_Declarative_Items): Call Add_Attributes with Project_Dir 11370 (Recursive_Process): Ditto 11371 11372 * snames.adb: Add new standard name Project_Dir 11373 11374 * snames.ads: Add new standard name Project_Dir 11375 113762009-04-08 Thomas Quinot <quinot@adacore.com> 11377 11378 * checks.adb: Minor reformatting 11379 113802009-04-08 Vincent Celier <celier@adacore.com> 11381 11382 * vms_data.ads: Add documentation for new style keyword 11383 OVERRIDING_INDICATORS 11384 113852009-04-08 Robert Dewar <dewar@adacore.com> 11386 11387 * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the 11388 spec is in the current unit. 11389 113902009-04-08 Ed Schonberg <schonberg@adacore.com> 11391 11392 * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for 11393 presence of entity. 11394 11395 * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators 11396 113972009-04-08 Vincent Celier <celier@adacore.com> 11398 11399 * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS) 11400 114012009-04-08 Thomas Quinot <quinot@adacore.com> 11402 11403 * checks.ads: Minor reformatting 11404 114052009-04-08 Robert Dewar <dewar@adacore.com> 11406 11407 * gnat_rm.texi: Update documentation of pragma Obsolescent 11408 11409 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to 11410 be omitted, and allow Entity parameter to be omitted. 11411 114122009-04-08 Thomas Quinot <quinot@adacore.com> 11413 11414 * exp_util.adb: Minor comment fix 11415 114162009-04-08 Robert Dewar <dewar@adacore.com> 11417 11418 * g-socket.ads: Fix bad syntax in pragma Obsolescent 11419 11420 * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of 11421 argument with no identifier following one that has an identifier. Was 11422 missed in some cases. 11423 11424 * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy 11425 identifier. 11426 (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers 11427 11428 * snames.adb: Add Name_Policy 11429 11430 * snames.ads: Add Name_Policy 11431 114322009-04-08 Robert Dewar <dewar@adacore.com> 11433 11434 * gnat_rm.texi: Minor reformatting 11435 11436 * par-ch2.adb: Minor reformatting 11437 114382009-04-08 Robert Dewar <dewar@adacore.com> 11439 11440 * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up. 11441 114422009-04-08 Robert Dewar <dewar@adacore.com> 11443 11444 * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate 11445 properly in the presence of Remote_Types or Remote_Call_Interface. 11446 11447 * sem_util.adb: Add comment. 11448 114492009-04-08 Robert Dewar <dewar@adacore.com> 11450 11451 * ug_words: Add /ASSUME_VALID for -gnatB 11452 11453 * vms_data.ads: Add /ASSUME_VALID for -gnatB 11454 11455 * sem_cat.adb: Add clarifying commment 11456 11457 * a-direio.ads (Bytes): Make sure value is non-zero 11458 114592009-04-08 Ed Schonberg <schonberg@adacore.com> 11460 11461 * sem_util.adb (Is_Variable): If the prefix is an explicit dereference 11462 that does not come from source, check for a rewritten function call in 11463 prefixed notation before other forms of rewriting. 11464 114652009-04-08 Robert Dewar <dewar@adacore.com> 11466 11467 * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since 11468 these are now obsolescent units used only for bootrapping with an 11469 older compiler. 11470 114712009-04-08 Robert Dewar <dewar@adacore.com> 11472 11473 * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage 11474 11475 * sem_ch3.adb: Minor comment updates 11476 114772009-04-08 Ed Schonberg <schonberg@adacore.com> 11478 11479 * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms 11480 that come from source. 11481 114822009-04-08 Tristan Gingold <gingold@adacore.com> 11483 11484 * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE. 11485 * gcc-interface/decl.c (prepend_attributes): New case 11486 Pragma_Thread_Local_Storage. 11487 * gcc-interface/utils.c (process_attributes): New case 11488 ATTR_THREAD_LOCAL_STORAGE. 11489 114902009-04-08 Ed Schonberg <schonberg@adacore.com> 11491 11492 * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable 11493 by the back-end if it contains a call to a subprogram without a 11494 previous spec that is declared in the same unit. 11495 11496 * errout.ads: Update comments on uses of dirs 11497 114982009-04-08 Robert Dewar <dewar@adacore.com> 11499 11500 * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed 11501 115022009-04-08 Tristan Gingold <gingold@adacore.com> 11503 11504 * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level 11505 variables. 11506 Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work). 11507 115082009-04-08 Vincent Celier <celier@adacore.com> 11509 11510 * prj-nmsc.adb: 11511 (Add_Source): Add the mapping of the unit name to source file name in 11512 the Unit_Sources_HT hash table, if the unit name is not null. 11513 11514 * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT 11515 11516 * prj.ads (Unit_Sources_Htable): New hash table instantiation 11517 (Project_Tree_Data): New component Unit_Sources_HT 11518 115192009-04-08 Thomas Quinot <quinot@adacore.com> 11520 11521 * sem_ch8.adb: Minor reformatting. 11522 Minor code reorganization. 11523 115242009-04-08 Robert Dewar <dewar@adacore.com> 11525 11526 * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb, 11527 snames.ads, freeze.adb, par-prag.adb: Add implementation of 11528 pragma Thread_Local_Storage, setting new flag 11529 Has_Pragma_Thread_Local_Storage in corresponding entities. 11530 115312009-04-08 Emmanuel Briot <briot@adacore.com> 11532 11533 * prj.ads: Update comment on switches file 11534 11535 * prj-nmsc.adb: Code clean up. Use renaming clauses. 11536 115372009-04-08 Robert Dewar <dewar@adacore.com> 11538 11539 * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling 11540 115412009-04-08 Thomas Quinot <quinot@adacore.com> 11542 11543 * ali-util.adb: Minor comment fix 11544 115452009-04-08 Ed Schonberg <schonberg@adacore.com> 11546 11547 * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause 11548 appears in a context clause, and the enclosing package is mentioned in 11549 a limited_with_clause. 11550 (Use_One_Type): Reject clause if type is still incomplete. 11551 115522009-04-08 Emmanuel Briot <briot@adacore.com> 11553 11554 * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode): 11555 avoid copies of Source_Data variables when possible, since these 11556 involve calls to memcpy() which are done too many times. 11557 115582009-04-08 Robert Dewar <dewar@adacore.com> 11559 11560 * exp_ch4.adb (Expand_Concatenate): Clean up code 11561 115622009-04-07 Thomas Quinot <quinot@adacore.com> 11563 11564 * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index 11565 type for the case of concatenating a constrained array indexed by an 11566 enumeration type. 11567 115682009-04-07 Ed Schonberg <schonberg@adacore.com> 11569 11570 * sem_ch6.adb (Check_Conformance): when checking conformance of an 11571 operation that overrides an abstract operation inherited from an 11572 interface, return False if only one of the controlling formals is an 11573 access parameter. 11574 115752009-04-07 Ed Schonberg <schonberg@adacore.com> 11576 11577 * sem_ch8.adb (Analyze_Object_Renaming): additional error messages 11578 mandated by AI05-105. 11579 115802009-04-07 Vincent Celier <celier@adacore.com> 11581 11582 * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string 11583 115842009-04-07 Thomas Quinot <quinot@adacore.com> 11585 11586 * usage.adb: Minor fix in usage message. 11587 11588 * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to 11589 match declaration; the correct subtype is Node_Id, not Entity_Id, 11590 because the expected node kind is an identifier, not a defining 11591 identifier. 11592 11593 * switch-c.adb: Minor reformatting. 11594 11595 * uintp.adb: Minor reformatting. 11596 115972009-04-07 Robert Dewar <dewar@adacore.com> 11598 11599 * exp_ch13.adb: Minor reformatting 11600 116012009-04-07 Robert Dewar <dewar@adacore.com> 11602 11603 * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence 11604 against missing parent. 11605 116062009-04-07 Thomas Quinot <quinot@adacore.com> 11607 11608 * xoscons.adb: Minor reformatting 11609 116102009-04-07 Robert Dewar <dewar@adacore.com> 11611 11612 * rtsfind.ads: Remove obsolete string concatenation entries 11613 116142009-04-07 Robert Dewar <dewar@adacore.com> 11615 11616 * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds 11617 116182009-04-07 Ed Schonberg <schonberg@adacore.com> 11619 11620 * sem_ch10.adb (Check_Body_Required): Handle properly imported 11621 subprograms. 11622 116232009-04-07 Gary Dismukes <dismukes@adacore.com> 11624 11625 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 11626 Attribute_Address): When Init_Or_Norm_Scalars is True and the object 11627 is of a scalar or string type then suppress the setting of the 11628 expression to Empty. 11629 11630 * freeze.adb (Warn_Overlay): Also emit the warnings about default 11631 initialization for the cases of scalar and string objects when 11632 Init_Or_Norm_Scalars is True. 11633 116342009-04-07 Bob Duff <duff@adacore.com> 11635 11636 * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes 11637 116382009-04-07 Bob Duff <duff@adacore.com> 11639 11640 * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A 11641 Form parameter of Text_Translation=No allows binary mode for Text_IO 11642 files. 11643 11644 * gnat_rm.texi: Document Form parameter Text_Translation=xxx. 11645 116462009-04-07 Javier Miranda <miranda@adacore.com> 11647 11648 * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when 11649 processing the bounds for bit packed arrays or VM target machines. 11650 116512009-04-07 Thomas Quinot <quinot@adacore.com> 11652 11653 * g-sothco.ads (Int_Access): Remove extraneous access type (use 11654 anonymous access instead). 11655 (Get_Socket_From_Set): Fix incorrectly reverted formals 11656 Last and Socket to match the underlying C routine. 11657 11658 * g-socket.adb, g-socket.ads 11659 (Get): Use named parameter associations instead of positional ones in 11660 call go Get_Socket_From_Set, since this routine has two formals of the 11661 same type. 11662 (Image): New procedure. 11663 11664 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, 11665 g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads: 11666 (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access" 11667 for type of Arg formal. 11668 11669 * sem_warn.adb: Minor reformatting 11670 116712009-04-07 Ed Schonberg <schonberg@adacore.com> 11672 11673 * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates 11674 over record components. 11675 116762009-04-07 Nicolas Roche <roche@adacore.com> 11677 11678 * gsocket.h: 11679 Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library 11680 has disappeared between VxWorks 6.4 and VxWorks 6.5 11681 In RTP mode use time.h instead of times.h 11682 116832009-04-07 Robert Dewar <dewar@adacore.com> 11684 11685 * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling 11686 116872009-04-07 Kevin Pouget <pouget@adacore.com> 11688 11689 * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct 11690 expanded code for constrained types. 11691 116922009-04-07 Ed Schonberg <schonberg@adacore.com> 11693 11694 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement 11695 AI05-105: in an object renaming declaration, anonymousness is a name 11696 resolution rule. 11697 11698 * sem_ch8.adb (Analyze_Object_Renaming): Ditto. 11699 117002009-04-07 Arnaud Charlet <charlet@adacore.com> 11701 11702 * g-comlin.adb (Expansion): Fix old regression: also return directory 11703 names when matching. 11704 117052009-04-07 Robert Dewar <dewar@adacore.com> 11706 11707 * exp_ch4.adb: 11708 (Expand_N_Op_Concat): Call Expand_Concatenate for all cases 11709 (Expand_Concatenate): New name for Expand_Concatenate_String which has 11710 been rewritten to handle all types. 11711 (Expand_Concatenate_Other): Remove 11712 117132009-04-07 Ed Schonberg <schonberg@adacore.com> 11714 11715 * lib-xref.adb (Generate_Reference): A default subprogram in an 11716 instance appears within the tree for the instance, but generates an 11717 implicit reference in the ALI. 11718 117192009-04-07 Javier Miranda <miranda@adacore.com> 11720 11721 * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged 11722 derived type that has discriminants, propagate the list of interfaces 11723 to the corresponding new base type. In addition, propagate also 11724 attribute Limited_Present (found working in this patch). 11725 117262009-04-07 Robert Dewar <dewar@adacore.com> 11727 11728 * exp_ch4.adb: Rewrite concatenation expansion. 11729 117302009-04-07 Ed Schonberg <schonberg@adacore.com> 11731 11732 * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only 11733 relevant to packages. 11734 117352009-04-07 Robert Dewar <dewar@adacore.com> 11736 11737 * sem_attr.adb: Minor reformatting 11738 11739 * sem_ch6.adb: Minor reformatting 11740 117412009-04-07 Tristan Gingold <gingold@adacore.com> 11742 11743 * socket.c: Add more protections against S_resolvLib_ macros. 11744 117452009-04-07 Thomas Quinot <quinot@adacore.com> 11746 11747 * sem_attr.adb: Minor reformatting 11748 117492009-04-07 Ed Schonberg <schonberg@adacore.com> 11750 11751 * sem_ch6.adb (New_Overloaded_Entity): New predicate 11752 Is_Overriding_Alias to handle properly types that inherit two homonym 11753 operations that have distinct dispatch table entries. 11754 117552009-04-07 Emmanuel Briot <briot@adacore.com> 11756 11757 * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when 11758 looking for the end of a parenthesis group 11759 117602009-04-07 Tristan Gingold <gingold@adacore.com> 11761 11762 * gsocket.h Don't #include resolvLib.h if __RTP__ is defined. 11763 11764 * socket.c Don't use resolvLib_ macros if not defined. 11765 117662009-04-07 Robert Dewar <dewar@adacore.com> 11767 11768 * g-socket.adb: Minor reformatting. 11769 11770 * g-socthi-mingw.adb: Minor reformatting 11771 11772 * g-sothco.ads: Minor reformatting 11773 11774 * exp_ch4.adb: 11775 (Expand_Concatenate_String): Complete rewrite to generate efficient code 11776 inline instead of relying on external library routines. 11777 11778 * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb, 11779 s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now 11780 obsolescent 11781 117822009-04-07 Ed Schonberg <schonberg@adacore.com> 11783 11784 * sem_attr.adb: 11785 (Eval_Attribute): for attributes of array objects that are not strings, 11786 attributes are not static if nominal subtype of object is unconstrained. 11787 117882009-04-07 Ed Schonberg <schonberg@adacore.com> 11789 11790 * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym 11791 operations for a type T in an instance do not override each other, 11792 when T is derived from a formal private type, the corresponding 11793 operations inherited by a type derived from T outside 11794 of the instance do not override each other either. 11795 117962009-04-07 Robert Dewar <dewar@adacore.com> 11797 11798 (Osint.Fail): Change calling sequence to have one string arg 11799 (Make.Make_Failed): Same change 11800 All callers are adjusted to use concatenation 11801 118022009-04-07 Robert Dewar <dewar@adacore.com> 11803 11804 * exp_ch4.adb: Fix documentation typo 11805 118062009-04-07 Robert Dewar <dewar@adacore.com> 11807 11808 * tbuild.ads: Minor reformatting 11809 118102009-04-07 Javier Miranda <miranda@adacore.com> 11811 11812 * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table 11813 when compiling under ZFP runtime. 11814 118152009-04-07 Robert Dewar <dewar@adacore.com> 11816 11817 * g-comlin.adb: Minor reformatting 11818 118192009-04-07 Thomas Quinot <quinot@adacore.com> 11820 11821 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, 11822 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, 11823 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads: 11824 Remove dynamic allocation of Fd_Set in Socket_Set_Type objects. 11825 118262009-04-07 Robert Dewar <dewar@adacore.com> 11827 11828 * gnat_ugn.texi: Document -gnatDnn/-gnatGnn 11829 11830 * opt.ads (Sprint_Line_Limit): New parameter 11831 11832 * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout 11833 11834 * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches 11835 11836 * usage.adb: Output information for -gnatGnn -gnatDnn 11837 118382009-04-07 Robert Dewar <dewar@adacore.com> 11839 11840 * make.adb: Minor reformatting 11841 118422009-04-07 Robert Dewar <dewar@adacore.com> 11843 11844 * mlib-tgt-specific-vms-alpha.adb: Minor reformatting 11845 118462009-04-07 Robert Dewar <dewar@adacore.com> 11847 11848 * mlib-tgt-specific-vms-ia64.adb: Minor reformatting 11849 118502009-04-07 Robert Dewar <dewar@adacore.com> 11851 11852 * checks.adb: 11853 Remove Assume_Valid parameter from In_Subrange_Of calls 11854 11855 * sem_eval.adb: 11856 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed 11857 (Is_In_Range): Remove incorrect use of Assume_Valid 11858 (Is_Out_Of_Range): Remove incorrect use of Assume_Valid 11859 11860 * sem_eval.ads: 11861 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed 11862 (Is_In_Range): Documentation cleanup 11863 (Is_Out_Of_Range): Documentation cleanup 11864 11865 * gnat_rm.texi: 11866 Add documentation for Assume_No_Invalid_Values pragma 11867 11868 * sem_ch12.adb: Minor reformatting 11869 11870 * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors 11871 11872 * sem_prag.adb: Improve error message. 11873 11874 * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb: 11875 LF/CR no longer recognized as line terminator 11876 11877 * switch.ads: Minor documentation improvement 11878 11879 * vms_data.ads: Minor reformatting 11880 118812009-04-07 Robert Dewar <dewar@adacore.com> 11882 11883 * checks.adb (Determine_Range): Add Assume_Valid parameter 11884 11885 * checks.ads (Determine_Range): Add Assume_Valid parameter 11886 11887 * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than 11888 Is_Null_Loop to suppress warnings in a loop body. 11889 11890 * exp_ch4.adb: 11891 (Rewrite_Comparison): Major rewrite to accomodate invalid values 11892 11893 * exp_ch5.adb: 11894 (Expand_N_Loop_Statement): Delete loop known not to execute 11895 11896 * opt.ads: 11897 (Assume_No_Invalid_Values): Now set to False, and as documented, this 11898 fully enables the proper handling of invalid values. 11899 11900 * sem_attr.adb: 11901 New calling sequence for Is_In_Range 11902 11903 * sem_ch5.adb: 11904 (Analyze_Iteration_Scheme): Accomodate possible invalid values 11905 in determining if a loop range is null. 11906 11907 * sem_eval.adb: 11908 (Is_In_Range): Add Assume_Valid parameter 11909 (Is_Out_Of_Range): Add Assume_Valid_Parameter 11910 (Compile_Time_Compare): Major rewrite to accomodate invalid values and 11911 also to do more accurate and complete range analysis, catching more 11912 cases. 11913 11914 * sem_eval.ads: 11915 (Is_In_Range): Add Assume_Valid parameter 11916 (Is_Out_Of_Range): Add Assume_Valid_Parameter 11917 11918 * sem_util.adb: 11919 New calling sequence for Is_In_Range 11920 11921 * sinfo.adb: 11922 (Suppress_Loop_Warnings): New flag 11923 11924 * sinfo.ads: 11925 (Is_Null_Loop): Update documentation 11926 (Suppress_Loop_Warnings): New flag 11927 11928 * gnat_ugn.texi: Document -gnatB switch 11929 119302009-04-07 Arnaud Charlet <charlet@adacore.com> 11931 11932 * gnatvsn.ads: Bump version number. 11933 119342009-04-07 Thomas Quinot <quinot@adacore.com> 11935 11936 * exp_ch3.adb: Minor rewording (comments) 11937 119382009-04-07 Robert Dewar <dewar@adacore.com> 11939 11940 * exp_disp.adb: Minor reformatting 11941 119422009-04-07 Eric Botcazou <ebotcazou@adacore.com> 11943 11944 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the 11945 underlying type. 11946 * gcc-interface/trans.c (lvalue_required_p): Likewise. 11947 119482009-04-07 Eric Botcazou <ebotcazou@adacore.com> 11949 11950 * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>: 11951 Do not convert the result. Remove obsolete comment. 11952 119532009-04-07 Eric Botcazou <ebotcazou@adacore.com> 11954 11955 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear 11956 DECL_CONTEXT. 11957 (Subprogram_Body_to_gnu): Fix pasto. 11958 119592009-04-07 Eric Botcazou <ebotcazou@adacore.com> 11960 11961 * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl. 11962 (void_type_decl_node): Remove. 11963 (init_gigi_decls): Likewise. 11964 (gnat_install_builtins): Declare. 11965 (record_builtin_type): Likewise. 11966 (create_type_stub_decl): Likewise. 11967 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type. 11968 (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types 11969 artificial. 11970 <E_Array_Subtype>: Use the index types, not only their name, in the 11971 record giving the names of the bounds, if any. 11972 For a packed array type, make it artificial only if the base type 11973 was artificial as well. Remove redundant statement. 11974 (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for 11975 dummy types. 11976 Use create_type_stub_decl to build the TYPE_STUB_DECL of types. 11977 (rest_of_type_decl_compilation_no_defer): Likewise. 11978 * gcc-interface/misc.c (gnat_printable_name): Add missing guard. 11979 * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL 11980 and use create_type_stub_decl to build it. 11981 (gnat_pushdecl): Rewrite condition. 11982 (gnat_install_builtins): Remove bogus declaration. 11983 (record_builtin_type): New function. 11984 (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL 11985 of types. 11986 (create_type_stub_decl): New function. 11987 (create_type_decl): Assert that the type is not dummy. If the type 11988 hasn't been named yet, equate the TYPE_STUB_DECL to the created node. 11989 (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor. 11990 (build_vms_descriptor): Likewise. 11991 (init_gigi_decls): Delete and move bulk of code to... 11992 * gcc-interface/trans.c (gigi): ...here. Use record_builtin_type. 11993 (emit_range_check): Add gnat_node parameter. 11994 (emit_index_check): Likewise. 11995 (emit_check): Likewise. 11996 (build_unary_op_trapv): Likewise. 11997 (build_binary_op_trapv): Likewise. 11998 (convert_with_check): Likewise. 11999 (Attribute_to_gnu): Adjust calls for above changes. 12000 (call_to_gnu): Likewise. 12001 (gnat_to_gnu): Likewise. 12002 (assoc_to_constructor): Likewise. 12003 (pos_to_constructor): Likewise. 12004 (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes. 12005 (process_type): Do not create TYPE_DECL for dummy types. 12006 120072009-04-07 Eric Botcazou <ebotcazou@adacore.com> 12008 12009 * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables. 12010 * gcc-interface/trans.c: Fix formatting throughout. Fix comments. 12011 * gcc-interface/utils.c: Fix comments. 12012 120132009-04-07 Eric Botcazou <ebotcazou@adacore.com> 12014 12015 * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and 12016 move around. 12017 (gnat_to_gnu_type): Move around. 12018 (get_unpadded_type): Likewise. 12019 * gcc-interface/utils.c (update_pointer_to): Use synthetic macro. 12020 Tidy comments. 12021 120222009-04-07 Eric Botcazou <ebotcazou@adacore.com> 12023 12024 * gcc-interface/trans.c (check_for_eliminated_entity): New function. 12025 (Attribute_to_gnu): Invoke it for Access- and Address-like attributes. 12026 (call_to_gnu): Invoke it instead of manually checking. 12027 120282009-04-04 Eric Botcazou <ebotcazou@adacore.com> 12029 12030 * gcc-interface/utils.c (finish_record_type): Force structural equality 12031 checks if the record type is discriminated. 12032 120332009-03-31 Eric Botcazou <ebotcazou@adacore.com> 12034 12035 * system-linux-alpha.ads (Functions_Return_By_DSP): Remove. 12036 * system-linux-mips.ads (Functions_Return_By_DSP): Likewise. 12037 * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise. 12038 * system-linux-s390.ads (Functions_Return_By_DSP): Likewise. 12039 * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise. 12040 * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise. 12041 * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise. 12042 120432009-03-30 Paolo Bonzini <bonzini@gnu.org> 12044 12045 * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead 12046 of TREE_CONSTANT_OVERFLOW. 12047 120482009-03-30 Joseph Myers <joseph@codesourcery.com> 12049 12050 PR rtl-optimization/323 12051 * gcc-interface/misc.c (gnat_post_options): Set 12052 flag_excess_precision_cmdline. Give an error for 12053 -fexcess-precision=standard for processors where the option is 12054 significant. 12055 120562009-03-27 H.J. Lu <hongjiu.lu@intel.com> 12057 12058 PR c/39323 12059 * gcc-interface/utils.c (create_field_decl): Use "unsigned int" 12060 on bit_align. 12061 120622009-03-11 Olivier Hainque <hainque@adacore.com> 12063 12064 * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range 12065 checks processing, remove unintended TREE_TYPE walk on index type. 12066 120672009-03-01 Eric Botcazou <ebotcazou@adacore.com> 12068 12069 PR ada/39264 12070 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no 12071 call make_packable_type on fat pointer types. 12072 <E_Array_Subtype>: Likewise. 12073 <E_Record_Subtype>: Call make_packable_type on all record types 12074 except for fat pointer types. 12075 (make_packable_type): Likewise. 12076 (gnat_to_gnu_field): Likewise. 12077 120782009-02-28 Eric Botcazou <ebotcazou@adacore.com> 12079 12080 * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental 12081 EH_MECHANISM change made on 2007-12-06. 12082 120832009-02-26 Andreas Schwab <schwab@suse.de> 12084 12085 PR ada/39172 12086 * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@. 12087 * gcc-interface/Makefile.in: Change all uses of $(srcdir), 12088 $(fsrcdir) and $(fsrcpfx) to add ada subdir. 12089 (AWK): Substitute. 12090 (target_cpu_default): Substitute. 12091 120922009-02-25 Laurent GUERBY <laurent@guerby.net> 12093 12094 PR ada/39221 12095 * a-teioed.adb (Expand): Fix Result overflow. 12096 120972009-02-25 Laurent GUERBY <laurent@guerby.net> 12098 12099 * gcc-interface/Makefile.in: Fix multilib handling for 12100 sparc64-linux. 12101 121022009-02-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 12103 12104 * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6. 12105 121062009-02-18 H.J. Lu <hongjiu.lu@intel.com> 12107 12108 * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi. 12109 121102009-02-16 Eric Botcazou <ebotcazou@adacore.com> 12111 12112 * gcc-interface/deftarg.c: Remove. 12113 121142009-02-10 Olivier Hainque <hainque@adacore.com> 12115 Eric Botcazou <ebotcazou@adacore.com> 12116 12117 * gcc-interface/decl.c (enum alias_set_op): New enumeration. 12118 (copy_alias_set): Rename into... 12119 (relate_alias_sets): ...this. Add third parameter OP. Retrieve the 12120 underlying array of unconstrained arrays for the new type as well. 12121 If the old and new alias sets don't conflict, make one a subset of 12122 the other as per the OP parameter. 12123 (gnat_to_gnu_entity): Adjust calls to copy_alias_set. 12124 <E_Record_Type>: Do not copy the alias set for derived types. 12125 For all types, make the alias set of derived types a superset of 12126 that of their parent type. 12127 (make_aligning_type): Adjust calls to copy_alias_set. 12128 (make_packable_type): Likewise. 12129 * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>: 12130 Check for alias set conflict instead of strict equality to issue the 12131 warning. 12132 121332009-02-09 Eric Botcazou <ebotcazou@adacore.com> 12134 12135 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>: 12136 Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate. 12137 (copy_alias_set): Assert that arrays have the same aliasing settings. 12138 (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT. 12139 121402009-02-08 Eric Botcazou <ebotcazou@adacore.com> 12141 12142 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>: 12143 Set TYPE_NONALIASED_COMPONENT on the array type. 12144 121452009-01-31 Laurent GUERBY <laurent@guerby.net> 12146 12147 * gcc-interface/Makefile.in: Fix mipsel linux handling. 12148 121492009-01-16 Jakub Jelinek <jakub@redhat.com> 12150 12151 * gcc-interface/Makefile.in: Fix multilib handling for 12152 powerpc64-linux. 12153 121542009-01-12 Eric Botcazou <ebotcazou@adacore.com> 12155 12156 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip 12157 only useless conversions around renamed objects. 12158 121592009-01-11 Eric Botcazou <ebotcazou@adacore.com> 12160 12161 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put 12162 the _Tag field before any discriminants in the field list. 12163 (components_to_record): Remove obsolete comment. 12164 12165 12166 12167Copyright (C) 2009 Free Software Foundation, Inc. 12168 12169Copying and distribution of this file, with or without modification, 12170are permitted in any medium without royalty provided the copyright 12171notice and this notice are preserved. 12172