12004-12-30 Sohail Somani <sohail@sohailsomani.com> 2 3 PR ada/19128 4 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable. 5 62004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr> 7 8 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference. 9 * utils2.c (build_unary_op): Likewise. 10 112004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 12 13 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED. 14 152004-12-19 Richard Henderson <rth@redhat.com> 16 17 * trans.c (gigi): Update gimplify_body call. 18 192004-12-09 Nathan Sidwell <nathan@codesourcery.com> 20 21 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case. 22 232004-12-07 Ed Falis <falis@adacore.com> 24 25 * s-intman-vxworks.adb (Notify_Exception): removed useless check for 26 current task being suspended. 27 28 * init.c (__gnat_clear_exception): added to reset VxWorks exception 29 count. 30 (__gnat_map_signal): removed test for current task being suspended. 31 322004-12-07 Gary Dismukes <dismukes@adacore.com> 33 34 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values 35 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit 36 targets (such as AAMP). 37 382004-12-07 Ed Schonberg <schonberg@adacore.com> 39 40 * atree.adb (Visit_Itype): Create a new name for the generated itype, 41 because the back-end may otherwise treat it as a redefinition of the 42 old symbol. 43 442004-12-07 Eric Botcazou <ebotcazou@adacore.com> 45 46 * back_end.adb (Scan_Back_End_Switches): Accept --param. 47 48 * lang-specs.h: Accept --param. 49 502004-12-07 Vincent Celier <celier@adacore.com> 51 52 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in 53 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, 54 Current_Body_Suffix => Ada_Body_Suffix). 55 Take into account Externally_Built attribute. 56 57 * clean.adb (In_Extension_Chain): Always return False when one of the 58 parameter is No_Project. 59 (Clean_Project): Adapt to changes in package Prj (Lang_Ada => 60 Ada_Language_Index). 61 (Gnatclean): Adapt to change in package Prj.Pars (no parameter 62 Process_Languages for procedure Parse). 63 64 * gnatcmd.adb (Carg_Switches): New table. 65 (GNATCmd): Put all switches following -cargs in the Carg_Switches table. 66 Adapt to name changes in package Prj (Current_Spec_Suffix => 67 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). 68 69 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type 70 Header_Num and function Hash are now declared in package Prj, 71 not Prj.Com. 72 73 * prj.adb (Suffix_Of): New function. 74 (Set (Suffix)): New procedure. 75 (Hash): One function moved from Prj.Com 76 (Is_Present, Language_Processing_Data_Of): New functions 77 (Set): Two new procedures 78 (Add_Language_Name, Display_Language_Name): New procedures 79 80 * prj.ads: (Suffix_Of): New function 81 (Set (Suffix)): New procedure 82 Add several types and tables for multi-language support. 83 (Header_Num): Type moved from Prj.Com 84 (Hash): Two functions moved from Prj.Com 85 (Is_Present, Language_Processing_Data_Of): New functions 86 (Set): Two new procedures 87 (Add_Language_Name, Display_Language_Name): New procedures 88 (Naming): Component name changes: 89 Current_Spec_Suffix => Ada_Spec_Suffix, 90 Current_Body_Suffix => Ada_Body_Suffix. Add new components: 91 Impl_Suffixes, Supp_Suffixes. 92 (Project_Data): New components: Externally_Built, Supp_Languages, 93 First_Language_Processing, Supp_Language_Processing, Default_Linker, 94 Default_Linker_Path. 95 96 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and 97 new package Language_Processing with its attributes (Compiler_Driver, 98 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option, 99 Binder_Driver, Default_Linker). 100 101 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj. 102 (Header_Num): Type moved to package Prj 103 104 * prj-env.adb: Adapt to name changes in package Prj 105 (Current_Spec_Suffix => Ada_Spec_Suffix, 106 Current_Body_Suffix => Ada_Body_Suffix). 107 108 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by 109 default to the project path, except the "-" is one of the directories 110 in env var ADA_PROJECT_PATH. 111 (Current_Project_Path): Global variable, replacing Project_Path 112 that was in the body of Prj.Part. 113 (Project_Path): New function 114 (Set_Project_Path): New procedure 115 Initialize Current_Project_Path during elaboration of the package 116 Remove dependency on Prj.Com, no longer needed 117 118 * prj-ext.ads (Project_Path): New function 119 (Set_Project_Path): New procedure 120 121 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no 122 suffix is defined for language <lang>. 123 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of 124 accessing directly the components of Naming. 125 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language. 126 Reorganise of this package. 127 Break procedure Check in several procedures. 128 129 * prj-nmsc.ads: Replace all procedures (Ada_Check, 130 Other_Languages_Check and Language_Independent_Check) with a single 131 procedure Check. 132 133 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter 134 Process_Languages, no longer needed. 135 136 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as 137 Current_Project_Path. 138 Remove elaboration code, moved to the body of Prj.Ext 139 Use new function Prj.Ext.Project_Path instead of old variable 140 Project_Path. 141 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path. 142 When comparing with project paths on the stack, first put the resolved 143 path in canonical case. 144 (Parse_Single_Project): Set the path name of the project file in the 145 tree to the normalized path. 146 147 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove 148 parameter Process_Languages, no longer needed. 149 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and 150 Other_Languages_Check. 151 152 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path 153 to store the resolved canonical path of the project file. 154 Remove dependency to Prj.Com, no longer needed 155 156 * prj-util.adb: Adapt to name changes in package Prj 157 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => 158 Ada_Body_Suffix). 159 160 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver, 161 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker, 162 Externally_Built, Include_Option, Language_Processing. 163 164 * makegpr.adb: Numerous changes due to changes in packages 165 Prj and Prj.Nmsc. 166 167 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by 168 default to the project path, except whe "-" is one of the directories 169 in env var ADA_PROJECT_PATH. 170 (Gnatls): In verbose mode, add the new section "Project Search Path:" 171 1722004-12-07 Robert Dewar <dewar@adacore.com> 173 174 * debug.adb: Document that -gnatdA automatically sets -gnatR3m 175 176 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically 177 set -gnatR3m mode. 178 179 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA 180 flag. No longer needed now that we handle this in gnat1drv.adb. 181 182 * repinfo.ads: Minor reformatting 183 1842004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 185 Olivier Hainque <hainque@adacore.com> 186 Eric Botcazou <ebotcazou@adacore.com> 187 188 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for 189 TYPE_SIZE_UNIT of result type if SIZE is not specified. 190 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation 191 of a bitfield, which we know is useless and causes trouble because of 192 alignment implications. 193 194 * utils.c (create_var_decl): Set DECL_COMMON again on targets without 195 BSS sections. 196 (process_attributes): Clear DECL_COMMON again when a section attribute 197 is present. 198 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or 199 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT. 200 (create_field_decl): Special case ADDRESSABLE negative to mean 201 "no bitfield creation", to be used by make_aligning_type. Don't 202 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode 203 fields claimed addressable still have to be bitfields. Use 204 value_factor_p instead of a raw binop construction to check for the 205 position's alignment. 206 2072004-12-07 Geert Bosch <bosch@adacore.com> 208 209 * eval_fat.adb: Revert previous change. 210 2112004-12-07 Thomas Quinot <quinot@adacore.com> 212 Ed Schonberg <schonberg@adacore.com> 213 214 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component 215 with an implicit dereference as its prefix, use 216 Insert_Explicit_Dereference instead of merely rewriting the prefix into 217 an explicit dereference. This ensures that a reference to the original 218 prefix is generated, if appropriate. 219 220 * sem_util.adb (Insert_Explicit_Dereference): When an implicit 221 dereference is rewritten to an explicit one, generate a reference to 222 the entity denoted by its prefix using the original prefix node, so 223 the dereference can be properly recorded as a read of the denoted 224 access value, if appropriate. 225 226 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from 227 emitting 'assigned but never read' warning on a variable on the basis 228 that it has an access type. 229 (Check_References): Emit unreferenced warning when the scope is a 230 subprogram body. 231 2322004-12-07 Robert Dewar <dewar@adacore.com> 233 Ed Schonberg <schonberg@adacore.com> 234 235 * exp_ch6.adb (Expand_Call): Add comment on handling of back end 236 intrinsic 237 238 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic, 239 leaving call unchanged. 240 This deals with the case where the pragma Import specified 241 an external name, to be handled by the back end. 242 243 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of 244 subprogram which is Imported with convention Intrinsic if an 245 External_Name argument is specified. 246 (Process_Import_Or_Interface): Properly diagnose link name argument. 247 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion 248 with Sem_Ch6.Cannot_Inline. 249 (Process_Inline): Provide separate warning for inapplicable inline 250 pragma. 251 (Cannot_Inline): Reject subprograms that have an at_end handler, so that 252 treatment is uniform on different targets. 253 2542004-12-07 Ed Schonberg <schonberg@adacore.com> 255 256 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of 257 construct is rewritten, preserve end label to permit source navigation. 258 2592004-12-07 Thomas Quinot <quinot@adacore.com> 260 261 * exp_dist.adb (Specific_Build_General_Calling_Stubs, 262 Specific_Build_Stub_Target): New subprograms. 263 (Build_Subprogram_Calling_Stubs): Make this procedure independent from 264 the PCS implementation used, using the above PCS-customized subprograms. 265 Minor reformatting. 266 (PolyORB_Support.Helpers): New subunit containing supporting subprograms 267 for generation of DSA code targeted to the PolyORB PCS. 268 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one 269 implementation of the partition communication subsystem in ancillary 270 subprograms. 271 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type, 272 PolyORB_Support.Build_Stub_Type): New subrograms containing the 273 PCS-specific part of Add_Stub_Type. 274 (Insert_Partition_Check): Use runtime library function to perform 275 E.4(19) check. 276 277 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref 278 (RE_Same_Partition): New entity, from s-parint. 279 280 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram. 281 2822004-12-07 Gary Dismukes <dismukes@adacore.com> 283 284 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb: 285 Output the copyright message on a separate line from the version 286 message. 287 2882004-12-07 Joel Brobecker <brobecker@adacore.com> 289 290 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a 291 compile-time warning. 292 2932004-12-07 Robert Dewar <dewar@adacore.com> 294 295 * g-regpat.adb: (Match): Change a misuse of or to or else 296 2972004-12-07 Ed Schonberg <schonberg@adacore.com> 298 299 * lib-xref.adb: 300 (Generate_Reference): Handle properly a reference to an entry formal, 301 when an accept statement has a pragma Unreferenced for it. 302 303 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag 304 and the Has_Pragma_Unreferenced flag for each formal before analyzing 305 the body, to ensure that warnings are properly emitted for each accept 306 statement of a given task entry. 307 3082004-12-07 Vasiliy Fofanov <fofanov@adacore.com> 309 310 * Makefile.in: Add support for foreign threads on VMS. 311 3122004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 313 314 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P): 315 Remove. 316 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New. 317 318 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls. 319 320 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed 321 exception. 322 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it. 323 3242004-12-07 Robert Dewar <dewar@adacore.com> 325 326 * nlists.adb (Prepend_Debug): Remove parameters and nest within 327 Prepend. 328 (Remove_Next_Debug): Same fix 329 330 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do 331 maintain back pointers now, though we did not used to, and comments 332 were out of date). 333 (Prepend): Remove pragma Inline. 334 (Remove_Next): Same cleanup 335 3362004-12-07 Thomas Quinot <quinot@adacore.com> 337 338 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram 339 used to record an implicit dereference as a read operation on its 340 prefix when operating under -gnatc. Necessary to avoid spurious 341 'variable assigned but never read' warnings in that mode. 342 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix 343 is a non-overloaded implicit dereference, call the above subprogram to 344 ensure proper recording of references. 345 3462004-12-07 Gary Dismukes <dismukes@adacore.com> 347 348 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs 349 to be resolved later as part of Analyze_Iteration_Scheme's call to 350 Make_Index. 351 3522004-12-07 Ed Schonberg <schonberg@adacore.com> 353 354 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the 355 prefix is not a scalar type, place error message on prefix, not on 356 type entity. 357 3582004-12-07 Bernard Banner <banner@adacore.com> 359 360 * vxaddr2line.adb: Add support for x86 vxworks 361 3622004-12-07 Thomas Quinot <quinot@adacore.com> 363 364 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify 365 documentation of the behaviour of these functions when passed an IP 366 address that has no record in the system hosts database and no reverse 367 record in the DNS. 368 369 * cstand.adb, a-tags.ads: Fix typos in comment. 370 3712004-12-07 Robert Dewar <dewar@adacore.com> 372 373 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb, 374 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb, 375 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb, 376 s-poosiz.ads: Minor reformatting 377 378 * make.adb: Minor reformatting 379 Add some ??? comments asking for more comments 380 381 * s-poosiz.adb: Minor reformatting 382 Add comments on alignment requirement 383 384 * sinfo.ads: Remove obsolete comment and fix typo. 385 3862004-12-07 Vincent Celier <celier@adacore.com> 387 Sergey Rybin <rybin@adacore.com> 388 389 * gnat_ugn.texi: Update the section "The GNAT Driver and Project 390 Files" with the new tool and package names. 391 Reformatting to suppress most of the warnings for line too long 392 Document the new section "Project Search Path:" in the output of 393 gnatls -v. 394 Add gnatmetric section 395 3962004-12-07 Vincent Celier <celier@adacore.com> 397 398 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and 399 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps 400 and -eit to -ept. Added qualifier 401 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec. 402 4032004-11-27 Andreas Schwab <schwab@suse.de> 404 405 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H). 406 4072004-11-25 Arnaud Charlet <charlet@adacore.com> 408 409 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from 410 internal implementation unit GNAT.Sockets.Thin, 411 as their usage for sockets is non-portable (using the read and write 412 functions from the system runtime library is fine on UNIX but won't 413 work under Windows). 414 415 * mingw32.h: Update copyright notice. 416 4172004-11-25 Arnaud Charlet <charlet@adacore.com> 418 419 * ada-tree.h: Minor reformatting of previous change to avoid lines 420 longer than 79 characters. 421 4222004-11-25 Olivier Hainque <hainque@adacore.com> 423 424 * tb-gcc.c: GCC infrastructure based implementation of 425 __gnat_backtrace. 426 4272004-11-24 Steven Bosscher <stevenb@suse.de> 428 429 * misc.c (gnat_post_options): Don't clear 430 flag_inline_functions. 431 4322004-11-22 Andrew Pinski <pinskia@physics.uc.edu> 433 434 PR ada/17986 435 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the 436 tree. 437 4382004-11-21 Andreas Jaeger <aj@suse.de> 439 440 * stylesw.adb: Change Style_Check_Subprogram_Order to 441 Style_Check_Order_Subprograms. 442 4432004-11-18 Arnaud Charlet <charlet@adacore.com> 444 445 * adaint.h, adaint.c 446 (__gnat_portable_spawn): Fix cast of spawnvp third parameter 447 to avoid warnings. 448 Add also a cast to kill another warning. 449 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags 450 parameter with the priority class of the parent process instead of 451 always using the NORMAL_PRIORITY_CLASS. 452 (__gnat_dup): New function. 453 (__gnat_dup2): New function. 454 (__gnat_is_symbolic_link): Enable the effective body of this 455 function when __APPLE__ is defined. 456 457 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures. 458 Update comments. 459 4602004-11-18 Olivier Hainque <hainque@adacore.com> 461 462 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the 463 address of which may be used to represent "others" and "all others" 464 choices in exception tables, instead of the current harcoded 465 (void *)0 and (void *)1. 466 (Setup_Exception): Do nothing in the GNAT SJLJ case. 467 468 * gigi.h (others_decl, all_others_decl): New decls representing the 469 new Others_Value and All_Others_Value objects. 470 (struct attrib): Rename "arg" component as "args", since GCC expects a 471 list of arguments in there. 472 473 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the 474 corresponding objects exported by a-exexpr, instead of hardcoded dummy 475 addresses. 476 477 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of 478 others_decl and all_others_decl instead of hardcoded dummy addresses 479 to represent "others" and "all others" choices, which is cleaner and 480 more flexible with respect to the possible eh pointer encoding policies. 481 482 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl. 483 (process_attributes): Account for the naming change of the "args" 484 attribute list entry component. 485 486 * decl.c (build_attr_list): Rename into prepend_attributes to allow 487 cumulating attributes for different entities into a single list. 488 (gnat_to_gnu_entity): Use prepend_attributes to build the list of 489 attributes for the current entity and propagate first subtype 490 attributes to other subtypes. 491 <E_Procedure>: Attribute arguments are attr->args and not 492 attr->arg any more. 493 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an 494 argument provided, as this is what GCC expects. Use NULL_TREE instead 495 of 0 for trees. 496 4972004-11-18 Robert Dewar <dewar@adacore.com> 498 499 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb: 500 Minor reformatting througout (including new function specs) 501 Add ??? comments asking for clarification. 502 5032004-11-18 Thomas Quinot <quinot@adacore.com> 504 505 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove 506 incomplete duplicate implementation of this subprogram from butil. 507 5082004-11-18 Thomas Quinot <quinot@adacore.com> 509 510 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This 511 procedures factors the common processing for building an RPC receiver 512 for an RCI package or an RACW type. 513 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of 514 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order. 515 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently 516 in use. 517 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of 518 Add_RACW_Features. 519 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of 520 Add_RAST_Features. 521 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning 522 distribution subprogram identifiers that are either subprogram numbers 523 or strings. 524 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and 525 string distribution identifiers assigned to a given subprogram. 526 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids. 527 (Add_RAS_Dereference_TSS): Add comments. 528 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter 529 is not referenced yet because it will be used by the PolyORB DSA 530 implementation. 531 (Insert_Partition_Check): Remove fossile code. 532 (First_RCI_Subprogram_Id): Document this constant. 533 (Add_RAS_Access_TSS): Correct the setting of the Etype of the 534 RAS_Access TSS. 535 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are 536 replaced with calls to Get_Library_Unit_Name_String. Previously there 537 were several instances of the same code in different locations in the 538 compiler; this checkin completes the replacement of all of these 539 instances with calls to a common subprogram. 540 Minor reformatting. 541 542 * sem_dist.adb: Remove comment noting that RPC receiver generation 543 should be disabled for RACWs that implement RASs. 544 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String. 545 546 * sem_util.ads, sem_util.adb (Has_Stream): New function 547 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully 548 qualified name of a library unit into the name buffer. 549 (Note_Possible_Modification): Generate a reference only 550 if the context comes from source. 551 552 * snames.ads (PCS_Names): New subtype corresponding to names of 553 supported implementations of the Partition Communication Subsystem 554 (PCS) (i.e. the runtime library support modules for the distributed 555 systems annex). 556 5572004-11-18 Robert Dewar <dewar@adacore.com> 558 Ed Schonberg <schonberg@adacore.com> 559 560 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used 561 (Has_Rep_Pragma): New function 562 (Has_Attribute_Definition_Clause): New function 563 (Record_Rep_Pragma): Moved here from sem_ch13.adb 564 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma 565 566 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb 567 568 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure 569 (Expand_Pragma_Psect_Object): New procedure 570 These procedures contain the revised and cleaned up processing for 571 these two pragmas. This processing was formerly in Sem_Prag, but 572 is more appropriately moved here. The cleanup involves making sure 573 that the pragmas are properly attached to the tree, and that no 574 nodes are improperly shared. 575 576 * sem_prag.adb: Move expansion of Common_Object and Psect_Object 577 pragmas to Exp_Prag, which is more appropriate. 578 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to 579 check for duplicates Remove use of Is_Psected flag, no longer needed. 580 Use new Make_String_Literal function with string. 581 582 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes 583 that are functions return universal values, that have to be converted 584 to the context type. 585 Use new Make_String_Literal function with string. 586 (Get_Stream_Convert_Pragma): New function, replaces the use of 587 Get_Rep_Pragma, which had to be kludged to work in this case. 588 589 * freeze.adb: Use new Has_Rep_Pragma function 590 591 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal 592 function with string. 593 Use new Has_Rep_Pragma function. 594 595 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes 596 string argument. 597 5982004-11-18 Robert Dewar <dewar@adacore.com> 599 600 * errout.ads, errout.adb: (First_Sloc): New function 601 602 * par-ch5.adb (P_Condition): Check for redundant parens is now a style 603 check (-gnatyx) instead of being included as a redundant construct 604 warning. 605 606 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to 607 Style_Check_Order_Subprograms. 608 609 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads, 610 stylesw.adb: Add Style_Check_Xtra_Parens 611 612 * usage.adb: Add line for -gnatyx (check extra parens) 613 614 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx 615 6162004-11-18 Ed Schonberg <schonberg@adacore.com> 617 Robert Dewar <dewar@adacore.com> 618 619 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the 620 discriminant of a constrained subtype, analyze the copy of the 621 corresponding constraint, because in some cases it may be only 622 partially analyzed. 623 Removes long-lived ??? comments. 624 625 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that 626 handled controlled or secondary-stack expressions within the 627 iteration_scheme of a loop. 628 629 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate 630 bounds that may contain functions calls, to prevent memory leaks when 631 the bound contains a call to a function that uses the secondary stack. 632 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to 633 generate temporaries for loop bounds that might contain function calls 634 that require secondary stack and/or finalization actions. 635 636 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a 637 selected component and the selector is overloadable (not just a 638 function) treat as function call, Analyze_Call will disambiguate if 639 necessary. 640 (Analyze_Selected_Component): Do not generate an actual subtype for the 641 selected component if expansion is disabled. The actual subtype is only 642 needed for constraint checks. 643 (Analyze_Allocator): If restriction No_Streams is set, then do 644 not permit objects to be declared of a stream type, or of a 645 composite type containing a stream. 646 647 * restrict.ads: Remove the a-stream entry from Unit_Array, since 648 No_Streams no longer prohibits with'ing this package. 649 650 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has 651 discriminants, but the parent base has unknown discriminants, there is 652 no discriminant constraint to inherit. Such a discrepancy can arise 653 when the actual for a formal type with unknown discriminants is a 654 similar private type whose full view has discriminants. 655 (Analyze_Object_Declaration): If restriction No_Streams is set, then 656 do not permit objects to be declared of a stream type, or of a 657 composite type containing a stream. 658 6592004-11-18 Ed Schonberg <schonberg@adacore.com> 660 661 * exp_dbug.ads: Update documentation to reflect simpler encoding for 662 protected operations. 663 664 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in 665 generated name, it complicates decoding in gdb and hinders debugging 666 of protected operations. 667 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info 668 flag for the protected entry barrier function. 669 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info 670 flag for the protected entry function. 671 6722004-11-18 Nicolas Setton <setton@adacore.com> 673 674 * expect.c: Define __unix__ when __APPLE__ is defined. 675 676 * Makefile.in: Inform the value of the variable GMEM_LIB in the 677 Darwin-specific section. 678 679 * lang-specs.h: Change the placement of the %1 marker. 680 Works around the fact that gcc adds -fPIC by default under Darwin. 681 6822004-11-18 Ed Schonberg <schonberg@adacore.com> 683 684 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original 685 type of the object with the packed array type, set the Analyzed flag 686 on the object if it is an entity or simple indexed component, to avoid 687 spurious type errors. 688 6892004-11-18 Gary Dismukes <dismukes@adacore.com> 690 691 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb, 692 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a 693 separate line from the version message. 694 6952004-11-18 Ed Falis <falis@adacore.com> 696 697 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653 698 vthreads. 699 (init_float): Eliminate initialization of floating point status for 700 AE653. The instructions have no effect for vThreads. 701 7022004-11-18 Vincent Celier <celier@adacore.com> 703 704 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when 705 gnatbind is invoked with -shared. 706 7072004-11-18 Jose Ruiz <ruiz@adacore.com> 708 709 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error 710 for Detect_Blocking which is redundant with the check done within the 711 procedure Protected_Single_Entry_Call. 712 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for 713 Detect_Blocking which is redundant with the check done within the 714 procedure Protected_Single_Entry_Call. 715 7162004-11-18 Vincent Celier <celier@adacore.com> 717 718 * makegpr.adb (Compile): Put the compiling switches (in package 719 Compiler and on the command line) immediately after "-c", instead of 720 at the end of the command line invocation of the compiler, when 721 compiling a non-Ada file. 722 (Build_Global_Archive): When there is no need to rebuild the archive, 723 set Global_Archive_Exists, so that the archive is passed to the linker 724 if one is needed. 725 7262004-11-18 Robert Dewar <dewar@adacore.com> 727 Sergey Rybin <rybin@adacore.com> 728 729 * gnat_ugn.texi: 730 Remove extra paren check from list of checks for redundant constructs 731 Add documentation of new -gnatyx style check (check extra parens) 732 Remove paragraph about gnatelim debug options. 733 734 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream 735 objects rather than forbidding dependencies on the package Ada.Streams. 736 737 * sinfo.ads: Add ??? note that we should document pragmas passed to 738 back end. 739 740 * g-expect.ads: Fix a few typos in the comments. 741 7422004-11-09 Joseph S. Myers <joseph@codesourcery.com> 743 744 * misc.c (gnat_handle_option): Use %< and %> for quoting in 745 warning message. 746 7472004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 748 749 * a-numaux-x86.adb (Tan): Fix fdivp syntax. 750 7512004-11-07 Andreas Schwab <schwab@suse.de> 752 753 * Makefile.in (install-gnatlib): Remove spurious hyphen. 754 7552004-11-02 Andrew Pinski <pinskia@physics.uc.edu> 756 757 PR ada/18228 758 * Makefile.in (darwin): Set soext to .dylib. 759 7602004-10-26 Vincent Celier <celier@gnat.com> 761 Thomas Quinot <quinot@act-europe.fr> 762 763 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads: 764 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as 765 there is no use of GNAT.Sockets.Constants. 766 Remove remaining pragma Import for C_Write 767 Remove C_Read and C_Write from internal implementation unit 768 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using 769 the read and write functions from the system runtime library is fine 770 on UNIX but won't work under Windows). 771 772 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write. 773 (Check_Selector): Use C_Recv instead of C_Read. 774 Selectors are the GNAT.Sockets abstraction to perform a select() 775 call on a set of descriptors. To allow abortion of an ongoing 776 select operation, some data is written to a dedicated socket that 777 is always monitored. 778 Under Windows, the write and read library functions cannot operate 779 on sockets, so we need to use send and recv instead, which is portable 780 across all supported platforms. 781 782 * g-socthi.ads: Remove C_Read and C_Write from internal implementation 783 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable 784 (using the read and write functions from the system runtime library is 785 fine on UNIX but won't work under Windows). 786 7872004-10-26 Nicolas Setton <setton@act-europe.fr> 788 789 * mlib-tgt-darwin.adb: New file. 790 791 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 792 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, 793 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, 794 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New 795 subprogram body. 796 797 * Makefile.in: Add support for building shared libraries under Darwin. 798 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing 799 the low level EH init subprogram to be called from __gnat_initialize. 800 801 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram, 802 indicates which options to pass to the archive indexer. 803 804 * mlib-utl.adb: Add support for calling ranlib with additional 805 options. This is needed for instance under Mac OS X. 806 (Ranlib_Options): New global variable, used to store the potential 807 options to pass to ranlib. 808 (Ar): Use Ranlib_Options when spawning ranlib. 809 (Initialize): Set the value of ranlib option. 810 8112004-10-26 Olivier Hainque <hainque@act-europe.fr> 812 813 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K 814 instead of 8K, to reflect the real potential needs for stack-checking 815 in the ZCX case. 816 8172004-10-26 Pascal Obry <obry@gnat.com> 818 819 * s-parame-mingw.adb (Default_Stack_Size): Add some comments. 820 821 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On 822 Windows only the initial thread stack size can be set so it is good to 823 start we a low stack size. 824 The OS will adjust the size as needed. 825 8262004-10-26 Olivier Hainque <hainque@act-europe.fr> 827 Nicolas Setton <setton@act-europe.fr> 828 829 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with 830 "__unix__" instead of "unix". 831 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the 832 sections were just mistakenly ignored. The former is 833 implicitely defined by gcc2.8, gcc3.2 and gcc3.4. 834 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead 835 of hpux. This prevents an unwanted definition of the symbol 836 convert_addresses in adaint.o. 837 8382004-10-26 Gary Dismukes <dismukes@gnat.com> 839 840 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for 841 compatibility with type Unwind_Word on 16-bit targets such as AAMP. 842 8432004-10-26 Cyrille Comar <comar@act-europe.fr> 844 845 * a-filico.ads, a-filico.adb: fix incorrect header. 846 8472004-10-26 Javier Miranda <miranda@gnat.com> 848 849 * a-ststio.ads: Fix typo in identifier 850 8512004-10-26 Thomas Quinot <quinot@act-europe.fr> 852 853 * sem_ch4.adb: Minor reformatting. 854 8552004-10-26 Ed Schonberg <schonberg@gnat.com> 856 857 * checks.adb (Expr_Known_Valid): If floating-point validity checks are 858 enabled, check the result of unary and binary operations when the 859 expression is the right-hand side of an assignment. 860 8612004-10-26 Vincent Celier <celier@gnat.com> 862 863 * clean.adb (Delete): Do not output warnings when in quiet output and 864 not in verbose mode. 865 (Force_Deletions): New Boolean flag, defaulted to False 866 (Delete): Only delete a file if it is writable, and when 867 Force_Deletions is True. 868 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True 869 (Usage): Line for new switch -f 870 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our 871 own. 872 8732004-10-26 Eric Botcazou <ebotcazou@act-europe.fr> 874 875 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a 876 JM type only if its size matches that of the wrapper. When a size is 877 prescribed and the field is not aliased, remove the wrapper of a JM 878 type only if the size is not greater than that of the packed array. 879 (gnat_to_gnu_entity): Change the extension of packed array wrappers 880 from LJM to JM. 881 8822004-10-26 Geert Bosch <bosch@gnat.com> 883 884 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used. 885 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes. 886 (Pred): Implement in terms of Succ. 887 8882004-10-26 Ed Schonberg <schonberg@gnat.com> 889 890 * exp_aggr.adb (Safe_Component): An aggregate component that is an 891 unchecked conversion is safe for in-place use if the expression of the 892 conversion is safe. 893 (Expand_Array_Aggregate): An aggregate that initializes an allocator may 894 be expandable in place even if the aggregate does not come from source. 895 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the 896 designated object of an allocator in place, rather than building it 897 first on the stack. The previous scheme forces a full copy of the array, 898 and may be altogether unsusable if the size of the array is too large 899 for stack allocation. 900 9012004-10-26 Robert Dewar <dewar@gnat.com> 902 903 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array 904 compares if the component is atomic. 905 906 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for 907 array assignment if the component type is atomic. 908 9092004-10-26 Ed Schonberg <schonberg@gnat.com> 910 Eric Botcazou <ebotcazou@act-europe.fr> 911 912 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter 913 is aliased and is a by_reference type, do not pass by copy. 914 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to 915 detect whether the call is in the right side of an assignment or 916 the expression of an object declaration. Recurse on component 917 association within aggregates. 918 Call it in the condition that determines whether the temporary is 919 necessary for correct stack-checking. 920 9212004-10-26 Thomas Quinot <quinot@act-europe.fr> 922 923 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter 924 RACW_Type, used in the PolyORB version. 925 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB 926 version and the GARLIC version. 927 928 * snames.ads, snames.adb, s-parint.ads, s-parint.adb: 929 Rename RCI_Info to RCI_Locator for better consistency between the 930 GARLIC and PolyORB versions of the distributed systems annex. 931 (DSA_Implementation_Name): This enumeration lists the possible 932 implementations of the Partition Communication Subsystem for the 933 Distributed Systems Annex (DSA). The three available implementations 934 are the dummy stub implementation (No_DSA), and two versions based on 935 two different distribution runtime libraries: GARLIC and PolyORB. Both 936 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution 937 technology. 938 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe 939 that organization. 940 941 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency 942 between the GARLIC and PolyORB versions of the distributed systems 943 annex. 944 Remove RE_Unbounded_Reclaim_Pool since it is unused. 945 9462004-10-26 Gary Dismukes <dismukes@gnat.com> 947 948 * gnat1drv.adb: Suppress calling the back end when 949 Frontend_Layout_On_Target is true. 950 9512004-10-26 Thomas Quinot <quinot@act-europe.fr> 952 953 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable, 954 Set_Read_Only): New subprograms. 955 These new routines allow the user to set or unset the Owner execute 956 and Owner write permission flags on a file. 957 958 * makegpr.adb, mlib.adb, mlib-prj.adb: Use 959 GNAT.OS_Lib.Set_Executable instead of rolling our own. 960 9612004-10-26 Matthew Gingell <gingell@gnat.com> 962 963 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI. 964 9652004-10-26 Pascal Obry <obry@gnat.com> 966 967 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the 968 memory before the faulting page we properly test the process read 969 access for this address using appropriate Win32 routine. 970 (HPUX sections): guard with "__hpux__" instead of "hpux". 971 9722004-10-26 Robert Dewar <dewar@gnat.com> 973 974 * lib-xref.adb (Generate_Reference): Don't complain about reference to 975 entry parameter if pragma Unreferenced set, since we do not properly 976 handle the case of multiple parameters. 977 9782004-10-26 Vincent Celier <celier@gnat.com> 979 980 * prj-env.adb: (Contains_ALI_Files): New Boolean function 981 (Ada_Objects_Path.Add): For a library project, add to the object path 982 the library directory only if there is no object directory or if the 983 library directory contains ALI files. 984 (Set_Ada_Paths.Add.Recursive_Add): Ditto 985 9862004-10-26 Vincent Celier <celier@gnat.com> 987 988 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual 989 extension of library projects. 990 991 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project 992 path defaults to ".:<prefix>/lib/gnat". 993 (Parse): For an extending all project, allow direct import of a project 994 that is virtually extended. 995 996 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with 997 the specified name is directly imported, return its ID. Otherwise, if 998 an extension of this project is imported, return the ID of the 999 extension. 1000 10012004-10-26 Robert Dewar <dewar@gnat.com> 1002 1003 * s-arit64.adb: (Le3): New function, used by Scaled_Divide 1004 (Sub3): New procedure, used by Scaled_Divide 1005 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also 1006 correct more than one instance of failure to propagate carries 1007 correctly. 1008 (Double_Divide): Handle overflow case of largest negative number 1009 divided by minus one. 1010 1011 * s-arit64.ads (Double_Divide): Document that overflow can occur in 1012 the case of a quotient value out of range. 1013 Fix comments. 1014 10152004-10-26 Robert Dewar <dewar@gnat.com> 1016 1017 * s-bitops.adb (Bit_Eq): Remove redundant check. 1018 1019 * s-bitops.ads: Minor comment updates 1020 Change some occurrences of Address to System.Address 1021 1022 * s-carsi8.ads: Fix minor cut-and-paste error in comments 1023 10242004-10-26 Ed Schonberg <schonberg@gnat.com> 1025 1026 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper 1027 accessibility check to prefix that is a protected operation. 1028 10292004-10-26 Ed Schonberg <schonberg@gnat.com> 1030 1031 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is 1032 empty, post message on stub. 1033 10342004-10-26 Ed Schonberg <schonberg@gnat.com> 1035 Javier Miranda <miranda@gnat.com> 1036 1037 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the 1038 current instance appears within a unit that is directly in the context 1039 of the main unit. 1040 Used to determine whether the body of the instance should be analyzed 1041 immediately after its spec, to make its subprogram bodies available 1042 for front-end inlining. 1043 (Analyze_Formal_Array_Type): Cleanup condition that checks that range 1044 constraint is not allowed on the component type (AARM 12.5.3(3)) 1045 10462004-10-26 Cyrille Comar <comar@act-europe.fr> 1047 1048 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 1049 'Storage_Pool): enhance, document & limit detection of non-sharable 1050 internal pools. 1051 1052 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible. 1053 1054 * s-pooglo.ads: Add more documentation now that this pool is properly 1055 documented. 1056 10572004-10-26 Ed Schonberg <schonberg@gnat.com> 1058 1059 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task 1060 or protected type with discriminants, do not constrain the 1061 corresponding record type if the subtype declaration has no 1062 discriminant constraints. This can be the case in source code, or in 1063 the subtype declaration created to rename an actual type within an 1064 instantiation. 1065 10662004-10-26 Ed Schonberg <schonberg@gnat.com> 1067 1068 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a 1069 different kind of stub (possibly wrong name for file), do not check 1070 for conformance. 1071 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body 1072 includes call to some function that returns an unconstrained type, do 1073 not inline. 1074 10752004-10-26 Ed Schonberg <schonberg@gnat.com> 1076 1077 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not 1078 appear in the code for the main unit. Dependencies among units in the 1079 context of the main unit are established when those other units are 1080 compiled. Otherwise spurious elaboration constraints can generate 1081 incorrect elaboration circularities. 1082 10832004-10-26 Thomas Quinot <quinot@act-europe.fr> 1084 Ed Schonberg <schonberg@gnat.com> 1085 1086 * sem_util.adb (Is_Aliased_View): Defend against the case where this 1087 subprogram is called with a parameter that is not an object name. This 1088 situation arises for some cases of illegal code, which is diagnosed 1089 later, and in this case it is wrong to call Is_Aliased, as that might 1090 cause a compiler crash. 1091 (Explain_Limited_Type): Refine previous fix to include 1092 inherited components of derived types, to provide complete information. 1093 1094 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that 1095 is the prival for a protected object. 1096 It is necessary to mark this entity as a variable, in addition to 1097 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been 1098 modified to avoid checking the Aliased flag on entities that are not 1099 objects. (Checking that flag for non-objects is erroneous and could 1100 lead to a compiler crash). 1101 11022004-10-26 Robert Dewar <dewar@gnat.com> 1103 1104 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if 1105 X_Frac = 0.5, then we know that the number X must be positive. 1106 (Succ): Remove the same redundant test, and also fix the primary test 1107 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong. 1108 Minor reformatting 1109 (Decompose): Add fuller comments to spec 1110 11112004-10-26 Pascal Obry <obry@gnat.com> 1112 1113 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr 1114 validity (process must have read access). Set to 0 in all other cases. 1115 (STOP_FRAME): Now check for ptr validity to avoid a segmentation 1116 violation on Win32. 1117 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a 1118 segmentation violation. 1119 11202004-10-26 Eric Botcazou <ebotcazou@act-europe.fr> 1121 1122 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference 1123 whose type is a constructed subtype of an aliased object with an 1124 unconstrained nominal subtype, convert the actual to the constructed 1125 subtype before taking its address. 1126 11272004-10-26 Vincent Celier <celier@gnat.com> 1128 1129 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb 1130 (Is_Path_Name_Case_Sensitive): New function 1131 1132 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure 1133 (Base_Name, Simple_Name, Current_Directory, Compose, 1134 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on 1135 the result. 1136 11372004-10-26 Cyrille Comar <comar@act-europe.fr> 1138 Vasiliy Fofanov <fofanov@act-europe.fr> 1139 Vincent Celier <celier@gnat.com> 1140 1141 * gnat_ugn.texi: Generalize "finding memory problems" section into a 1142 "memory management issues" section and document some of the useful 1143 memory pools provided as part of the GNAT library. 1144 Remove "virtual" from declaration of A::method2 in 1145 the simple example of Ada/C++ mixed system. 1146 Library Projects may be virtually extended: their virtual extensions 1147 are not Library Projects. 1148 Added section on extending project hierarchies. 1149 11502004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 1151 1152 * adaint.c (__gnat_get_libraries_from_registry): Cast value 1153 to LPBYTE. 1154 (__gnat_portable_spawn): Remove const. 1155 1156 * mingw32.h (MAXPATHLEN): Check for previous definition. 1157 11582004-10-17 Matthias Klose <doko@debian.org> 1159 1160 * gnatvsn.ads: Set gnat library version to 4.0. 1161 11622004-10-05 Vincent Celier <celier@gnat.com> 1163 1164 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2 1165 11662004-10-04 Laurent Guerby <laurent@guerby.net> 1167 1168 PR ada/15156 1169 * Makefile.in: Define and use RANLIB_FLAGS. 1170 11712004-10-04 Pascal Obry <obry@gnat.com> 1172 1173 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all 1174 other x86 platforms). 1175 11762004-10-04 Olivier Hainque <hainque@act-europe.fr> 1177 1178 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense 1179 in general and triggers stack alignment adjustment for thread entry 1180 points on targets where this is necessary. 1181 11822004-10-04 Bernard Banner <banner@gnat.com> 1183 1184 PR ada/13897 1185 * Makefile.in: Add section for powerpc linux 1186 Add variant i-vxwork-x86.ads 1187 1188 * i-vxwork-x86.ads, system-linux-ppc.ads: New files. 1189 11902004-10-04 Olivier Hainque <hainque@act-europe.fr> 1191 1192 * init.c (__gnat_initialize): Call an Ada subprogram to perform the 1193 table registration calls when need be. Ensures no reference to the crt 1194 ctors symbol are issued in the SJLJ case, which avoids possible 1195 undefined symbol errors in the case of modules to be statically linked 1196 with the kernel. 1197 11982004-10-04 Javier Miranda <miranda@gnat.com> 1199 1200 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand 1201 in-line the code corresponding to subprogram Analyze_Actuals. In 1202 addition, analyze the actuals only in case of subprogram call. 1203 12042004-10-04 Ed Falis <falis@gnat.com> 1205 1206 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size 1207 12082004-10-04 Sergey Rybin <rybin@act-europe.fr> 1209 1210 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter 1211 in the documentation. 1212 12132004-10-04 Robert Dewar <dewar@gnat.com> 1214 1215 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as 1216 IF and CASE. 1217 (Analyze_Block_Statement): Add circuitry to detect following dead code 1218 (Check_Unreachable_Code): Handle case of block exit 1219 12202004-10-04 Robert Dewar <dewar@gnat.com> 1221 1222 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call 1223 (XMatchD): Avoid warning for Logic_Error call 1224 12252004-10-04 Robert Dewar <dewar@gnat.com> 1226 1227 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not 1228 consider expressions buried within a procedure actual to be an actual. 1229 This caused some blowups with uses of packed slices within a procedure 1230 actual. 1231 12322004-10-04 Robert Dewar <dewar@gnat.com> 1233 1234 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no 1235 longer need to be initialized to zero. 1236 (Get_Simple_Init_Val): Modular packed arrays no longer need to be 1237 initialized to zero. 1238 1239 * checks.adb (Expr_Known_Valid): Packed arrays are now always 1240 considered valid, even if the representation is modular. That's correct 1241 now that we no longer initialize packed modular arrays to zero. 1242 1243 * exp_dbug.ads: Clarify documentation on handling of PAD and JM 1244 suffixes. These are now documented as the only cases in which the 1245 debugger ignores outer records. 1246 Previously, the spec allowed arbitrary suffixes for this purpose. 1247 Change name of LJM to JM for packed array pad records 1248 Create separate section on packed array handling, and add a whole new 1249 set of comments to this section describing the situation with packed 1250 modular types and justification requirements depending on endianness. 1251 12522004-10-04 Robert Dewar <dewar@gnat.com> 1253 1254 * a-except.adb: Add a comment for last change 1255 1256 * einfo.ads: Minor spelling correction in comment 1257 1258 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting 1259 1260 * sem_ch11.adb: Fix a case of using | instead of \ for continuation 1261 messages. 1262 1263 * sem_util.ads: Minor comment update 1264 12652004-10-04 Ed Schonberg <schonberg@gnat.com> 1266 1267 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as 1268 Inline_Always when in Configurable_Run_Time mode. 1269 1270 * sem_prag.adb (Process_Convention): If entity is an inherited 1271 subprogram, apply convention to parent subprogram if in same scope. 1272 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always 1273 when in Configurable_Run_Time mode. 1274 12752004-10-04 Ed Schonberg <schonberg@gnat.com> 1276 1277 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of 1278 class_wide type after component list has been inherited. 1279 12802004-10-04 Ed Schonberg <schonberg@gnat.com> 1281 1282 * sem_ch12.adb (Check_Generic_Actuals): New predicate 1283 Denotes_Previous_Actual, to handle properly the case of a private 1284 actual that is also the component type of a subsequent array actual. 1285 The visibility status of the first actual is not affected when the 1286 second is installed. 1287 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to 1288 make fully recursive the treatment of formals of packages declared 1289 with a box. 1290 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo 1291 the above on exit from an instantiation. 1292 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore 1293 current instantiation which is now complete. 1294 (Analyze_Package_Instantiation): No instantiated body is needed if the 1295 main unit is generic. Efficient, and avoid anomalies when a instance 1296 appears in a package accessed through rtsfind. 1297 12982004-10-04 Ed Schonberg <schonberg@gnat.com> 1299 1300 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled, 1301 do not generate a declaration for a temporary if the call is part of a 1302 library-level instantiation. 1303 13042004-10-04 Ed Schonberg <schonberg@gnat.com> 1305 1306 * sem_util.adb (Explain_Limited_Type): Ignore internal components when 1307 searching for a limited component to flag. 1308 1309 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to 1310 expansion of Input, to account for the fact that the implicit call 1311 generated by the attribute reference must freeze the user-defined 1312 stream subprogram. This is only relevant to 'Input, because it can 1313 appear in an object declaration, prior to the body of the subprogram. 1314 1315 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that 1316 expansion can proceed and further errors uncovered. 1317 (Minor clean up): Fix cases of using | instead of \ for continuation 1318 messages. 1319 13202004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1321 1322 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable. 1323 1324 * trans.c (assoc_to_constructor): Fix unused var warning if no checking. 1325 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change. 1326 Use gcc_assert and gcc_unreachable. 1327 1328 * decl.c (gnat_to_gnu_entity, case object): Check and process a 1329 specified alignment before validating size. 1330 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a 1331 stripped-down declaration for the type of the inner field when making 1332 a JM type. 1333 1334 * utils.c (finish_record_type): Do not compute the size in units 1335 incrementally. Instead compute it once for the rep clause case. 1336 Use gcc_assert and gcc_unreachable. 1337 13382004-10-04 Vincent Celier <celier@gnat.com> 1339 1340 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character 1341 in file name. 1342 (Is_Valid_Path_Name): Take '/' as a directory separator. 1343 13442004-10-04 Vincent Celier <celier@gnat.com> 1345 1346 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All 1347 (Extended_Project) only if Extended_Project is defined, to avoid 1348 assertion error. 1349 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a 1350 resolved path. 1351 (Parse_Single_Project): Ditto. 1352 1353 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call 1354 Add_To_Project_Path for virtual projects. 1355 13562004-10-04 Vincent Celier <celier@gnat.com> 1357 1358 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 1359 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, 1360 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, 1361 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New 1362 parameter Options_2. 1363 1364 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call 1365 Build_Dynamic_Library with an empty Options_2. 1366 1367 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no 1368 default anymore. 1369 1370 * makegpr.adb (Get_Imported_Directories.add): Remove trailing 1371 directory separator, if any. 1372 (Gprmake): Do not allow mains on the command line for library projects. 1373 Do not attempt to link when the project is a library project. 1374 (Library_Opts): New table to store Library_Options. 1375 (Build_Library): If Library_Options is specified, pass these options 1376 when building a shared library. 1377 13782004-10-04 Jose Ruiz <ruiz@act-europe.fr> 1379 1380 * s-tposen.adb (Service_Entry): The object must be always unlocked at 1381 the end of this procedure now that the unlock operation was inserted 1382 by the expander. 1383 13842004-10-04 Jose Ruiz <ruiz@act-europe.fr> 1385 1386 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value 1387 corresponding to the Preallocated_Stacks flags in System. 1388 (Get_Target_Parameters): Including the processing for 1389 Preallocated_Stacks. 1390 1391 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads, 1392 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads, 1393 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, 1394 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, 1395 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads, 1396 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, 1397 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, 1398 system-vxworks-mips.ads, system-os2.ads, system-interix.ads, 1399 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 1400 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 1401 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is 1402 used to signal whether the compiler creates the required stacks and 1403 descriptors for the different tasks (when True) or it is done by the 1404 underlying operating system at run time (when False). 1405 It is initially set to False in all targets. 1406 1407 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack 1408 if it is supported by the target. 1409 (Make_Task_Create_Call): Pass the stack address if it has been 1410 previously created. Otherwise pass a Null_Address. 1411 1412 * snames.adb: Add _stack. 1413 1414 * snames.ads: Add Name_uStack. Required to allow the expander to 1415 statically allocated task stacks. 1416 1417 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add 1418 Stack_Address argument. 1419 Check that its value is equal to Null_Address because this target does 1420 not support the static stack allocation. 1421 14222004-10-04 Thomas Quinot <quinot@act-europe.fr> 1423 1424 * usage.adb: Change "pragma inline" to "pragma Inline" in information 1425 and error messages 1426 14272004-10-04 Thomas Quinot <quinot@act-europe.fr> 1428 1429 * exp_dist.adb: Split declaration of asynchronous flag out of 1430 Add_RACW_Read_Attribute. 1431 Minor reformatting for better alignment with PolyORB version. 1432 Store the entity for the asynchronous flag of an RACW, rather than the 1433 expression, in the asynchronous flags table. This will allow this flag 1434 to be used in other subprograms beside Add_RACW_Read_Attribute. 1435 14362004-10-04 Thomas Quinot <quinot@act-europe.fr> 1437 1438 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c, 1439 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, 1440 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb, 1441 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads, 1442 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new 1443 sockets constant MSG_NOSIGNAL (Linux-specific). 1444 Add new sockets constant MSG_Forced_Flags, list of flags to be set on 1445 all Send operations. 1446 For Linux, set MSG_NOSIGNAL on all send operations to prevent them 1447 from trigerring SIGPIPE. 1448 Rename components to avoid clash with Ada 2005 possible reserved 1449 word 'interface'. 1450 (Check_Selector): When the select system call returns with an error 1451 condition, propagate Socket_Error to the caller. 1452 14532004-10-01 Jan Hubicka <jh@suse.cz> 1454 1455 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation. 1456 14572004-09-23 Robert Dewar <dewar@gnat.com> 1458 1459 PR ada/17540 1460 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here, 1461 instead do this at freeze time (we won't do it if there is an address 1462 clause). 1463 Change "pragma inline" to "pragma Inline" in information and error 1464 messages. 1465 Minor reformatting. 1466 1467 * freeze.adb (Check_Address_Clause): Remove previous change, not the 1468 right way of doing things after all. 1469 (Freeze_Entity): For object, set Is_Public for imported entities 1470 unless there is an address clause present. 1471 14722004-09-21 Olivier Hainque <hainque@act-europe.fr> 1473 1474 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a 1475 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This 1476 ensures proper handling of types with rep clauses, which might have 1477 their TYPE_SIZE set already. 1478 14792004-09-21 Robert Dewar <dewar@gnat.com> 1480 1481 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular 1482 packed array types in both little- and big-endian cases. This change 1483 ensures that we no longer count on the unused bits being initialized 1484 for such types (and in particular ensures that equality testing will 1485 only read the relevant bits). 1486 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P 1487 These changes mean that we no longer need to initialize small packed 1488 arrays. 1489 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same 1490 optimization to an LJM field as to its parent field. 1491 1492 * ada-tree.h, trans.c, utils.c, utils2.c: 1493 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P 1494 14952004-09-20 Jan Hubicka <jh@suse.cz> 1496 1497 * utils.c (gnat_finalize): Remove. 1498 (end_subprog_body): Directly call cgraph_finalize_function; 1499 do not lower the nested functions. 1500 15012004-09-20 Robert Dewar <dewar@gnat.com> 1502 1503 PR ada/17540 1504 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public 1505 if an address clause is present, since that means that the Import 1506 should be ignored. 1507 15082004-09-20 Arnaud Charlet <charlet@act-europe.fr> 1509 1510 * 5tsystem.ads: Removed, no longer used. 1511 15122004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com> 1513 Zack Weinberg <zack@codesourcery.com> 1514 1515 * ada-tree.def: Use tree_code_class enumeration constants 1516 instead of code letters. 1517 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c: 1518 Update for new tree-class enumeration constants. 1519 15202004-09-17 Vincent Celier <celier@gnat.com> 1521 1522 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private 1523 capabilities of the general project manager. 1524 15252004-09-09 Vincent Celier <celier@gnat.com> 1526 1527 * a-direct.ads: Add pragma Ada_05 1528 (Directory_Entry_Type): Give default value to component Kind to avoid 1529 not initialized warnings. 1530 1531 * a-direct.adb (Current_Directory): Remove directory separator at the 1532 end. 1533 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not 1534 an existing directory. 1535 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning 1536 (Size (String)): Function C_Size returns Long_Integer, not File_Size. 1537 Convert the result to File_Size. 1538 1539 * prj.ads: (Project_Error): New exception 1540 1541 * prj-attr.adb: Except in procedure Initialize, Fail comes from 1542 Prj.Com, not from Osint. 1543 (Attrs, Package_Attributes): Tables moved to private part of spec 1544 (Add_Attribute, Add_Unknown_Package): Moved to new child package 1545 Prj.Attr.PM. 1546 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise 1547 Prj.Project_Error after call to Fail. 1548 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling 1549 Fail. Check that package name is not already in use. 1550 1551 * prj-attr.ads: Comment updates to indicate that all subprograms may be 1552 used by tools, not only by the project manager, and to indicate that 1553 exception Prj.Prj_Error may be raised in case of problem. 1554 (Add_Unknown_Package, Add_Attribute): Moved to new child package 1555 Prj.Attr.PM. 1556 (Attrs, Package_Attributes): Table instantiations moved from the body to 1557 the private part to be accessible from Prj.Attr.PM body. 1558 1559 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package 1560 from new package Prj.Attr.PM. 1561 (Parse_Attribute_Declaration): Call Add_Attribute from new package 1562 Prj.Attr.PM. 1563 1564 * Makefile.in: Add prj-attr-pm.o to gnatmake object list 1565 1566 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check 1567 instead of Elaboration_Checks). 1568 1569 * a-calend.adb: Minor reformatting 1570 15712004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1572 1573 * gigi.h (maybe_pad_type): New declaration. 1574 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR. 1575 1576 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro. 1577 1578 * cuintp.c: Convert to use buildN. 1579 1580 * decl.c (maybe_pad_type): No longer static. 1581 (gnat_to_gnu_entity, case E_Function): Handle case of returning by 1582 target pointer. 1583 Convert to use buildN. 1584 1585 * trans.c (call_to_gnu): Add arg GNU_TARGET; support 1586 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed. 1587 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on 1588 RHS. 1589 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P. 1590 (gnat_gimplify_expr, case ADDR_EXPR): New case. 1591 Convert to use buildN. 1592 1593 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and 1594 TREE_READONLY for const. 1595 Convert to use buildN. 1596 1597 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR. 1598 (create_var_decl): Refine when TREE_STATIC is set. 1599 Convert to use buildN. 1600 16012004-09-09 Gary Dismukes <dismukes@gnat.com> 1602 1603 * gnat_ugn.texi: Delete text relating to checking of ali and object 1604 consistency. 1605 1606 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these 1607 routines. 1608 16092004-09-09 Jose Ruiz <ruiz@act-europe.fr> 1610 1611 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration 1612 pragmas recognized by GNAT. 1613 1614 * gnat_rm.texi: Document pragma Detect_Blocking. 1615 1616 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active, 1617 raise Program_Error if called from a protected operation. 1618 1619 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase 1620 the protected action nesting level. 1621 (Lock_Read_Only): When pragma Detect_Blocking is active increase the 1622 protected action nesting level. 1623 (Unlock): When pragma Detect_Blocking is active decrease the protected 1624 action nesting level. 1625 1626 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the 1627 Protected_Action_Nesting. 1628 1629 * s-taskin.ads: Adding the field Protected_Action_Nesting to the 1630 Common_ATCB record. It contains the dynamic level of protected action 1631 nesting for each task. It is needed for checking whether potentially 1632 blocking operations are called from protected operations. 1633 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma 1634 Detect_Blocking is active or not in the partition. 1635 1636 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active, 1637 raise Program_Error if called from a protected operation. 1638 (Task_Entry_Call): When pragma Detect_Blocking is active, raise 1639 Program_Error if called from a protected operation. 1640 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise 1641 Program_Error if called from a protected operation. 1642 1643 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active, 1644 raise Program_Error if called from a protected operation. 1645 1646 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active, 1647 raise Program_Error if called from a protected operation, and increase 1648 the protected action nesting level. 1649 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise 1650 Program_Error if called from a protected operation, and increase the 1651 protected action nesting level. 1652 (Unlock_Entries): When pragma Detect_Blocking is active decrease the 1653 protected action nesting level. 1654 1655 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active, 1656 raise Program_Error if called from a protected operation, and increase 1657 the protected action nesting level. 1658 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise 1659 Program_Error if called from a protected operation, and increase the 1660 protected action nesting level. 1661 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active, 1662 raise Program_Error if called from a protected operation. 1663 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is 1664 active, raise Program_Error if called from a protected operation. 1665 (Unlock_Entry): When pragma Detect_Blocking is active decrease the 1666 protected action nesting level. 1667 1668 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the 1669 insertion of the statement raising Program_Error. The run time 1670 contains the required machinery for handling that. 1671 1672 * sem_util.ads: Change comment associated to procedure 1673 Check_Potentially_Blocking_Operation. 1674 This procedure does not insert a call for raising the exception because 1675 that is currently done by the run time. 1676 1677 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter. 1678 1679 * init.c: Add the global variable __gl_detect_blocking that indicates 1680 whether pragma Detect_Blocking is active (1) or not (0). Needed for 1681 making the pragma available at run time. 1682 (__gnat_set_globals): Pass and update the detect_blocking parameter. 1683 1684 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if 1685 pragma Detect_Blocking is active. 1686 1687 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files. 1688 1689 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag 1690 DB is found in the ali file. Any unit compiled with pragma 1691 Detect_Blocking active forces its effect in the whole partition. 1692 1693 * a-retide.adb (Delay_Until): Raise Program_Error if pragma 1694 Detect_Blocking is active and delay is called from a protected 1695 operation. 1696 1697 * bindgen.adb (Gen_Adainit_Ada): When generating the call to 1698 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma 1699 Detect_Blocking is active (0 otherwise). 1700 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1 1701 as Detect_Blocking parameter if pragma Detect_Blocking is active (0 1702 otherwise). 1703 17042004-09-09 Thomas Quinot <quinot@act-europe.fr> 1705 1706 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to 1707 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash 1708 package. 1709 1710 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram. 1711 (Register_Receiving_Stub): Add Subp_Info formal parameter. 1712 Update API in placeholder implemetation of s-parint to reflect changes 1713 in distribution runtime library. 1714 1715 * sem_ch3.adb (Expand_Derived_Record): Rename to 1716 Expand_Record_Extension. 1717 1718 * sem_disp.adb (Check_Controlling_Formals): Improve error message for 1719 primitive operations of potentially distributed object types that have 1720 non-controlling anonymous access formals. 1721 1722 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New 1723 subprogram. 1724 New implementation of expansion for remote access-to-subprogram types, 1725 based on the RACW infrastructure. 1726 This version of sem_dist is compatible with PolyORB/DSA as well as 1727 GLADE. 1728 1729 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma 1730 Asynchrronous that applies to a remote access-to-subprogram type, mark 1731 the underlying RACW type as asynchronous. 1732 1733 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and 1734 __gnat_using_gnu_linker to 1. 1735 1736 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads, 1737 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to 1738 GNAT.Perfect_Hash_Generators, and remove the empty 1739 GNAT.Perfect_Hash package. 1740 1741 * atree.adb: Minor reformatting 1742 1743 * exp_ch3.adb (Expand_Derived_Record): Rename to 1744 Expand_Record_Extension. 1745 (Build_Record_Init_Proc.Build_Assignment): The default expression in 1746 a component declaration must remain attached at that point in the 1747 tree so New_Copy_Tree copies it if the enclosing record type is derived. 1748 It is therefore necessary to take a copy of the expression when building 1749 the corresponding assignment statement in the init proc. 1750 As a side effect, in the case of a derived record type, we now see the 1751 original expression, without any rewriting that could have occurred 1752 during expansion of the ancestor type's init proc, and we do not need 1753 to go back to Original_Node. 1754 1755 * exp_ch3.ads (Expand_Derived_Record): Rename to 1756 Expand_Record_Extension. 1757 1758 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram. 1759 Returns the RACW type used to implement a remote access-to-subprogram 1760 type. 1761 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type): 1762 New subprograms. Used to create a proxy tagged object for a remote 1763 subprogram. The proxy object is used as the designated object 1764 for RAS values on the same partition (unless All_Calls_Remote applies). 1765 (Build_Get_Unique_RP_Call): New subprogram. Build a call to 1766 System.Partition_Interface.Get_Unique_Remote_Pointer. 1767 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS): 1768 Renamed from Add_RAS_*_Attribute. 1769 (Add_Receiving_Stubs_To_Declarations): Generate a table of local 1770 subprograms. 1771 New implementation of expansion for remote access-to-subprogram types, 1772 based on the RACW infrastructure. 1773 1774 * exp_dist.ads (Copy_Specification): Update comment to note that this 1775 function can copy the specification from either a subprogram 1776 specification or an access-to-subprogram type definition. 1777 17782004-09-09 Ed Schonberg <schonberg@gnat.com> 1779 1780 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity 1781 in an instance, between an explicit subprogram an one inherited from a 1782 type derived from an actual. 1783 1784 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not 1785 add a polling call if the subprogram is to be inlined by the back-end, 1786 to avoid repeated calls with multiple inlinings. 1787 1788 * checks.adb (Apply_Alignment_Check): If the expression in the address 1789 clause is a call whose name is not a static entity (e.g. a dispatching 1790 call), treat as dynamic. 1791 17922004-09-09 Robert Dewar <dewar@gnat.com> 1793 1794 * g-trasym.ads: Minor reformatting 1795 1796 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except 1797 packed arrays, since unused bits are expected to be zero for a 1798 comparison. 1799 18002004-09-09 Eric Botcazou <ebotcazou@act-europe.fr> 1801 1802 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head 1803 comment. 1804 18052004-09-09 Pascal Obry <obry@gnat.com> 1806 1807 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to 1808 enable map file generation. Add the right option to generate the map 1809 file if Map_File is set to True. 1810 1811 * gnatdll.adb (Gen_Map_File): New variable. 1812 (Syntax): Add info about new -m (Map_File) option. 1813 (Parse_Command_Line): Add support for -m option. 1814 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls. 1815 Minor reformatting. 1816 18172004-09-09 Laurent Pautet <pautet@act-europe.fr> 1818 1819 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the 1820 new gnatdist implementation. 1821 Define a subpackage isolating the output routines specific to this 1822 verbose mode. 1823 18242004-09-09 Joel Brobecker <brobecker@gnat.com> 1825 1826 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta. 1827 1828 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted. 1829 18302004-09-09 Cyrille Comar <comar@act-europe.fr> 1831 1832 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile 1833 internal unit. 1834 1835 * opt.ads: Add Ada_Version_Runtime constant used to decide which 1836 version of the language is used to compile the run time. 1837 18382004-09-09 Arnaud Charlet <charlet@act-europe.fr> 1839 1840 * sem_util.adb (Requires_Transient_Scope): Re-enable handling 1841 of variable length temporaries for function return now that the 1842 back-end and gigi support it. 1843 18442004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1845 1846 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM. 1847 1848 * trans.c (struct stmt_group): Delete field GLOBAL. 1849 (gnat_init_stmt_group): Do not initialize it. 1850 (call_to_gnu): Use save_expr, not protect_multiple_eval. 1851 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2 1852 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise. 1853 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group. 1854 (start_stmt_group): Likewise. 1855 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs. 1856 1857 * utils2.c (ggc.h): Include. 1858 (build_call_raise): Call build_int_cst, not build_int_2. 1859 1860 * utils.c (gnat_init_decl_processing): Fix arg to 1861 build_common_tree_nodes. 1862 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST. 1863 (gnat_define_builtin): Set built_in_decls. 1864 (init_gigi_decls): Call build_int_cst, not build_int_2. 1865 1866 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree. 1867 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros. 1868 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise. 1869 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE, 1870 SET_TYPE_MODULE): Use them. 1871 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise. 1872 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise. 1873 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE, 1874 SET_TYPE_ADA_SIZE): Likewise. 1875 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise. 1876 (DECL_CONST_CORRESPONDING_VAR, 1877 SET_DECL_CONST_CORRESPONDING_VAR): Likewise. 1878 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise. 1879 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted. 1880 (TYPE_RM_SIZE_NUM): New macro. 1881 (TYPE_RM_SIZE): Modified to use above. 1882 1883 * cuintp.c: (build_cst_from_int): New function. 1884 (UI_To_gnu): Use it. 1885 1886 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM. 1887 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type. 1888 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a 1889 MIN_EXPR for the size, copy it into new. 1890 18912004-09-01 Robert Dewar <dewar@gnat.com> 1892 1893 * exp_ch6.adb (Expand_Call): Properly handle validity checks for 1894 packed indexed component where array is an IN OUT formal. This 1895 generated garbage code previously. 1896 1897 * gnat_ugn.texi: Document -fverbose-asm 1898 1899 * gnat-style.texi: Minor updates (note that boolean constants and 1900 variables are joined with AND/OR rather than short circuit forms). 1901 19022004-09-01 Ed Schonberg <schonberg@gnat.com> 1903 1904 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if 1905 it is an upward conversion of an untagged type with no representation 1906 change. 1907 19082004-09-01 Thomas Quinot <quinot@act-europe.fr> 1909 1910 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to 1911 System.Partition_Interface. 1912 1913 * checks.adb (Apply_Access_Checks): Do not generate checks when 1914 expander is not active (but check for unset reference to prefix of 1915 dereference). 1916 1917 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite 1918 pragma Debug as an if statement with a constant condition, for 1919 consistent treatment of entity references contained within the 1920 enclosed procedure call. 1921 19222004-09-01 Vincent Celier <celier@gnat.com> 1923 1924 * bindgen.adb: (Set_EA_Last): New procedure 1925 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure 1926 Set_EA_Last. 1927 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing 1928 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be 1929 linked without errors. 1930 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays 1931 ST and EA. 1932 (Gen_Exception_Table_C): Correct same bugs 1933 1934 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches 1935 1936 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty, 1937 on Windows, make sure that the drive letter is in upper case. 1938 1939 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on 1940 Windows, when the drive letter is added and Case_Sensitive is True, the 1941 drive letter is forced to upper case. 1942 1943 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options 1944 to Options_2 for the call to MLib.Utl.Gcc. 1945 1946 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as 1947 directory separator when defining BASE_DIR. 1948 19492004-09-01 Pascal Obry <obry@gnat.com> 1950 1951 * gprcmd.adb (Extend): Do not output trailing directory separator. This 1952 is not needed and it confuses Windows GNU/make which does not report 1953 directory terminated by a slash as a directory. 1954 (gprcmd): Idem for "pwd" internal command. 1955 1956 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in 1957 target names rewrite to fix regressions with recent version of 1958 GNU/make. Starting with GNU/make 3.80 the pipe character was not 1959 handled properly anymore. 1960 19612004-09-01 Andreas Schwab <schwab@suse.de> 1962 1963 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change. 1964 * raise.c [!IN_RTS]: Undef abort. 1965 19662004-08-27 Nathan Sidwell <nathan@codesourcery.com> 1967 1968 * utils2.c (build_allocator): Use ssize_int. 1969 1970 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype. 1971 19722004-08-27 Andreas Schwab <schwab@suse.de> 1973 1974 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o. 1975 19762004-08-25 Nathan Sidwell <nathan@codesourcery.com> 1977 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 1978 1979 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1. 1980 19812004-08-25 Nathan Sidwell <nathan@codesourcery.com> 1982 1983 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls. 1984 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise. 1985 * utils.c (init_gigi_decls): Likewise. 1986 * utils2.c (build_call_raise, build_allocator): Likewise. 1987 19882004-08-24 Nathan Sidwell <nathan@codesourcery.com> 1989 1990 * utils.c (gnat_init_decl_processing): Adjust 1991 build_common_tree_nodes call. 1992 19932004-08-20 Nathan Sidwell <nathan@codesourcery.com> 1994 1995 * utils2.c (build_allocator): Use build_int_cst for negative 1996 size types. 1997 19982004-08-18 Richard Henderson <rth@redhat.com> 1999 2000 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove. 2001 20022004-08-16 Nathan Sidwell <nathan@codesourcery.com> 2003 2004 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst 2005 call.s 2006 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise. 2007 (gnat_to_gnu): Likewise. 2008 20092004-08-16 Pascal Obry <obry@gnat.com> 2010 2011 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC 2012 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared 2013 option and not mdll anymore. Update comment. 2014 20152004-08-16 Pascal Obry <obry@gnat.com> 2016 2017 * bld.adb (Put_Include_Project): Properly handle directory separators 2018 on Windows. 2019 20202004-08-16 Ed Schonberg <schonberg@gnat.com> 2021 2022 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by 2023 decreasing the number of allocated junk nodes while searching for the 2024 appropriate subprogram. 2025 20262004-08-15 Nathan Sidwell <nathan@codesourcery.com> 2027 2028 * cuintp.c (UI_To_gnu): Use build_int_cst.. 2029 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise. 2030 * utils.c (init_gigi_decls): Likewise. 2031 * utils2.c (build_call_raise): Likewise. 2032 20332004-08-13 Olivier Hainque <hainque@act-europe.fr> 2034 2035 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator 2036 for a global aliased object with a variable size and an unconstrained 2037 nominal subtype, pretend there is no initializer if the one we have is 2038 incomplete, and avoid referencing an inexistant component in there. The 2039 part we have will be rebuilt anyway and the reference may confuse 2040 further operations. 2041 20422004-08-13 Thomas Quinot <quinot@act-europe.fr> 2043 2044 * einfo.ads: Minor reformatting 2045 2046 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter 2047 restrictions in the ALI if we only want to warn about violations. 2048 20492004-08-13 Vincent Celier <celier@gnat.com> 2050 2051 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False 2052 when creating a new Unit_Record in table Units. 2053 2054 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions 2055 that are violated, if any. 2056 2057 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not 2058 add directory separator if path already ends with a directory separator. 2059 20602004-08-13 Ed Schonberg <schonberg@gnat.com> 2061 2062 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined 2063 unit, this is an attempt to inline a construct that is not available in 2064 the current restricted mode, so abort rather than trying to continue. 2065 2066 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has 2067 discriminants that rename those of the parent, recover names of 2068 original discriminants for the constraint on the full view of the 2069 parent. 2070 (Complete_Private_Subtype): Do not create a subtype declaration if the 2071 subtype is an itype. 2072 2073 * gnat_rm.texi: Added section on implementation of discriminated 2074 records with default values for discriminants. 2075 20762004-08-13 Ed Schonberg <schonberg@gnat.com> 2077 2078 PR ada/15601 2079 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where 2080 the second operand is overloaded. 2081 20822004-08-10 Richard Henderson <rth@redhat.com> 2083 2084 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc, 2085 add __builtin_alloca. 2086 20872004-08-10 Richard Henderson <rth@redhat.com> 2088 2089 * config-lang.in (boot_language): Yes. 2090 20912004-08-09 Thomas Quinot <quinot@act-europe.fr> 2092 2093 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind 2094 from complaining on potential uninitialized reference. 2095 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for 2096 new specification and test explicitly for non-zero return value. 2097 2098 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as 2099 returning C.int, to avoid using a derived boolean type. 2100 2101 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use 2102 Duplicate_Subexpr_No_Checks in preference to direct use of 2103 Remove_Side_Effects and New_Copy_Tree. 2104 Clear Comes_From_Source on prefix of 'Size attribute reference. 2105 2106 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb, 2107 g-socthi-vxworks.adb: Change calls to 2108 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification 2109 and test explicitly for non-zero return value. 2110 2111 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: 2112 (Is_Socket_In_Set): Declare imported function as returning C.int, to 2113 avoid using a derived boolean type. 2114 21152004-08-09 Albert Lee <lee@gnat.com> 2116 2117 * system-irix-n32.ads: Refine tasking priority constants for IRIX. 2118 21192004-08-09 Pascal Obry <obry@gnat.com> 2120 2121 * gnat_ugn.texi: Document new way to build DLLs on Windows using 2122 GCC's -shared option. 2123 2124 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into 2125 Options_2 parameter (options put after object files). 2126 21272004-08-09 Olivier Hainque <hainque@act-europe.fr> 2128 2129 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to 2130 ignore overflows on low and high bounds of an index to also account for 2131 differences in signedness between sizetype and gnu_index_subtype. 2132 These are as legitimate as the ones caused by a lower TYPE_PRECISION 2133 on sizetype. 2134 21352004-08-09 Robert Dewar <dewar@gnat.com> 2136 2137 * s-solita.ads, s-solita.adb: Minor reformatting 2138 2139 * gnat_rm.texi: Add documentation for pragma Profile (Restricted) 2140 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new 2141 obsolescent section 2142 Add note that No_Implicit_Conditionals does not suppress 2143 run time constraint checks. 2144 2145 * vms_conv.ads: Minor reformatting 2146 2147 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup 2148 and necessary for following change). 2149 (Mark): Return new format Mark_Id containing sec stack address 2150 (Release): Use sec stack address from Mark_Id avoiding Self call 2151 2152 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack 2153 pointer (cleanup and necessary for following change). 2154 Define Mark_Id as record containing address of secondary stack, that way 2155 Release does not need to find the stack again, decreasing the number of 2156 calls to Self and improving efficiency. 2157 2158 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference 2159 2160 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of 2161 case variable into the individual case branches when possible. 2162 2163 * sem_ch11.adb: Minor reformatting 2164 2165 * prj.ads: Correct spelling of suffixs 2166 2167 * prj-nmsc.adb: Minor reformatting 2168 Correct spelling suffixs throughout (also in identifiers) 2169 2170 * freeze.adb: Minor spelling correction 2171 2172 * exp_ch2.adb: Cleanups to handling of Current_Value 2173 (no functional effect). 2174 2175 * bld.adb: Correct spelling of suffixs 2176 2177 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument 2178 21792004-08-09 Ed Schonberg <schonberg@gnat.com> 2180 2181 PR ada/15408 2182 * sem_ch7.adb (Install_Private_Declarations): In the body of the 2183 package or of a child, private entities are both immediately_visible 2184 and not hidden. 2185 21862004-08-09 Ed Schonberg <schonberg@gnat.com> 2187 2188 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer, 2189 there are no range checks on the value of the literal. 2190 2191 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being 2192 wrapped is the triggering alternative of an asynchronous select, action 2193 statements mustbe inserted before the select itself. 2194 2195 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the 2196 case where the prefix is a protected function call. 2197 (Resolve_Attribute, case 'Access): The attribute reference on a 2198 subprogram is legal in a generic body if the subprogram is declared 2199 elsewhere. 2200 22012004-08-09 Vincent Celier <celier@gnat.com> 2202 2203 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the 2204 languages, otherwise building the library may fail with unresolved 2205 symbols. 2206 (Compile_Sources): Do not build libraries if -c switch is used 2207 2208 * gnatlink.adb (Process_Args): New switches -M and -Mmap 2209 (Write_Usage): If map file creation is supported, output new switches 2210 -M and -Mmap. 2211 (Gnatlink): When -M is specified, add the necessary switch(es) to the 2212 gcc call, when supported. 2213 2214 * Makefile.in: Added indepsw.o to the object list for gnatlink 2215 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb 2216 2217 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb, 2218 indepsw.adb, indepsw.ads: New files. 2219 22202004-08-09 Bernard Banner <banner@gnat.com> 2221 2222 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files. 2223 2224 * Makefile.in: add section for vxworks x86 2225 22262004-08-09 Hristian Kirtchev <kirtchev@gnat.com> 2227 2228 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with 2229 per-object constrained components where the discriminant is of an 2230 Access type. 2231 (Build_Record_Init_Proc): Add condition to prevent the inheritance of 2232 the parent initialization procedure for derived Unchecked_Unions. 2233 Instead, derived Unchecked_Unions build their own initialization 2234 procedure. 2235 (Build_Variant_Record_Equality): Implement Unchecked_Union equality. 2236 Check the body of the subprogram for details. 2237 (Freeze_Record_Type): Prevent the inheritance of discriminant checking 2238 functions for derived Unchecked_Union types by introducing a condition. 2239 Allow the creation of TSS equality functions for Unchecked_Unions. 2240 (Make_Eq_Case): Rename formal parameter Node to E in function signature. 2241 Add formal parameter Discr to function signature. Discr is used to 2242 control the generated case statement for Unchecked_Union types. 2243 (Make_Eq_If): Rename formal parameter Node to E in function signature. 2244 2245 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for 2246 Unchecked_Unions. 2247 Check the body of the subprogram for details. 2248 (Expand_Composite_Equality): Augment composite type equality to include 2249 correct handling of Unchecked_Union components. 2250 (Expand_N_In): Add condition to detect illegal membership tests when the 2251 subtype mark is a constrained Unchecked_Union and the expression lacks 2252 inferable discriminants, and build a Raise_Program_Error node. 2253 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used 2254 to detect types that contain components of unconstrained Unchecked_Union 2255 subtype. Add condition to detect equality between types that have an 2256 unconstrained Unchecked_Union component, and build a Raise_Program_Error 2257 node. Add condition to detect equality between Unchecked_Union types 2258 that lack inferable discriminants, and build a Raise_Program_Error node. 2259 Otherwise build a TSS equality function call. 2260 (Expand_N_Type_Conversion): Add condition to detect illegal conversions 2261 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union 2262 with the operand lacking inferable discriminants, and build a Raise_ 2263 Program_Error node. 2264 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union 2265 composite equality. 2266 (Has_Inferable_Discriminants): Implement new predicate for objects and 2267 expressions of Unchecked_Union type. Check the body of subprogram for 2268 details. 2269 (Has_Unconstrained_UU_Components): Add function 2270 Component_Is_Unconstrained_UU. It is used to detect whether a single 2271 component is of an unconstrained Unchecked_Union subtype. Add function 2272 Variant_Is_Unconstrained_UU. It is used to detect whether a single 2273 component inside a variant is of an unconstrained Unchecked_Union type. 2274 2275 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the 2276 inferred discriminant values. Add condition to generate a case 2277 statement with an inferred discriminant as the switch. 2278 (Make_Component_List_Assign): Introduce a Boolean flag that determines 2279 the behaviour of the subprogram in the presence of an Unchecked_Union. 2280 Add condition to trigger the usage of the inferred discriminant value 2281 as the generated case statement switch. 2282 (Make_Field_Assign): Introduce a Boolean flag that determines the 2283 behaviour of the subprogram in the presence of an Unchecked_Union. Add 2284 condition to trigger the usage of the inferred discriminant value as 2285 the right-hand side of the generated assignment. 2286 2287 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual 2288 parameter generation when dealing with Unchecked_Unions. 2289 2290 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant 2291 checks for Unchecked_Unions. 2292 2293 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint 2294 2295 * exp_attr.adb (Expand_N_Attribute_Reference): Produce 2296 Raise_Program_Error nodes for the execution of Read and Write 2297 attributes of Unchecked_Union types and the execution of Input and 2298 Output attributes of Unchecked_Union types that lack default 2299 discriminant values. 2300 2301 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma 2302 Unchecked_Union. Add procedure Check_Component. It is used to inspect 2303 per-object constrained components of Unchecked_Unions for being 2304 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to 2305 check individual components withing a variant. 2306 2307 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents 2308 comparison of Unchecked_Unions. 2309 (Resolve_Equality_OP): Remove guard that prevents equality between 2310 Unchecked_Unions. 2311 2312 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation 2313 of component subtypes for Unchecked_Union components. 2314 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type 2315 since it is the actual subtype. 2316 2317 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct 2318 pass of Unchecked_Union subtypes as generic actuals to formal types 2319 that lack known_discriminant_parts or that are derived Unchecked_Union 2320 types, and do nothing. In any other case, produce an error message. 2321 2322 * sem_ch3.adb (Analyze_Component_Declaration): Add function 2323 Contains_POC. It determines whether a constraint uses the discriminant 2324 of an enclosing record type. 2325 Add condition to detect per-object constrained component and set the 2326 appropriate flag. 2327 (Derived_Type_Declaration): Remove guard that prevents derivation from 2328 Unchecked_Union types. 2329 (Process_Subtype): Remove quard that prevents the creation of Unchecked_ 2330 Union subtypes. 2331 2332 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of 2333 references to Unchecked_Union discriminants. 2334 2335 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra 2336 formal generation when dealing with Unchecked_Unions. 2337 (Set_Actual_Subtypes): Add condition to prevent generation of actual 2338 subtypes for Unchecked_Unions. 2339 2340 * sem_ch7.adb (Analyze_Package_Specification): Add procedure 2341 Inspect_Unchecked_Union_Completion. It is used to detect incorrect 2342 completions of discriminated partial views by Unchecked_Unions and 2343 produce an error message. 2344 23452004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2346 2347 * trans.c (struct stmt_group): New field, GLOBAL. 2348 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted. 2349 (struct elab_info): New struct. 2350 (elab_info_list, gnu_elab_proc_stack): New variables. 2351 (Compilation_Unit_to_gnu): New procedure. 2352 (gigi): Call it and also handle elaboration procs we've saved. 2353 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize 2354 global field from parent. 2355 (gnat_to_gnu): Get decl from gnu_elab_proc_stack. 2356 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu. 2357 (start_stmt_group): Initialize global field from parent. 2358 (add_decl_expr): Set to global for current statement group. 2359 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not 2360 post. 2361 2362 * utils.c (global_bindings_p): True when no current_function_decl; no 2363 longer check current_binding_level. 2364 23652004-08-09 Ben Brosgol <brosgol@gnat.com> 2366 2367 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition 2368 choice. 2369 2370 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic. 2371 23722004-08-06 Andreas Schwab <schwab@suse.de> 2373 2374 * utils.c (gnat_define_builtin): Remove second parameter of 2375 make_decl_rtl. 2376 (begin_subprog_body): Likewise. 2377 23782004-07-26 Arnaud Charlet <charlet@act-europe.fr> 2379 2380 * sem_util.adb (Requires_Transient_Scope): Temporarily disable 2381 optimization, not supported by the tree-ssa back-end. 2382 23832004-07-26 Olivier Hainque <hainque@act-europe.fr> 2384 2385 * s-mastop-irix.adb: Update comments. 2386 2387 * a-except.adb (Exception_Information): Raise Constraint_Error if 2388 exception Id is Null_Id. 2389 This is required behavior, which is more reliably and clearly checked 2390 at the top level interface level. 2391 23922004-07-26 Javier Miranda <miranda@gnat.com> 2393 2394 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization 2395 call if a component has no default_expression and the box is used. 2396 2397 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no 2398 default_expression and you use box, it behaves as if you had declared a 2399 stand-alone object. 2400 (Resolve_Record_Aggregate): If a component has no default_expression and 2401 you use box, it behaves as if you had declared a stand-alone object. 2402 2403 * sem_ch10.adb (Install_Siblings): Do not make visible the private 2404 entities of private-with siblings. 2405 24062004-07-26 Ed Schonberg <schonberg@gnat.com> 2407 2408 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view 2409 for a component of an itype, set the parent pointer for analysis, 2410 there is no list in which to insert it. 2411 2412 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for 2413 bona-fide renamings, not for inherited operations. 2414 2415 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an 2416 actual for a formal that is an access parameter, create local 2417 finalization list even if the expression is not an aggregate. 2418 24192004-07-26 Ed Schonberg <schonberg@gnat.com> 2420 2421 PR ada/16213 2422 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming): 2423 Diagnose properly illegal subprogram renamings that are library units. 2424 24252004-07-26 Ed Schonberg <schonberg@gnat.com> 2426 2427 PR ada/15588 2428 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type 2429 conversion rewritten as an unchecked conversion, check that original 2430 expression is a variable. 2431 2432 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an 2433 unchecked_conversion, create new node rather than rewriting in place, 2434 to preserve original construct. 2435 24362004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2437 2438 * gigi.h (gnat_expand_body): Deleted. 2439 2440 * Make-lang.in: (trans.o): Depends on function.h. 2441 2442 * misc.c: (gnat_expand_body): Moved to here. 2443 2444 * trans.c (gnat_expand_body_1): Deleted. 2445 (gnat_expand_body): Moved from here. 2446 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc. 2447 (add_stmt): Check for marked visited with global_bindings_p. 2448 (gnat_gimplify_expr, case COMPONENT_REF): New case. 2449 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp. 2450 2451 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a 2452 VIEW_CONVERT_EXPR if not operation type. 2453 2454 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for 2455 fat pointer. 2456 2457 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor 2458 changes: reformatting of negation operators, removing unneeded 2459 inequality comparison with zero, converting equality comparisons with 2460 zero to negations, changing int/0/1 to bool/false/true, replace calls 2461 to gigi_abort with abort, and various other similar changes. 2462 24632004-07-26 Vincent Celier <celier@gnat.com> 2464 2465 * gnatcmd.adb (GNATCmd): Add processing for new built-in command 2466 "setup". 2467 2468 * make.adb (Gnatmake): Fail when a library is not present and there is 2469 no object directory. 2470 2471 * mlib-prj.adb (Check_Library): No need to check if the library needs 2472 to be rebuilt if there is no object directory, hence no object files 2473 to build the library. 2474 2475 * opt.ads (Setup_Projects): New Boolean flag. 2476 2477 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and 2478 Location. 2479 Create directory when Kind /= "" and in "gnat setup". Report error if 2480 directory cannot be created. 2481 (Ada_Check): Create library interface copy dir if it does not exist 2482 and we are in "gnat setup". 2483 (Find_Sources): No error if in "gnat setup" and no Ada sources were 2484 found. 2485 (Language_Independent_Check): Create object directory, exec directory 2486 and/or library directory if they do not exist and we are in 2487 "gnat setup". 2488 2489 * vms_conv.ads: (Command_Type): New command Setup. 2490 2491 * vms_conv.adb (Initialize): Add Setup component of Cammand_List. 2492 2493 * vms_data.ads: Add qualifiers/switches for new built-in command 2494 "setup". 2495 24962004-07-25 Richard Henderson <rth@redhat.com> 2497 2498 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and 2499 DECL_IGNORED_P on RESULT_DECL. 2500 25012004-07-20 Olivier Hainque <hainque@act-europe.fr> 2502 2503 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic 2504 allocation and potentially overflowing update with 2505 Tailored_Exception_Information. Use the sec-stack free procedural 2506 interface to output Exception_Information instead. 2507 2508 * a-except.adb (To_Stderr): New subprogram for character, and string 2509 version moved from a-exextr to be visible from other separate units. 2510 (Tailored_Exception_Information): Remove the procedural version, 2511 previously used by the default Last_Chance_Handler and not any more. 2512 Adjust various comments. 2513 2514 * a-exexda.adb: Generalize the exception information procedural 2515 interface, to minimize the use of secondary stack and the need for 2516 local buffers when the info is to be output to stderr: 2517 (Address_Image): Removed. 2518 (Append_Info_Character): New subprogram, checking for overflows and 2519 outputing to stderr if buffer to fill is of length 0. 2520 (Append_Info_String): Output to stderr if buffer to fill is of length 0. 2521 (Append_Info_Address, Append_Info_Exception_Name, 2522 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information, 2523 Append_Info_Basic_Exception_Traceback, 2524 Append_Info_Exception_Information): New subprograms. 2525 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character. 2526 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength, 2527 Exception_Info_Maxlength, Exception_Name_Length, 2528 Exception_Message_Length): New subprograms. 2529 (Exception_Information): Use Append_Info_Exception_Information. 2530 (Tailored_Exception_Information): Use 2531 Append_Info_Basic_Exception_Information. 2532 Export services for the default Last_Chance_Handler. 2533 2534 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by 2535 other separate units. 2536 25372004-07-20 Vincent Celier <celier@gnat.com> 2538 2539 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting. 2540 25412004-07-20 Ed Schonberg <schonberg@gnat.com> 2542 2543 * freeze.adb (Freeze_Entity): If entity is a discriminated record type, 2544 emit itype references for the designated types of component types that 2545 are declared outside of the full record declaration, and that may 2546 denote a partial view of that record type. 2547 25482004-07-20 Ed Schonberg <schonberg@gnat.com> 2549 2550 PR ada/15607 2551 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype 2552 which is the designated type in an access component declaration, to the 2553 list of incomplete dependents of the parent type, to avoid elaboration 2554 issues with out-of-scope subtypes. 2555 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the 2556 full view of the parent. 2557 25582004-07-20 Ed Schonberg <schonberg@gnat.com> 2559 2560 PR ada/15610 2561 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject 2562 entities that are hidden, such as references to generic actuals 2563 outside an instance. 2564 25652004-07-20 Javier Miranda <miranda@gnat.com> 2566 2567 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives 2568 support to the new notation. 2569 (Analyze_Selected_Component): Add call to Try_Object_Operation. 2570 25712004-07-20 Jose Ruiz <ruiz@act-europe.fr> 2572 2573 * s-taprob.adb: Adding the elaboration code required for initializing 2574 the tasking soft links that are common to the full and the restricted 2575 run times. 2576 2577 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the 2578 restricted run time has been moved to the package 2579 System.Soft_Links.Tasking. 2580 2581 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the 2582 restricted run time has been moved to the package 2583 System.Soft_Links.Tasking. 2584 2585 * Makefile.rtl: Add entry for s-solita.o in run-time library list. 2586 2587 * s-solita.ads, s-solita.adb: New files. 2588 25892004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2590 2591 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu, 2592 Case_Statement_to_gnu): Split off from gnat_to_gnu. 2593 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu, 2594 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj, 2595 Exception_Handler_to_gnu_zcx): Likewise. 2596 25972004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> 2598 2599 * gigi.h (builtin_function): Declare. 2600 26012004-07-15 Robert Dewar <dewar@gnat.com> 2602 2603 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor 2604 reformatting 2605 2606 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with 2607 access values as an example of a warning. 2608 2609 * gnat_rm.texi: Document new attribute Has_Access_Values 2610 2611 * gnat-style.texi: Document that box comments belong on nested 2612 subprograms 2613 2614 * sem_util.ads (Has_Access_Values): Improved documentation 2615 2616 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment 2617 2618 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure 2619 (Process_Interface_Name): Call to this new procedure 2620 (Set_Extended_Import_Export_External_Name): Call to this new procedure 2621 2622 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment 2623 2624 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values 2625 2626 * einfo.ads: Minor comment typo fixed 2627 26282004-07-15 Jose Ruiz <ruiz@act-europe.fr> 2629 2630 * snames.adb: Add _atcb. 2631 2632 * snames.ads: Add Name_uATCB. 2633 2634 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated 2635 (in the expanded code) when using the restricted run time. 2636 2637 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into 2638 a in parameter in order to allow ATCBs to be preallocated (in the 2639 expanded code). 2640 2641 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in 2642 order to allow ATCBs to be preallocated. In case of error, the ATCB is 2643 deallocated in System.Tasking.Stages. 2644 2645 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in 2646 order to allow ATCBs to be preallocated. 2647 2648 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated 2649 here. It was previously done in Initialize_ATCB. 2650 2651 * rtsfind.ads: Make the Ada_Task_Control_Block visible. 2652 2653 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the 2654 Restricted run time. 2655 2656 * exp_ch3.adb: When using the Restricted run time, pass the 2657 preallocated Ada_Task_Control_Block when creating a task. 2658 26592004-07-15 Ed Schonberg <schonberg@gnat.com> 2660 2661 * sem_util.adb (Normalize_Actuals): If there are no actuals on a 2662 function call that is itself an actual in an enclosing call, diagnose 2663 problem here rather than assuming that resolution will catch it. 2664 2665 * sem_ch7.adb (Analyze_Package_Specification): If the specification is 2666 the local copy of a generic unit for a formal package, and the generic 2667 is a child unit, install private part of ancestors before compiling 2668 private part of spec. 2669 2670 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to 2671 use scope entities rather than tree structures, to handle properly 2672 parent units that are instances rewritten as bodies for inlining 2673 purposes. 2674 2675 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent, 2676 Remove_Parents): Handle properly a parent unit that is an 2677 instantiation, when the unit has been rewritten as a body for inlining 2678 purposes. 2679 2680 * par.adb (Goto_List): Global variable to collect goto statements in a 2681 given unit, for use in detecting natural loops. 2682 2683 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for 2684 use in detecting natural loops. 2685 2686 * par-labl.adb (Find_Natural_Loops): Recognize loops create by 2687 backwards goto's, and rewrite as a infinite loop, to improve locality 2688 of temporaries. 2689 2690 * exp_util.adb (Force_Evaluation): Recognize a left-hand side 2691 subcomponent that includes an indexed reference, to prevent the 2692 generation of copies that would miscompile the desired assignment 2693 statement. 2694 (Build_Task_Image_Decls): Add a numeric suffix to 2695 generated name for string variable, to avoid spurious conflicts with 2696 the name of the type of a single protected object. 2697 2698 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a 2699 loop with an explicit exit statement, to avoid generating an 2700 out-of-range value with 'Succ leading to spurious constraint_errors 2701 when compiling with -gnatVo. 2702 27032004-07-15 Thomas Quinot <quinot@act-europe.fr> 2704 2705 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it 2706 might not be analyzed yet, even if its Etype is already set (case of an 2707 unchecked conversion built using Unchecked_Convert_To, for example). 2708 If the prefix has already been analyzed, this will be a nop anyway. 2709 2710 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a 2711 controller type, or an assignment of a record type with controlled 2712 components, copy only user data, and leave the finalization chain 2713 pointers untouched. 2714 27152004-07-15 Vincent Celier <celier@gnat.com> 2716 2717 * make.adb (Collect_Arguments): Improve error message when attempting 2718 to compile a source not part of any project, when -x is not used. 2719 2720 * prj.ads: (Defined_Variable_Kind): New subtype 2721 2722 * prj-attr.adb (Register_New_Package): Two new procedures to register 2723 a package with or without its attributes. 2724 (Register_New_Attribute): Mew procedure to register a new attribute in a 2725 package. 2726 New attribute oriented subprograms: Attribute_Node_Id_Of, 2727 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of, 2728 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of, 2729 Next_Attribute. 2730 New package oriented subprograms: Package_Node_Id_Of, 2731 Add_Unknown_Package, First_Attribute_Of, Add_Attribute. 2732 2733 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized 2734 type. 2735 (Package_Node_Id): Now a private, self initialized type 2736 (Register_New_Package): New procedure to register a package with its 2737 attributes. 2738 New attribute oriented subprograms: Attribute_Node_Id_Of, 2739 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of, 2740 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of, 2741 Next_Attribute. 2742 New package oriented subprograms: Package_Node_Id_Of, 2743 Add_Unknown_Package, First_Attribute_Of, Add_Attribute. 2744 2745 * prj-dect.adb (Parse_Attribute_Declaration, 2746 Parse_Package_Declaration): Adapt to new spec of Prj.Attr. 2747 2748 * prj-makr.adb (Make): Parse existing project file before creating 2749 other files. Fail if there was an error during parsing. 2750 2751 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to 2752 new spec of Prj.Attr. 2753 2754 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt 2755 to new spec of Prj.Attr. 2756 27572004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2758 2759 * utils2.c: Fix typo in comment. 2760 27612004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2762 2763 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL. 2764 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs. 2765 27662004-07-14 Andreas Schwab <schwab@suse.de> 2767 2768 * trans.c (gnat_init_stmt_group): Remove duplicate definition. 2769 27702004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2771 2772 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to 2773 object type. 2774 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set 2775 TYPE_STUB_DECL. 2776 2777 * misc.c (gnat_types_compatible_p): New function. 2778 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it. 2779 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New. 2780 2781 * trans.c (gigi): Move processing of main N_Compilation_Unit here. 2782 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here. 2783 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR. 2784 (mark_visited): Don't mark dummy type. 2785 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In 2786 parameter, we must remove any LJM building from GNU_NAME. 2787 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR. 2788 (pos_to_constructor): Use int_const_binop. 2789 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of 2790 PARM_DECL. 2791 2792 * utils.c (gnat_init_decl_processing): Don't make two "void" decls. 2793 (gnat_pushlevel): Set TREE_USE on BLOCK node. 2794 (gnat_install_builtins): Add __builtin_memset. 2795 27962004-07-13 Olivier Hainque <hainque@act-europe.fr> 2797 2798 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer 2799 for a renaming, stabilize the initialization expression if we are at a 2800 local level. At the local level, uses of the renaming may be performed 2801 by a direct dereference of the initializing expression, and we don't 2802 want possible variables there to be evaluated for every use. 2803 2804 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1): 2805 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing 2806 them on the way. Account for the fact that we may introduce side 2807 effects in the process. 2808 28092004-07-13 Richard Henderson <rth@redhat.com> 2810 2811 * misc.c (default_pass_by_ref): Use pass_by_reference. 2812 28132004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> 2814 2815 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL, 2816 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. 2817 28182004-07-08 Richard Henderson <rth@redhat.com> 2819 2820 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update 2821 commentary. 2822 28232004-07-06 Vincent Celier <celier@gnat.com> 2824 2825 * vms_conv.ads: Minor reformatting. 2826 Alphabetical order for enumerated values of type Command_Type, to have 2827 the command in alphabetical order for the usage. 2828 2829 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for 2830 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters). 2831 2832 * gnat_ugn.texi: Document new switch -dn for the GNAT driver. 2833 2834 * makegpr.adb (Global_Archive_Exists): New global Boolean variable 2835 (Add_Archive_Path): Only add the global archive if there is one. 2836 (Build_Global_Archive): Set Global_Archive_Exists depending if there is 2837 or not any object file to put in the global archive, and don't build 2838 a global archive if there is none. 2839 (X_Switches): New table 2840 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored 2841 in the X_Switches table, if any. 2842 (Initialize): Make sure the X_Switches table is empty 2843 (Scan_Arg): Record -X switches in table X_Switches 2844 2845 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False. 2846 2847 * make.adb: Minor comment fix 2848 2849 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been 2850 invoked with directory information, add the directory in front of the 2851 path. 2852 2853 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been 2854 invoked with directory information, add the directory in front of the 2855 path. 2856 2857 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files 2858 when Keep_Temporary_Files is False. 2859 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with 2860 directory information, add the directory in front of the path. 2861 When not on VMS, handle new switch -dn before the command to set 2862 Keep_Temporary_Files to True. 2863 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid 2864 everywhere. 2865 2866 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been 2867 invoked with directory information, add the directory in front of the 2868 path. 2869 28702004-07-06 Thomas Quinot <quinot@act-europe.fr> 2871 2872 * snames.ads, snames.adb (Name_Stub): New name for the distributed 2873 systems annex. 2874 2875 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB. 2876 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA. 2877 2878 * g-socket.adb (To_Timeval): Fix incorrect conversion of 2879 Selector_Duration to Timeval for the case of 0.0. 2880 2881 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of 2882 documentation from Evolve_And_Then. 2883 28842004-07-06 Jose Ruiz <ruiz@act-europe.fr> 2885 2886 * s-taprop-tru64.adb, s-taprop-os2.adb, 2887 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment. 2888 28892004-07-06 Robert Dewar <dewar@gnat.com> 2890 2891 * s-osinte-hpux.ads, s-osinte-freebsd.ads, 2892 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads, 2893 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb, 2894 s-interr-sigaction.adb, s-taprop-irix-athread.adb, 2895 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb, 2896 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, 2897 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb, 2898 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb, 2899 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb, 2900 a-tags.ads, bindgen.ads, checks.adb, checks.adb, 2901 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb, 2902 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb, 2903 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb, 2904 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb, 2905 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb, 2906 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb, 2907 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads, 2908 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads, 2909 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb, 2910 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb, 2911 vms_data.ads: Minor reformatting, 2912 Fix bad box comment format. 2913 2914 * gnat_rm.texi: Fix minor grammatical error 2915 2916 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values 2917 2918 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many 2919 more cases of discriminated records to be recognized as not needing a 2920 secondary stack. 2921 (Has_Access_Values): New function. 2922 2923 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values 2924 2925 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name 2926 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence 2927 with LRM terminology). 2928 Change terminology in comments primitive type => elementary type. 2929 29302004-07-06 Ed Schonberg <schonberg@gnat.com> 2931 2932 PR ada/15602 2933 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal 2934 parameters do not impose any requirements on the presence of a body. 2935 29362004-07-06 Ed Schonberg <schonberg@gnat.com> 2937 2938 PR ada/15593 2939 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a 2940 compilation unit and is in an open scope at the point of instantiation, 2941 assume that a body may be present later. 2942 29432004-07-06 Ed Schonberg <schonberg@gnat.com> 2944 2945 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size): 2946 Improve error message when specified size is not supported. 2947 2948 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram 2949 is never a primitive operation. 2950 29512004-07-05 Andreas Schwab <schwab@suse.de> 2952 2953 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use 2954 RECORD_OR_UNION_CHECK. 2955 (TYPE_CONTAINS_TEMPLATE_P): Likewise. 2956 29572004-07-04 Kelley Cook <kcook@gcc.gnu.org> 2958 2959 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit 2960 dependency on xgnatugn, instead build it via a submake. 2961 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi. 2962 29632004-07-04 Richard Henderson <rth@redhat.com> 2964 2965 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack. 2966 29672004-07-01 Richard Henderson <rth@redhat.com> 2968 2969 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR. 2970 * utils.c (max_size): Likewise. 2971 29722004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2973 2974 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation, 2975 and rest_of_type_compilation; add arg to create_*_decl. 2976 (annotate_decl_with_node): Deleted. 2977 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields. 2978 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted. 2979 (get_current_block_context, gnat_pushdecl): New declarations. 2980 (gnat_init_stmt_group): Likewise. 2981 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg. 2982 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted. 2983 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted. 2984 (gnat_init): Call gnat_init_stmt_group. 2985 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables. 2986 (gnu_pending_elaboration_list): Deleted. 2987 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions. 2988 (gigi): Rearrange initialization calls and move some to last above. 2989 (gnat_to_gnu): If statement and not in procedure, go into elab proc. 2990 Delete calls to add_decl_expr; add arg to create_*_decl. 2991 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR. 2992 (gnat_to_gnu, case N_Subprogram_Body): Move some code to 2993 begin_subprog_body and call it. 2994 Don't push and pop ggc context. 2995 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc. 2996 (add_stmt): Remove handling of DECL_EXPR from here. 2997 If not in function, mark visited. 2998 (add_decl_expr): Put global at top level. 2999 Check for cases of DECL_INITIAL we have to handle here. 3000 (process_type): Add extra arg to create_type_decl. 3001 (build_unit_elab): Rework to just gimplify. 3002 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted. 3003 (block_has_vars, mark_visited, add_pending_elaborations): Likewise. 3004 (get_pending_elaborations, pending_elaborations_p): Likewise. 3005 (push_pending_elaborations, pop_pending_elaborations): Likewise. 3006 (get_elaboration_location, insert_elaboration_list): Likewise. 3007 (gnat_binding_level): Renamed from ada_binding_level. 3008 (init_gnat_to_gnu): Don't clear pending_elaborations. 3009 (global_bindings_p): Treat as global if no current_binding_level. 3010 (set_current_block_context): New function. 3011 (gnat_pushdecl): Renamed from pushdecl; major rework. 3012 All callers changed. 3013 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg. 3014 (finish_record_type): Call call pushdecl for stub decl. 3015 (function_nesting_depth): Deleted. 3016 (begin_subprog_body): Delete obsolete code. 3017 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl. 3018 30192004-06-28 Robert Dewar <dewar@gnat.com> 3020 3021 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 3022 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, 3023 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb, 3024 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, 3025 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting 3026 3027 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to 3028 deal with problem of inefficient slices on machines with strict 3029 alignment, when the slice is a component of a composite. 3030 3031 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit 3032 machines, we need the check there as well. 3033 30342004-06-28 Ed Schonberg <schonberg@gnat.com> 3035 3036 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to 3037 determine safe copying direction for overlapping slice assignments 3038 when component is controlled. 3039 3040 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a 3041 formal derived type in the actual for a formal package are visible in 3042 the enclosing instance. 3043 30442004-06-28 Ed Schonberg <schonberg@gnat.com> 3045 3046 PR ada/15600 3047 * sem_util.adb (Trace_Components): Diagnose properly an illegal 3048 circularity involving a private type whose completion includes a 3049 self-referential component. 3050 (Enter_Name): Use Is_Inherited_Operation to distinguish a source 3051 renaming or an instantiation from an implicit derived operation. 3052 30532004-06-28 Pascal Obry <obry@gnat.com> 3054 3055 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from 3056 DLL. 3057 (Library_File_Name_For): Idem. 3058 30592004-06-28 Matthew Gingell <gingell@gnat.com> 3060 3061 * g-traceb.ads: Add explanatory note on the format of addresses 3062 expected by addr2line. 3063 30642004-06-28 Jerome Guitton <guitton@act-europe.fr> 3065 3066 * Makefile.in: Force debugging information on s-tasdeb.adb, 3067 a-except.adb and s-assert.adb needed by the debugger. 3068 30692004-06-28 Vincent Celier <celier@gnat.com> 3070 3071 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to 3072 Need_To_Build_Lib. 3073 (Gnatmake): Ditto. 3074 3075 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib 3076 3077 * prj.adb: Minor reformatting 3078 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2. 3079 3080 * prj.ads: Comment updates 3081 Minor reformatting 3082 (Project_Data): Change Flag1 to Need_To_Build_Lib. 3083 Remove Flag2: not used. 3084 3085 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a 3086 declaration. 3087 3088 * gnat_ugn.texi: Put a "null;" declaration in one project file example 3089 3090 * gnat_rm.texi: Document Empty declarations "null;". 3091 3092 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in 3093 front of the linker options. 3094 (Link_Foreign): Put the global archives and the libraries in front of 3095 the linker options. 3096 30972004-06-28 Javier Miranda <miranda@gnat.com> 3098 3099 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment 3100 (RTU_Loaded): Code cleanup 3101 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly 3102 withed predefined units. 3103 3104 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded* 3105 explicitly withed predefined units. 3106 Fix typo in comment 3107 3108 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded* 3109 explicitly withed predefined units. 3110 31112004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3112 3113 * ada-tree.def (DECL_STMT): Deleted. 3114 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT. 3115 (DECL_STMT_VAR): Deleted. 3116 * decl.c: add_decl_stmt now add_decl_expr. 3117 * gigi.h: Likewise. 3118 * trans.c: Likewise. 3119 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted. 3120 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus. 3121 (add_stmt): Only handle padded type here. 3122 (add_stmt_with_node): Allow gnat_node to not be present. 3123 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null. 3124 (gnat_gimplify_stmt, case DECL_STMT): Deleted. 3125 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer, 3126 make a SAVE_EXPR for the entire fat pointer. 3127 * utils.c (pushdecl): Walk a DECL_EXPR in global case. 3128 (create_index_type): Make a DECL_EXPR. 3129 (end_subprog_body): Don't call allocate_struct_function here but 3130 do clear cfun. 3131 31322004-06-25 Pascal Obry <obry@gnat.com> 3133 3134 * makegpr.adb (Build_Library): Remove parameter Lib_Address and 3135 Relocatable from Build_Dynamic_Library call. 3136 3137 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and 3138 Relocatable are now synonym. 3139 3140 * Makefile.in: Use s-parame-mingw.adb on MingW platform. 3141 3142 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition. 3143 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library 3144 call. 3145 3146 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter 3147 Lib_Address and Relocatable. 3148 (Default_DLL_Address): Removed. 3149 3150 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 3151 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, 3152 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb: 3153 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable. 3154 (Default_DLL_Address): Removed. 3155 3156 * mlib-tgt-mingw.adb: Ditto. 3157 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name. 3158 3159 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute 3160 the initial thread stack size. 3161 3162 * a-strmap.ads: Move package L to private part as it is not used in 3163 the spec. Found while reading code. 3164 31652004-06-25 Olivier Hainque <hainque@act-europe.fr> 3166 3167 * tracebak.c: Introduce support for a GCC infrastructure based 3168 implementation of __gnat_backtrace. 3169 3170 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record 3171 any more. Use accessors instead. This eases maintenance and relaxes 3172 some alignment constraints. 3173 (_GNAT_Exception structure): Remove the Ada specific fields 3174 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by 3175 a-exexpr.adb. 3176 (is_handled_by, __gnat_eh_personality): Replace component references to 3177 exception structure by use of the new accessors. 3178 3179 * init.c (__gnat_initialize): Adjust comments to match the just 3180 reverted meaning of the -static link-time option. 3181 3182 * adaint.c (convert_addresses): Arrange not to define a stub for 3183 mips-irix any more, as we now want to rely on a real version from a 3184 recent libaddr2line. 3185 3186 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that 3187 the personality routine can use them and not have to rely on a C 3188 counterpart of the record anymore. This simplifies maintenance and 3189 relaxes the constraint of having Standard'Maximum_Alignment match 3190 BIGGEST_ALIGNMENT. 3191 Update comments, and add a section on the common header alignment issue. 3192 31932004-06-25 Geert Bosch <bosch@gnat.com> 3194 3195 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in 3196 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm. 3197 31982004-06-25 Robert Dewar <dewar@gnat.com> 3199 3200 * gnat_rm.texi: Fix section on component clauses to indicate that the 3201 restriction on byte boundary placement still applies for bit packed 3202 arrays. 3203 Add comment on stack usage from Initialize_Scalars 3204 3205 * gnat_ugn.texi: Add documentation for -gnatyLnnn 3206 3207 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for 3208 limiting nesting level. 3209 3210 * usage.adb: Add line for -gnatyLnnn switch 3211 3212 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads, 3213 sem_ch13.adb, exp_aggr.adb: Minor reformatting 3214 3215 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base 3216 type as well as on the subtype. This corrects a problem in freeze in 3217 setting alignments of atomic types. 3218 3219 * sem_eval.ads: Minor comment typo fixed 3220 3221 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting 3222 level. Minor reformatting. 3223 3224 * fname.adb (Is_Predefined_File_Name): Require a letter after the 3225 minus sign. This means that file names like a--b.adb will not be 3226 considered predefined. 3227 3228 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing 3229 record Test new flag and give diagnostic for bad component clause. 3230 (Freeze_Entity): Set alignment of array from component alignment in 3231 cases where this is safe to do. 3232 3233 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed 3234 arrays. 3235 3236 * cstand.adb: (Create_Standard): Set alignment of String to 1 3237 3238 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary 3239 3240 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated 3241 code in the common constrained array cases. 3242 3243 * a-storio.adb: Change implementation to avoid possible alignment 3244 problems on machines requiring strict alignment (data should be moved 3245 as type Buffer, not type Elmt). 3246 3247 * checks.adb (Apply_Array_Size_Check): Improve these checks by 3248 killing the overflow checks which we really do not need (64-bits is 3249 enough). 3250 32512004-06-25 Vincent Celier <celier@gnat.com> 3252 3253 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function 3254 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path 3255 inconditionally for the main project. 3256 (Recursive_Add_Archives.Add_Archive_Path): New procedure 3257 (Link_Executables.Check_Time_Stamps): New procedure 3258 (Link_Executables.Link_Foreign): New procedure 3259 Changes made to reduce nesting level of this package 3260 (Check): New procedure 3261 (Add_Switches): When not in quiet output, check that a switch is not 3262 the concatenation of several valid switches. If it is, issue a warning. 3263 (Build_Global_Archive): If the global archive is rebuilt, linking need 3264 to be done. 3265 (Compile_Sources): Rebuilding a library archive does not imply 3266 rebuilding the global archive. 3267 (Build_Global_Archive): New procedure 3268 (Build_Library): New name for Build_Archive, now only for library 3269 project 3270 (Check_Archive_Builder): New procedure 3271 (Create_Global_Archive_Dependency_File): New procedure 3272 (Gprmake): Call Build_Global_Archive before linking 3273 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present 3274 throughout. 3275 (Scan_Arg): Display the Copyright notice when -v is used 3276 3277 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=) 3278 for gnatls. 3279 3280 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT 3281 COMPILE. 3282 Add new GNAT LIST qualifier /FILES= 3283 Added qualifier /DIRECTORY= to GNAT METRIC 3284 Added qualifier /FILES= to GNAT METRIC 3285 Added qualifier /FILES to GNAT PRETTY 3286 3287 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS, 3288 to take into account both versions of the switch. 3289 3290 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should 3291 always be the last switch to the gcc driver. Disable switch storing so 3292 that switches automatically added by the gcc driver are not put in the 3293 ALI file. 3294 3295 * prj.adb (Project_Empty): Take into account changes in components of 3296 Project_Data. 3297 3298 * prj.ads (Languages_Processed): New enumaration value All_Languages. 3299 3300 * prj.ads (Project_Data): Remove component Lib_Elaboration: never 3301 used. Split Boolean component Ada_Sources_Present in two Boolean 3302 components Ada_Sources_Present and Other_Sources_Present. 3303 Minor reformatting 3304 3305 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present 3306 instead of Sources_Present. 3307 (Set_Ada_Paths.Add.Recursive_Add): Ditto 3308 3309 * prj-nmsc.adb: Minor reformatting 3310 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme 3311 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure 3312 Check_Ada_Naming_Scheme. 3313 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present 3314 throughout. 3315 3316 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter 3317 In_Limited. 3318 Make sure that all cycles where there is at least one "limited with" 3319 are detected. 3320 (Parse_Single_Project): New Boolean parameter In_Limited 3321 3322 * prj-proc.adb (Recursive_Check): When Process_Languages is 3323 All_Languages, call first Prj.Nmsc.Ada_Check, then 3324 Prj.Nmsc.Other_Languages_Check. 3325 3326 * prj-proc.adb (Process): Use Ada_Sources_Present or 3327 Other_Sources_Present (instead of Sources_Present) depending on 3328 Process_Languages. 3329 3330 * lang-specs.h: Keep -g and -m switches in the same order, and as the 3331 last switches. 3332 3333 * lib.adb (Switch_Storing_Enabled): New global Boolean flag 3334 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to 3335 False. 3336 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is 3337 False. 3338 3339 * lib.ads (Disable_Switch_Storing): New procedure. 3340 3341 * make.adb: Modifications to reduce nesting level of this package. 3342 (Check_Standard_Library): New procedure 3343 (Gnatmake.Check_Mains): New procedure 3344 (Gnatmake.Create_Binder_Mapping_File): New procedure 3345 (Compile_Sources.Compile): Add switch -gnatez as the last option 3346 (Display): Never display -gnatez 3347 3348 * Makefile.generic: 3349 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT) 3350 3351 * gnatcmd.adb (Check_Project): New function 3352 (Process_Link): New procedure to reduce nesting depth 3353 (Check_Files): New procedure to reduce the nesting depth. 3354 For GNAT METRIC, include the inherited sources in extending projects. 3355 (GNATCmd): When GNAT LS is invoked with a project file and no files, 3356 add the list of files from the sources of the project file. If this list 3357 is too long, put it in a temp text files and use switch -files= 3358 (Delete_Temp_Config_Files): Delete the temp text file that contains 3359 a list of source for gnatpp or gnatmetric, if one has been created. 3360 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources 3361 in the project file is too large, create a temporary text file that 3362 list them and pass it to the tool with "-files=<temp text file>". 3363 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch 3364 3365 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the 3366 generated file is in not in Ada. 3367 3368 * gnatls.adb: Remove all parameters And_Save that are no longer used. 3369 (Scan_Ls_Arg): Add processing for -files= 3370 (Usage): Add line for -files= 3371 3372 * g-os_lib.adb (On_Windows): New global constant Boolean flag 3373 (Normalize_Pathname): When on Windows and the path starts with a 3374 directory separator, make sure that the resulting path will start with 3375 a drive letter. 3376 3377 * clean.adb (Clean_Archive): New procedure 3378 (Clean_Project): When there is non-Ada code, delete the global archive, 3379 the archive dependency files, the object files and their dependency 3380 files, if they exist. 3381 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only. 3382 33832004-06-25 Thomas Quinot <quinot@act-europe.fr> 3384 3385 * sinfo.ads: Fix typo in comment. 3386 3387 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses 3388 the TSS for remote access-to-subprogram types, since these TSS are 3389 always present once the type has been analyzed. 3390 (RAS_E_Dereference): Same. 3391 3392 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute 3393 reference raises Bad_Attribute, mark the reference as analyzed so the 3394 node (and any children resulting from rewrites that could have occurred 3395 during the analysis that ultimately failed) is not analyzed again. 3396 3397 * exp_ch7.ads (Find_Final_List): Fix misaligned comment. 3398 3399 * exp_dist.adb: Minor comment fix. 3400 3401 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected 3402 type is an anonymous access type, no unchecked deallocation of the 3403 allocated object can occur. If the object is controlled, attach it with 3404 a count of 1. This allows attachment to the Global_Final_List, if 3405 no other relevant list is available. 3406 (Get_Allocator_Final_List): For an anonymous access type that is 3407 the type of a discriminant or record component, the corresponding 3408 finalisation list is the one of the scope of the type. 3409 34102004-06-25 Ed Schonberg <schonberg@gnat.com> 3411 3412 * sem_ch3.adb (Replace_Type): When computing the signature of an 3413 inherited subprogram, use the first subtype if the derived type 3414 declaration has no constraint. 3415 3416 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array 3417 before applying previous optimization. Minor code cleanup. 3418 3419 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is 3420 placed at the beginning of an unpacked record without explicit 3421 alignment, a slice of it will be aligned and does not need a copy when 3422 used as an actual. 3423 34242004-06-25 Ed Schonberg <schonberg@gnat.com> 3425 3426 PR ada/15591 3427 PR ada/15592 3428 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute 3429 reference is written with expressions mimicking parameters. 3430 34312004-06-25 Hristian Kirtchev <kirtchev@gnat.com> 3432 3433 PR ada/15589 3434 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to 3435 STEP 2a. The constraints of a full type declaration of a derived record 3436 type are checked for conformance with those declared in the 3437 corresponding private extension declaration. The message 3438 "not conformant with previous declaration" is emitted if an error is 3439 detected. 3440 34412004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr> 3442 3443 * g-traceb.ads: Document the need for -E binder switch in the spec. 3444 3445 * g-trasym.ads: Document the need for -E binder switch in the spec. 3446 34472004-06-25 Jose Ruiz <ruiz@act-europe.fr> 3448 3449 * sem_prag.adb: Add handling of pragma Detect_Blocking. 3450 3451 * snames.h, snames.ads, snames.adb: Add entry for pragma 3452 Detect_Blocking. 3453 3454 * s-rident.ads: Change reference to pragma Detect_Blocking. 3455 3456 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in 3457 system.ads. 3458 3459 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False) 3460 to indicate whether pragma Detect_Blocking is active. 3461 3462 * par-prag.adb: Add entry for pragma Detect_Blocking. 3463 3464 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug 3465 of not handling WITH. 3466 Note that this replaces the previous update which was incorrect. 3467 34682004-06-25 Javier Miranda <miranda@gnat.com> 3469 3470 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the 3471 use-clauses to have a clean environment. 3472 3473 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force 3474 the installation of the use-clauses to stablish a clean environment in 3475 case of compilation of a separate unit; otherwise the call to 3476 use_one_package is protected by the barrier Applicable_Use. 3477 3478 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force 3479 the installation of the use-clauses to stablish a clean environment in 3480 case of compilation of a separate unit. 3481 (End_Use_Clauses): Minor comment cleanup. 3482 34832004-06-25 Sergey Rybin <rybin@act-europe.fr> 3484 3485 * gnat_ugn.texi: Add description of the gnatpp 'files' switch 3486 34872004-06-23 Richard Henderson <rth@redhat.com> 3488 3489 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call. 3490 34912004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3492 3493 * decl.c (elaborate_expression, elaborate_expression_1): Arguments 3494 now bool instead of int. 3495 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF. 3496 * trans.c (gnu_switch_label_stack): New function. 3497 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the 3498 elaboration of renamed entity returns. 3499 (gnat_to_gnu, case N_Case_Statement): Add branches to end label. 3500 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE. 3501 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt. 3502 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and 3503 DECL_SIZE_UNIT and simplify variable-sized case. 3504 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted. 3505 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos. 3506 (gnat_stabilize_reference): Add arg to COMPONENT_REF. 3507 (build_unit_elab): Disable for now. 3508 * utils.c (mark_visited): New function. 3509 (pushdecl): Walk tree to call it for global decl. 3510 (update_pointer_to): Update all variants of pointer and ref types. 3511 Add arg to COMPONENT_REF. 3512 (convert): Likewise. 3513 Move check for converting between variants lower down. 3514 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF. 3515 (build_allocator): Don't force type of MODIFY_EXPR. 3516 (gnat_mark_addressable, case VAR_DECL): Unconditionally call 3517 put_var_into_stack. 3518 35192004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3520 3521 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation. 3522 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP. 3523 * decl.c (gnat_to_gnu_entity): Also set force_global for imported 3524 subprograms. 3525 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack; 3526 all callers changed. 3527 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change 3528 the way that EXIT_STMT finds the loop label. 3529 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise. 3530 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here. 3531 (add_stmt): Use annotate_with_locus insted of setting directly. 3532 (pos_to_construct): Set TREE_PURPOSE of each entry to index. 3533 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF. 3534 * utils.c (gnat_install_builtins): Install __builtin_memcmp. 3535 (build_vms_descriptor): Add extra args to ARRAY_REF. 3536 (convert): Use VIEW_CONVERT_EXPR between aggregate types. 3537 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST): 3538 New cases. 3539 (build_binary_op): Don't make explicit CONVERT_EXPR. 3540 Add extra rgs to ARRAY_REF. 3541 35422004-06-14 Pascal Obry <obry@gnat.com> 3543 3544 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on 3545 Windows. Fix minor typo. 3546 3547 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option 3548 which is now supported on Windows. With this implementation using the 3549 Library Project feature is no different on Windows than on UNIX. 3550 35512004-06-14 Vincent Celier <celier@gnat.com> 3552 3553 * makegpr.adb (Compile_Sources): Nothing to do when there are no 3554 non-Ada sources. 3555 3556 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment 3557 3558 * prj-part.adb (Parse_Single_Project): When a duplicate project name is 3559 found, show the project name and the path of the previously parsed 3560 project file. 3561 35622004-06-14 Ed Schonberg <schonberg@gnat.com> 3563 3564 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an 3565 array, avoid copying the actual before the call. 3566 35672004-06-14 Thomas Quinot <quinot@act-europe.fr> 3568 3569 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools. 3570 Instead, allocate memory on worst-case alignment assumptions, and then 3571 return an aligned address within the allocated zone. 3572 35732004-06-14 Robert Dewar <dewar@gnat.com> 3574 3575 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to 3576 elab entities in predefined units in No_Run_Time_Mode. 3577 (Gen_Adainit_C): Same fix 3578 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined 3579 units in No_Run_Time_Mode 3580 (Gen_Elab_Calls_C): Same fix 3581 3582 * symbols-vms-alpha.adb: Minor reformatting 3583 3584 * g-debpoo.ads: Minor reformatting 3585 3586 * lib.adb (In_Same_Extended_Unit): Version working on node id's 3587 3588 * lib.ads (In_Same_Extended_Unit): Version working on node id's 3589 3590 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit 3591 working on nodes. 3592 3593 * make.adb: Minor reformatting 3594 3595 * par-ch12.adb: Minor reformatting 3596 3597 * par-prag.adb: Add dummy entry for pragma Profile_Warnings 3598 3599 * prj-strt.adb: Minor reformatting 3600 3601 * restrict.ads, restrict.adb: Redo handling of profile restrictions to 3602 be more general. 3603 3604 * sem_attr.adb: Minor reformatting 3605 3606 * sem_ch7.adb: Minor reformatting 3607 3608 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc 3609 for type in the same unit as the object declaration. 3610 3611 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows 3612 static string expressions and not just string literals. 3613 Minor reformatting 3614 (Set_Warning): Reset restriction warning flag for restriction pragma 3615 Implement pragma Profile_Warnings 3616 Implement pragma Profile (Restricted) 3617 Give obolescent messages for old restrictions and pragmas 3618 3619 * snames.h, snames.ads, snames.adb: Add new entry for pragma 3620 Profile_Warnings. 3621 3622 * s-rident.ads: Add declarations for restrictions required by profile 3623 Restricted and profile Ravenscar. 3624 3625 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads 3626 3627 * gnat_ugn.texi: Correct some missing entries in the list of GNAT 3628 configuration pragmas. 3629 36302004-06-11 Vincent Celier <celier@gnat.com> 3631 3632 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to 3633 gnatsym, when symbol policy is Restricted. 3634 3635 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to 3636 gnatsym, when symbol policy is Restricted. 3637 3638 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted, 3639 read the symbol file. 3640 (Finalize): Fail in symbol policy Restricted if a symbol in the original 3641 symbol file is not in the object files. Do not create a new symbol file 3642 when symbol policy is Restricted. 3643 3644 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used 3645 in Scng. 3646 3647 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy 3648 Restricted. 3649 (Usage): Line for new switch -R 3650 3651 * make.adb (Initialize): When the platform is not VMS, add the 3652 directory where gnatmake is invoked in the front of the path, if 3653 gnatmake is invoked with directory information. Change the Scan_Args 3654 while loop to a for loop. 3655 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency: 3656 if Depth is equal or greater than the proposed depth, there is nothing 3657 to do. 3658 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1 3659 instead of 0. 3660 3661 * prj.ads: Add new symbol policy Restricted. 3662 3663 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction 3664 with the new parameters Check_All_Labels and Case_Location. 3665 3666 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted 3667 (Library_Symbol_File needs to be defined). 3668 3669 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels 3670 and Case_Location If Check_All_Labels is True, check that all values of 3671 the string type are used, and output warning(s) if they are not. 3672 3673 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels 3674 and Case_Location. 3675 3676 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc" 3677 3678 * gnat_ugn.texi: Update documentation about the library directory in 3679 Library Projects. 3680 3681 * makegpr.adb (Display_Command): In verbose mode, also display the 3682 value of the CPATH env var, when the compiler is gcc. 3683 (Initialize): Change the Scan_Args while loop to a for loop 3684 (Compile_Individual_Sources): Change directory to object directory 3685 before compilations. 3686 3687 * symbols.ads: New symbol policy Restricted. 3688 36892004-06-11 Olivier Hainque <hainque@act-europe.fr> 3690 3691 * a-except.adb (Raise_After_Setup family): Remove. The responsibility 3692 is now taken care of internally in the Exception_Propagation package 3693 and does not require clients assistance any more. 3694 3695 * a-exexpr.adb (Is_Setup_And_Not_Propagated, 3696 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New 3697 functions. Helpers to maintain a predicate required in the handling of 3698 occurrence transfer between tasks. 3699 This is now handled internally and does not require clients assistance 3700 for the setup/propagate separation anymore. 3701 (Setup_Exception, Propagate_Exception): Simplify the Private_Data 3702 allocation strategy, handle the Setup_And_Not_Propagated predicate and 3703 document. 3704 3705 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of 3706 raise_after_setup, now that everything is handled internally within the 3707 setup/propagation engine. 3708 37092004-06-11 Hristian Kirtchev <kirtchev@gnat.com> 3710 3711 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once. 3712 Add additional conditions for the case of an actual being a simple 3713 name or literal. Improve inlining by preventing the generation 3714 of temporaries with a short lifetime (one use). 3715 37162004-06-11 Hristian Kirtchev <kirtchev@gnat.com> 3717 3718 PR ada/15587 3719 * einfo.ads: Minor comment updates for Has_Completion and 3720 E_Constant list of flags. 3721 3722 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations 3723 and constant redeclarations now set the Has_Completion flag of their 3724 defining identifiers. 3725 3726 * sem_ch7.adb (Analyze_Package_Spec): Add procedure 3727 Inspect_Deferred_Constant_Completion. 3728 Used to detect private deferred constants that have not been completed 3729 either by a constant redeclaration or pragma Import. Emits error message 3730 "constant declaration requires initialization expression". 3731 3732 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now 3733 completes a deferred constant. 3734 37352004-06-11 Geert Bosch <bosch@gnat.com> 3736 3737 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers. 3738 3739 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in 3740 calculating exponent for scaling denormal numbers. 3741 (Leading_Part): Properly raise Constraint_Error for zero or negative 3742 Adjustment. 3743 (Remainder): Properly raise Constraint_Error for zero divisor. 3744 37452004-06-11 Thomas Quinot <quinot@act-europe.fr> 3746 3747 * sem_util.adb: Minor reformatting. 3748 3749 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit 3750 dereference when accessing the entry parameter record. 3751 (Check_Array_Type): Always check for possible implicit dereference. 3752 (maybe_implicit_dereference): Rename to check_no_implicit_derefence. 3753 Abort if a pointer is still present (denoting that an implicit 3754 dereference was left in the tree by the front-end). 3755 3756 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit 3757 dereference when accessing the entry parameter record. 3758 (Check_Array_Type): Always check for possible implicit dereference. 3759 (maybe_implicit_dereference): Rename to check_no_implicit_derefence. 3760 Abort if a pointer is still present (denoting that an implicit 3761 dereference was left in the tree by the front-end). 3762 37632004-06-11 Emmanuel Briot <briot@act-europe.fr> 3764 3765 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error 3766 message, like the compiler itself does. Easier to parse the output. 3767 3768 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments. 3769 3770 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should 3771 be base names, and not includes directories. 3772 37732004-06-11 Arnaud Charlet <charlet@act-europe.fr> 3774 3775 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES), 3776 so that dependencies are properly taken into account by make. 3777 37782004-06-11 Arnaud Charlet <charlet@act-europe.fr> 3779 3780 PR ada/15622 3781 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads, 3782 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic 3783 37842004-06-11 Jerome Guitton <guitton@act-europe.fr> 3785 3786 * Makefile.in (install-gnatlib): install target-specific run-time files. 3787 3788 * Make-lang.in: Remove obsolete targets. 3789 37902004-06-11 Ed Schonberg <schonberg@gnat.com> 3791 3792 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram 3793 specification, to catch misuses of program unit names. 3794 3795 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on 3796 superfluous conversions in an instance. 3797 37982004-06-11 Ed Schonberg <schonberg@gnat.com> 3799 3800 PR ada/15403 3801 * sem_ch12.adb (Save_References): If operator node has been folded to 3802 enumeration literal, associated_node must be discarded. 3803 38042004-06-11 Jose Ruiz <ruiz@act-europe.fr> 3805 3806 * s-stchop-vxworks.adb: Add required pragma Convention to 3807 Task_Descriptor because it is updated by a C function. 3808 38092004-06-08 Arnaud Charlet <charlet@act-europe.fr> 3810 3811 PR ada/15568 3812 * Makefile.in: Remove target specific SO_OPT on IRIX 3813 38142004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 3815 3816 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted. 3817 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise. 3818 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise. 3819 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise. 3820 (STMT_STMT, USE_STMT): New statement codes. 3821 (LOOP_STMT, EXIT_STMT): Make slight semantic changes. 3822 * ada-tree.h: Reflect above changes. 3823 (struct tree_loop_id): Deleted. 3824 (union lang_tree_node, struct lang_decl, struct lang_type): 3825 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC 3826 and DECL_LANGUAGE_SPECIFIC to reflect these changes. 3827 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted. 3828 (IS_ADA_STMT): New macro. 3829 * decl.c (annotate_decl_with_node): New function. 3830 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno. 3831 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR. 3832 Call add_stmt_with_node to do needed assignments. 3833 Add call to update setjmp buffer directly, not via EXPR_STMT. 3834 (maybe_variable): Argment GNAT_NODE deleted. 3835 * gigi.h (maybe_variable): Likewise. 3836 (make_transform, add_stmt_with_node, set_block_for_group): New. 3837 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise. 3838 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise. 3839 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted. 3840 (set_lineno, set_lineno_from_sloc): Likewise. 3841 (record_code_position, insert_code_for): Likewise. 3842 (gnat_poplevel): Now returns void. 3843 (end_subprog_body): Now takes argument. 3844 * misc.c (cgraph.h, tree-inline.h): New includes. 3845 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted. 3846 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New. 3847 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise. 3848 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise. 3849 (gnat_parse_file): Don't set immediate_size_expand. 3850 Call cgraph functions. 3851 (gnat_expand_expr): Remove most cases. 3852 (record_code_position, insert_code_for): Remove from here. 3853 * trans.c (toplev.h, tree-gimple.h): Now included. 3854 (discard_file_names): Deleted. 3855 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del. 3856 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise. 3857 (struct stmt_group, current_stmt_group, stmt_group_free_list): New. 3858 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise. 3859 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise. 3860 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise. 3861 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise. 3862 (set_block_for_group, add_stmt_list): Likewise. 3863 (start_stmt_group): Renamed from start_block_stmt. 3864 (end_stmt_group): Likewise, from end_block_stmt. 3865 (build_stmt_group): Likewise, from build_block_stmt, also add arg. 3866 (gigi): Don't set discard_file_names or call set_lineno. 3867 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code. 3868 (tree_transform): Deleted, now renamed to be gnat_to_gnu. 3869 Numerous changes throughout to reflect new names and complete 3870 function-at-a-time implementation. 3871 (gnat_expand_stmt): Delete or comment out all cases. 3872 (process_inlined_subprograms): Use add_stmt. 3873 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't 3874 call set_lineno; also remove unneeded block handling. 3875 (process_type): Remove unneeded block handling. 3876 (build_unit_elab): Remove calls to deleted functions. 3877 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include. 3878 (tree-dump.h): Likewise. 3879 (struct ada_binding_level): Add field jmpbuf_decl. 3880 (gnat_define_builtin, gnat_install_builtins): New. 3881 (gnat_gimplify_function, gnat_finalize): Likewise. 3882 (gnat_poplevel): No longer return BLOCK, set it instead. 3883 Remove code dealing with nested functions. 3884 (gnat_init_decl_processing): Also set size_type_node. 3885 Call gnat_install_builtins. 3886 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN. 3887 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC. 3888 Remove special-case for "main". 3889 (end_subprog_body): Add arg and rework for tree-ssa. 3890 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR. 3891 Add case for BOOLEAN_TYPE. 3892 * utils2.c (rtl.h): Now include. 3893 (build_call_raise): Test Debug_Flag_NN directly. 3894 (build_call_alloc_dealloc): Don't use local stack allocation for now. 3895 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted. 3896 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases. 3897 38982004-06-07 Robert Dewar <dewar@gnat.com> 3899 3900 * a-direct.ads, einfo.ads: Minor comment updates 3901 3902 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, 3903 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, 3904 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb, 3905 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, 3906 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting. 3907 3908 * s-interr-sigaction.adb: Remove unreferenced variable 3909 (Attached_Interrupts). Minor reformatting. 3910 Avoid use of variable I (replace by J). 3911 3912 * par-ch10.adb: Fix text of one error message 3913 3914 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads, 3915 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb, 3916 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb, 3917 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb, 3918 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb, 3919 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb, 3920 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb, 3921 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, 3922 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb, 3923 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb, 3924 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada 3925 2005 support. 3926 39272004-06-07 Doug Rupp <rupp@gnat.com> 3928 3929 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb 3930 3931 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb 3932 3933 * mlib-tgt-vms-ia64.adb: New file. 3934 3935 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb 3936 Add mlib-tgt-vms-ia64.adb 3937 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb. 3938 Move to alpha specific ifeq section. 3939 Add VMS specific versions of symbols.adb 3940 Renaming of 5q vms files. 3941 3942 * 5qsystem.ads renamed to system-vms_64.ads. 3943 39442004-06-07 Vincent Celier <celier@gnat.com> 3945 3946 * a-calend.ads: Add a GNAT Note comment after function Time_Of to 3947 explain that when a time of day corresponding to the non existing hour 3948 on the day switching to DST is specified, Split may return a different 3949 value for Seconds. 3950 3951 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar 3952 to GNAT PRETTY. 3953 3954 * g-os_lib.adb (OpenVMS): New Boolean value imported from System. 3955 (Normalize_Pathname): Only resolve VMS logical names when on VMS. 3956 3957 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize 3958 to False. 3959 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to 3960 the linking options. 3961 (Build_Library.Check_Libs): On VMS, if there is a dependency on 3962 g-trasym.ads, set Gtrasymobj_Needed to True. 3963 3964 * prj-attr.adb: Add new package Metrics for gnatmetric 3965 3966 * prj-nmsc.adb (Record_Other_Sources): Put source file names in 3967 canonical case to take into account files with upper case characters on 3968 Windows. 3969 (Ada_Check): Load the reference symbol file name in the name buffer to 3970 check it, not the symbol file name. 3971 3972 * snames.ads, snames.adb: Add standard name Metrics (name of project 3973 file package for gnatmetric). 3974 3975 * vms_conv.ads: Add Metric to Comment_Type 3976 3977 * vms_conv.adb (Initialize): Add component dor Metric in Command_List 3978 3979 * vms_data.ads: Add qualifiers for GNAT METRIC 3980 3981 * makegpr.adb (Link_Executables): Take into account the switches 3982 specified in package Linker of the main project. 3983 39842004-06-07 Thomas Quinot <quinot@act-europe.fr> 3985 3986 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so 3987 the index of the last element is Units.Last, not Units.Table'Last 3988 (which is usually not a valid index within the actually allocated 3989 storage for the table). 3990 3991 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that 3992 determines whether to generate a call to a checked storage pool 3993 Dereference action. 3994 Generate such a call only for a dereference that either comes from 3995 source, or is the result of rewriting a dereference that comes from 3996 source. 3997 39982004-06-07 Romain Berrendonner <berrendo@act-europe.fr> 3999 4000 * bindgen.adb (Gen_Output_File): Add support for GAP builds. 4001 40022004-06-07 Eric Botcazou <ebotcazou@act-europe.fr> 4003 4004 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at 4005 file level, elaborate the stride for inner dimensions in alignment 4006 units, not bytes. 4007 4008 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned 4009 in a comment. 4010 40112004-06-07 Javier Miranda <miranda@gnat.com> 4012 4013 * exp_ch6.adb: Correct wrong modification in previous patch 4014 40152004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr> 4016 4017 * g-trasym.ads: Corrected comment to properly reflect level of support 4018 on VMS. 4019 40202004-06-07 Hristian Kirtchev <kirtchev@gnat.com> 4021 4022 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It 4023 includes case of a variable referenced on the left hand side of an 4024 assignment, therefore remove redundant code. Variables and prefixes of 4025 indexed or selected components are now marked as referenced on left 4026 hand side. Warnings are now properly emitted when variables or prefixes 4027 are assigned but not read. 4028 4029 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to 4030 left hand side referenced variables. Private access types do not 4031 produce the warning "variable ... is assigned but never read". 4032 Add also additional checks to left hand side referenced variables. 4033 Aliased, renamed objects and access types do not produce the warning 4034 "variable ... is assigned but never read" since other entities may read 4035 the memory location. 4036 40372004-06-07 Jerome Guitton <guitton@act-europe.fr> 4038 4039 * Makefile.in: In the powerpc/vxworks-specific section, restore 4040 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed 4041 by mistake). 4042 40432004-06-07 Ed Schonberg <schonberg@gnat.com> 4044 4045 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of 4046 predefined operators. 4047 Removes spurious type errors from g-trasym-vms.adb. 4048 4049 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is 4050 distinct from the operator appearing in the source, call appropriate 4051 routine to insert conversions when needed, and complete resolution of 4052 node. 4053 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of 4054 interpretations for rewritten right operand. 4055 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when 4056 the other operand is overloaded and the context is a type conversion. 4057 40582004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 4059 4060 * ada-tree.def (BLOCK_STMT): Now has two operands. 4061 (BREAK_STMT): New. 4062 4063 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro. 4064 4065 * gigi.h: (gnat_poplevel): Now returns a tree. 4066 4067 * trans.c (end_block_stmt): Add arg; all callers changed. 4068 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN. 4069 (start_block_stmt): Clear BLOCK_STMT_BLOCK. 4070 (add_stmt): Set TREE_TYPE. 4071 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK. 4072 (gnat_expand_stmt, case BREAK_STMT): New case. 4073 4074 * utils.c (gnat_poplevel): Return a BLOCK, if we made one. 4075 40762004-06-07 Jose Ruiz <ruiz@act-europe.fr> 4077 4078 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the 4079 procedure Set_Stack_Size that is not needed. 4080 40812004-06-07 Sergey Rybin <rybin@act-europe.fr> 4082 4083 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is 4084 used for gnatpp input file and for the files upon which it depends 4085 40862004-06-07 Ben Brosgol <brosgol@gnat.com> 4087 4088 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter 4089 40902004-06-07 Arnaud Charlet <charlet@act-europe.fr> 4091 4092 * gnatvsn.ads: Bump version numbers appropriately. 4093 Add new build type. 4094 40952004-06-07 Pascal Obry <obry@gnat.com> 4096 4097 * gnat_ugn.texi: Improve comments about imported names and link names 4098 on Windows. Add a note about the requirement to use -k gnatdll's option 4099 when working with a DLL which has stripped stdcall symbols (no @nn 4100 suffix). 4101 41022004-05-27 Vincent Celier <celier@gnat.com> 4103 4104 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and 4105 COMMENTS_LAYOUT=UNTOUCHED 4106 4107 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to 4108 symbols-vms-alpha.adb 4109 41102004-05-27 Thomas Quinot <quinot@act-europe.fr> 4111 4112 * sem.ads: Clarify documentation on checks suppression. 4113 4114 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing. 4115 41162004-05-27 Ed Schonberg <schonberg@gnat.com> 4117 4118 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in 4119 the case of multiple derivations. 4120 (Is_Object_Reference): For a selected component, verify that the prefix 4121 is itself an object and not a value. 4122 4123 * sem_ch12.adb (Same_Instantiated_Constant): New name for 4124 Same_Instantiated_Entity. 4125 (Same_Instantiated_Variable): Subsidiary to 4126 Check_Formal_Package_Instance, to recognize actuals for in-out generic 4127 formals that are obtained from a previous formal package. 4128 (Instantiate_Subprogram_Body): Emit proper error when 4129 generating code and the proper body of a stub is missing. 4130 4131 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still 4132 has a universal interpretation, do the disambiguation here. 4133 4134 * exp_ch4.adb (Expand_N_Type_Conversion, 4135 Expand_N_Unchecked_Type_Conversion): Special handling when target type 4136 is Address, to avoid typing anomalies when Address is a visible integer 4137 type. 4138 4139 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address 4140 to determine whether a subprogram should not be marked Pure, even when 4141 declared in a pure package. 4142 41432004-05-27 Jose Ruiz <ruiz@act-europe.fr> 4144 4145 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile. 4146 4147 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length 4148 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts. 4149 Update the documentation about the Ravenscar profile, following the 4150 definition found in AI-249. 4151 4152 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when 4153 setting the Profile (Ravenscar). This must be done in addition to 4154 setting the required restrictions. 4155 4156 * rtsfind.ads: Add the set of operations defined in package 4157 Ada.Interrupts. 4158 4159 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment 4160 restriction. 4161 41622004-05-27 Eric Botcazou <ebotcazou@act-europe.fr> 4163 4164 lang-specs.h: Always require -c or -S and always redirect to /dev/null 4165 if -gnatc or -gnats is passed. 4166 41672004-05-27 Hristian Kirtchev <kirtchev@gnat.com> 4168 4169 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as 4170 a significant reference. Warnings are now properly emitted when a 4171 discriminated type is not referenced. 4172 4173 * lib-xref.adb (Generate_Reference): A deferred constant completion, 4174 record representation clause or record type discriminant does not 4175 produce a reference to its corresponding entity. Warnings are now 4176 properly emitted when deferred constants and record types are not 4177 referenced. 4178 41792004-05-27 Geert Bosch <bosch@gnat.com> 4180 4181 * Makefile.in: Use long version of libm routines on ia64 gnu/linux. 4182 Fixes ACATS Annex G tests. 4183 41842004-05-27 Robert Dewar <dewar@gnat.com> 4185 4186 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not 4187 handling WITH 4188 41892004-05-27 Arnaud Charlet <charlet@act-europe.fr> 4190 4191 * s-interr.adb (Server_Task): Take into account case of early return 4192 from sigwait under e.g. linux. 4193 41942004-05-27 Sergey Rybin <rybin@act-europe.fr> 4195 4196 * gnat_ugn.texi: Add description for the new gnatpp options: 4197 -rnb - replace the original source without creating its backup copy 4198 -c0 - do not format comments 4199 42002004-05-24 Geert Bosch <bosch@gnat.com> 4201 4202 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi 4203 with 192 bits of precision, sufficient to reduce a double-extended 4204 arguments X with a maximum relative error of T'Machine_Epsilon, for X 4205 in -2.0**32 .. 2.0**32. 4206 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent 4207 reduction by the processor, which only uses a 68-bit approximation of 4208 Pi. 4209 (Tan): Always reduce arguments and compute function either using 4210 the processor's fptan instruction, or by dividing sin and cos as needed. 4211 42122004-05-24 Doug Rupp <rupp@gnat.com> 4213 4214 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid 4215 gcc error on 32/64 bit VMS. 4216 42172004-05-24 Olivier Hainque <hainque@act-europe.fr> 4218 4219 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs, 4220 since this is what we get for stack overflows although not documented 4221 as such. 4222 Document the issues which may require adjustments to our signal 4223 handlers. 4224 42252004-05-24 Ed Schonberg <schonberg@gnat.com> 4226 4227 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the 4228 enclosing dynamic scope if the instantiation is within a generic unit. 4229 42302004-05-24 Arnaud Charlet <charlet@act-europe.fr> 4231 4232 * exp_dbug.ads: Fix typo. 4233 4234 * Makefile.in: s-osinte-linux-ia64.ads was misnamed. 4235 Rename it to its proper name: system-linux-ia64.ads 4236 (stamp-gnatlib1): Remove extra target specific run time files when 4237 setting up the rts directory. 4238 42392004-05-24 Javier Miranda <miranda@gnat.com> 4240 4241 * einfo.ads, einfo.adb (Limited_Views): Removed. 4242 (Limited_View): New attribute that replaces the previous one. It is 4243 now a bona fide package with the limited-view list through the 4244 first_entity and first_private attributes. 4245 4246 * sem_ch10.adb (Install_Private_With_Clauses): Give support to 4247 limited-private-with clause. 4248 (Install_Limited_Withed_Unit): Install the private declarations of a 4249 limited-private-withed package. Update the installation of the shadow 4250 entities according to the new structure (see Build_Limited_Views) 4251 (Build_Limited_Views): Replace the previous implementation of the 4252 limited view by a package entity that references the first shadow 4253 entity plus the first shadow private entity (required for limited- 4254 private-with clause) 4255 (New_Internal_Shadow_Entity): Code cleanup. 4256 (Remove_Limited_With_Clause): Update the implementation to undo the 4257 new work carried out by Build_Limited_Views. 4258 (Build_Chain): Complete documentation. 4259 Replace Ada0Y by Ada 0Y in comments 4260 Minor reformating 4261 4262 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access 4263 types the level of accessibility depends on the enclosing type 4264 declaration. 4265 4266 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow 4267 entities. Complete documentation of previous change. 4268 42692004-05-24 Robert Dewar <dewar@gnat.com> 4270 4271 * namet.adb: Minor reformatting 4272 Avoid use of name I (replace by J) 4273 Minor code restructuring 4274 4275 * sem_ch6.adb: Minor reformatting 4276 4277 * lib-writ.adb: Do not set restriction as active if this is a 4278 Restriction_Warning case. 4279 4280 * sem_prag.adb: Reset restriction warning flag if real pragma 4281 restriction encountered. 4282 4283 * s-htable.adb: Minor reformatting 4284 Change rotate count to 3 in Hash (improves hash for small strings) 4285 4286 * 5qsystem.ads: Add comments for type Address (no literals allowed). 4287 4288 * gnat_ugn.texi: Add new section of documentation "Code Generation 4289 Control", which describes the use of -m switches. 4290 42912004-05-24 Eric Botcazou <ebotcazou@act-europe.fr> 4292 4293 trans.c (tree_transform) <N_Identifier>: Do the dereference directly 4294 through the DECL_INITIAL for renamed variables. 4295 42962004-05-24 Arnaud Charlet <charlet@act-europe.fr> 4297 4298 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads 4299 43002004-05-19 Joel Brobecker <brobecker@gnat.com> 4301 4302 * exp_dbug.ads: Correct comments concerning handling of overloading, 4303 since we no longer use $ anymore. 4304 43052004-05-19 Sergey Rybin <rybin@act-europe.fr> 4306 4307 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not 4308 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees 4309 with illegal subunits. 4310 43112004-05-19 Ed Schonberg <schonberg@gnat.com> 4312 4313 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram 4314 body with front-end inlining enabled, check whether an inline pragma 4315 appears immediately after the body and applies to it. 4316 4317 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is 4318 enabled and the pragma appears after the body of the subprogram. 4319 43202004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 4321 4322 Part of function-at-a-time conversion 4323 4324 * misc.c (adjust_decl_rtl): Deleted. 4325 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): 4326 Define. 4327 4328 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted. 4329 (add_decl_stmt, add_stmt, block_has_vars): New functions. 4330 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel. 4331 4332 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt 4333 when making a decl. 4334 (gnat_to_gnu_entity): Likewise. 4335 Use add_stmt to update setjmp buffer. 4336 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and 4337 flush_addressof. 4338 No longer call adjust_decl_rtl. 4339 (DECL_INIT_BY_ASSIGN_P): New macro. 4340 (DECL_STMT_VAR): Likewise. 4341 4342 * trans.c (gigi): Call start_block_stmt to make the outermost 4343 BLOCK_STMT. 4344 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type): 4345 Call start_block_stmt and end_block_stmt temporarily. 4346 Use gnat_expand_stmt instead of expand_expr_stmt. 4347 (add_decl_stmt): New function. 4348 (tree_transform): Call it. 4349 (add_stmt): Also emit initializing assignment for DECL_STMT if needed. 4350 (end_block_stmt): Set type and NULL_STMT. 4351 (gnat_expand_stmt): Make recursize call instead of calling 4352 expand_expr_stmt. 4353 (gnat_expand_stmt, case DECL_STMT): New case. 4354 (set_lineno_from_sloc): Do nothing if global. 4355 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables. 4356 (start_block_stmt, add_stmt, end_block_stmt): New functions. 4357 (build_block_stmt): Call them. 4358 (gnat_to_code): Don't expand NULL_STMT. 4359 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change 4360 args. 4361 (tree_transform): Likewise. 4362 (tree_transform, case N_Null_Statement): Return NULL_STMT. 4363 (gnat_expand_stmt, case NULL_STMT): New case. 4364 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no 4365 IF_STMT_TRUE. 4366 4367 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set 4368 TREE_ADDRESSABLE. 4369 4370 * utils.c (create_var_decl): Do not call expand_decl or 4371 expand_decl_init. 4372 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable. 4373 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR 4374 here. 4375 (struct e_stack): Add chain_next to GTY. 4376 (struct binding_level): Deleted. 4377 (struct ada_binding_level): New struct. 4378 (free_block_chain): New. 4379 (global_binding_level, clear_binding_level): Deleted. 4380 (global_bindings_p): Rework to see if no chain. 4381 (kept_level_p, set_block): Deleted. 4382 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use 4383 new data structure and work directly on BLOCK node. 4384 (gnat_poplevel): Similarly. 4385 (get_decls): Look at BLOCK_VARS. 4386 (insert_block): Work directly on BLOCK node. 4387 (block_has_var): New function. 4388 (pushdecl): Rework for new binding structures. 4389 (gnat_init_decl_processing): Rename and rework calls to pushlevel and 4390 poplevel. 4391 (build_subprog_body): Likewise. 4392 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL. 4393 4394 * ada-tree.def (DECL_STMT, NULL_STMT): New codes. 4395 4396 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro. 4397 (DECL_STMT_VAR): Likewise. 4398 43992004-05-17 Robert Dewar <dewar@gnat.com> 4400 4401 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New 4402 procedure 4403 4404 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling 4405 of restriction synonyums by using 4406 Restrict.Process_Restriction_Synonyms. 4407 4408 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym 4409 4410 * s-restri.ads (Tasking_Allowed): Correct missing comment 4411 4412 * s-rident.ads: Add entries for restriction synonyms 4413 4414 * ali.adb: Fix some problems with badly formatted ALI files that can 4415 result in infinite loops. 4416 4417 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb, 4418 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb, 4419 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, 4420 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb, 4421 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb, 4422 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb, 4423 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb, 4424 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb, 4425 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb, 4426 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb, 4427 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb, 4428 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb, 4429 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads, 4430 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, 4431 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads, 4432 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads, 4433 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads, 4434 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads, 4435 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb, 4436 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID 4437 to Task_Id (minor cleanup). 4438 44392004-05-17 Vincent Celier <celier@gnat.com> 4440 4441 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing 4442 directory separator. 4443 4444 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from 4445 project being extended, if Languages is not declared in extending 4446 project. 4447 44482004-05-17 Javier Miranda <miranda@gnat.com> 4449 4450 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the 4451 limited view of a visible sibling. 4452 44532004-05-14 Robert Dewar <dewar@gnat.com> 4454 4455 * gnat_ugn.texi: Minor change to -gnatS documentation 4456 4457 * sprint.adb: Remove some instances of Assert (False) and for this 4458 purpose replace them by output of a ??? string. 4459 4460 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma 4461 Assert (False). 4462 4463 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit 4464 flag processing. This was suppressing required dependencies in 4465 No_Run_Time mode and is not needed since the binder does not generate 4466 references for things in libgnat anyway. 4467 4468 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC 4469 warning. 4470 44712004-05-14 Thomas Quinot <quinot@act-europe.fr> 4472 4473 * gnat_ugn.texi: Document AIX-specific issue with initialization of 4474 resolver library. 4475 4476 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference 4477 action for the case of an actual parameter in an init proc call. 4478 44792004-05-14 Ed Schonberg <schonberg@gnat.com> 4480 4481 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected 4482 subtype, check visible entities in base type. 4483 4484 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup 4485 actions if the object is a renaming. 4486 4487 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for 4488 Check_Formal_Package_Instance, to determine more precisely when the 4489 formal and the actual denote the same entity. 4490 44912004-05-14 Javier Miranda <miranda@gnat.com> 4492 4493 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262 4494 4495 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity 4496 corresponding to a private_with must be removed from visibility; it 4497 will be made visible later, just before we analyze the private part of 4498 the package. 4499 (Check_Private_Child_Unit): Allow private_with clauses in public 4500 siblings. 4501 (Install_Siblings): Make visible the private entities of private-withed 4502 siblings. 4503 (Install_Withed_Unit): Do not install the private withed unit if we 4504 are compiling a package declaration and the Private_With_OK flag was 4505 not set by the caller. These declarations will be installed later, 4506 just before we analyze the private part of the package. 4507 4508 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected 4509 during the evaluation of the expression that initializes the object, 4510 decorate it with the expected type to avoid cascade errors. 4511 Code cleanup. 4512 4513 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library 4514 subprogram we have to install the private_with clauses after its 4515 specification has been analyzed (as documented in AI-262.TXT). 4516 4517 * sem_ch8.adb (Has_Private_With): New function. Determines if the 4518 current compilation unit has a private with on a given entity. 4519 (Find_Direct_Name): Detect the Beaujolais problem described in 4520 AI-262.TXT 4521 4522 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It 4523 provides the functionality of the function Is_Ancestor that was 4524 previously available in sem_ch10. It has been renamed to avoid 4525 overloading. 4526 4527 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses 4528 45292004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 4530 4531 * utils.c (build_vms_descriptor): Use SImode pointers. 4532 45332004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr> 4534 4535 * gnat_ugn.texi: Revised chapter "GNAT and Libraries". 4536 45372004-05-14 GNAT Script <nobody@gnat.com> 4538 4539 * Make-lang.in: Makefile automatically updated 4540 45412004-05-14 Arnaud Charlet <charlet@act-europe.fr> 4542 4543 Renaming of target specific files for clarity 4544 4545 * Makefile.in: Rename GNAT target specific files. 4546 4547 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads, 4548 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads, 4549 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb, 4550 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 4551 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads, 4552 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads, 4553 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads, 4554 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads, 4555 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4556 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads, 4557 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads, 4558 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads, 4559 51osinte.adb, 51osinte.ads, 51system.ads, 4560 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads, 4561 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb, 4562 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads, 4563 56tpopsp.adb, 57system.ads, 58system.ads, 4564 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads, 4565 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 4566 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb, 4567 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads, 4568 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb, 4569 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads, 4570 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb, 4571 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads, 4572 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb, 4573 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 4574 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 4575 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 4576 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads, 4577 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads, 4578 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads, 4579 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb, 4580 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb, 4581 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads, 4582 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb, 4583 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb, 4584 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 4585 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads, 4586 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb, 4587 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads, 4588 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads, 4589 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb, 4590 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb, 4591 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb, 4592 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb, 4593 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads, 4594 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads, 4595 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb, 4596 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb, 4597 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb, 4598 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb, 4599 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 4600 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 4601 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb, 4602 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads, 4603 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below. 4604 4605 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb, 4606 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb, 4607 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads, 4608 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads, 4609 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads, 4610 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads, 4611 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads, 4612 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads, 4613 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads, 4614 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb, 4615 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads, 4616 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads, 4617 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads, 4618 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads, 4619 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb, 4620 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads, 4621 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads, 4622 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb, 4623 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb, 4624 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb, 4625 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb, 4626 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb, 4627 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb, 4628 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb, 4629 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb, 4630 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb, 4631 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads, 4632 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb, 4633 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb, 4634 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads, 4635 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb, 4636 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads, 4637 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads, 4638 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads, 4639 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads, 4640 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb, 4641 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb, 4642 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb, 4643 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads, 4644 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads, 4645 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb, 4646 s-osinte-vms.ads, s-osinte-vxworks.adb, 4647 s-osinte-vxworks.ads, s-osprim-mingw.adb, 4648 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb, 4649 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads, 4650 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads, 4651 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb, 4652 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads, 4653 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads, 4654 s-stchop-vxworks.adb, s-taprop-dummy.adb, 4655 s-taprop-hpux-dce.adb, s-taprop-irix.adb, 4656 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb, 4657 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb, 4658 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb, 4659 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb, 4660 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads, 4661 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads, 4662 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads, 4663 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads, 4664 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads, 4665 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb, 4666 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb, 4667 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb, 4668 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb, 4669 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb, 4670 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb, 4671 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads, 4672 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads, 4673 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads, 4674 system-hpux.ads, system-interix.ads, system-irix-n32.ads, 4675 system-irix-o32.ads, system-linux-x86_64.ads, 4676 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, 4677 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads, 4678 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads, 4679 system-unixware.ads, system-vms.ads, system-vms-zcx.ads, 4680 system-vxworks-alpha.ads, system-vxworks-m68k.ads, 4681 system-vxworks-mips.ads, system-vxworks-ppc.ads, 4682 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files 4683 above. 4684 46852004-05-13 Zack Weinberg <zack@codesourcery.com> 4686 4687 * trans.c (gnat_stabilize_reference_1): Remove case 'b'. 4688 46892004-05-13 Diego Novillo <dnovillo@redhat.com> 4690 4691 Merge from tree-ssa-20020619-branch. 4692 4693 * config-lang.in (boot_language, build_by_default): Set 4694 to no. 4695 * utils.c (unchecked_convert): Use OEP_ONLY_CONST. 4696 (max_size): Add static chain op for call_expr. 4697 46982004-05-12 Richard Sandiford <rsandifo@redhat.com> 4699 4700 PR target/15331 4701 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '. 4702 47032004-05-11 Roger Sayle <roger@eyesopen.com> 4704 4705 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a 4706 COND_EXPR. 4707 47082004-05-10 Doug Rupp <rupp@gnat.com> 4709 4710 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to 4711 system.aux_dec. 4712 4713 * s-auxdec.ads: Add Short_Address subtype (moved here from System). 4714 4715 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads. 4716 4717 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha. 4718 Fixes undefined symbols in IA64 gnatlib. 4719 4720 * 5vinmaop.adb: Reference s-auxdec for Short_Address. 4721 4722 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype 4723 Short_Address). This will be moved to system.auxdec. 4724 47252004-05-10 Thomas Quinot <quinot@act-europe.fr> 4726 4727 * sem_util.adb: Replace test for presence of a node that is always 4728 present with a call to Discard_Node. 4729 4730 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to 4731 Analyze on the library unit node after generation of distribution stub 4732 constructs. The call was a no-op because Unit_Node has already been 4733 Analyzed, and the tree fragments for the distribution stubs are 4734 analyzed as they are inserted in Exp_Dist. 4735 Update comment regarding to distribution stubs to reflect that we 4736 do not generate stub in separate files anymore. 4737 4738 * einfo.ads: Clarify the fact that a tagged private type has the 4739 E_Record_Type_With_Private Ekind. 4740 4741 * erroutc.adb: Minor reformatting 4742 4743 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger 4744 values if line length is increased using -gnatyM (noticed during code 4745 reading). 4746 4747 * eval_fat.adb: Minor reformatting 4748 Put spaces around exponentiation operator 4749 47502004-05-10 Ed Schonberg <schonberg@gnat.com> 4751 4752 PR ada/15005 4753 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix 4754 has been rewritten as an explicit dereference, retrieve type of 4755 original node to check for possibly unconstrained record type. 4756 47572004-05-10 Ed Schonberg <schonberg@gnat.com> 4758 4759 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not 4760 overriding, use the operation of the parent unconditionally. 4761 4762 * sem_ch4.adb (Remove_Address_Interpretations): Remove address 4763 operation when either operand is a literal, to avoid further 4764 ambiguities. 4765 4766 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and 4767 overridden by a previous explicit declaration, mark the previous entity 4768 as overriding. 4769 4770 * sem_disp.adb (Check_Dispatching_Operation): New predicate 4771 Is_Visibly_Controlled, to determine whether a declaration of a 4772 primitive control operation for a derived type overrides an inherited 4773 one. Add warning if the explicit declaration does not override. 4774 47752004-05-10 Vincent Celier <celier@gnat.com> 4776 4777 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in 4778 some cases when the sources are no longer present. 4779 4780 * make.adb (Collect_Arguments): Fail if an external source, not part 4781 of any project need to be compiled, when switch -x has not been 4782 specified. 4783 4784 * makeusg.adb: Document new switch -x 4785 4786 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag, 4787 defaulted to False. 4788 4789 * switch-m.adb (Scan_Make_Switches): New switch -x 4790 4791 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for 4792 gnatmake switch -x. 4793 4794 * gnat_ugn.texi: Document new gnatmake switch -x 4795 47962004-05-10 Eric Botcazou <ebotcazou@act-europe.fr> 4797 4798 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0. 4799 4800 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag. 4801 (process_attributes): Likewise. 4802 48032004-05-10 Joel Brobecker <brobecker@gnat.com> 4804 4805 * s-inmaop.ads: Fix spelling mistake in one of the comments. 4806 48072004-05-10 Robert Dewar <dewar@gnat.com> 4808 4809 * gnat_ugn.texi: Document that for config pragma files, the maximum 4810 line length is always 32767. 4811 4812 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string 4813 literals is now allowed. 4814 4815 * gnat-style.texi: Remove statement about splitting long lines before 4816 an operator rather than after, since we do not follow this rule at all. 4817 Clarify rule (really lack of rule) for spaces around exponentiation 4818 4819 * sem_elim.adb: Allow concatenation of string literals as well as a 4820 single string literal for pragma arguments. 4821 4822 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function 4823 4824 * a-textio.adb (Terminate_Line): Do not add line feed if nothing 4825 written for append case. 4826 4827 * frontend.adb: Changes to avoid checking max line length in config 4828 pragma files. 4829 4830 * g-os_lib.ads: Minor reformatting 4831 4832 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was 4833 wrong in any case. Instead use standard value. Noticed during code 4834 reading. 4835 4836 * opt.ads (Max_Line_Length): New field, used to implement removal of 4837 limitation on length of lines when scanning config pragma files. 4838 4839 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb, 4840 makeutl.ads, makeutl.adb: Minor reformatting 4841 4842 * scn.adb: Do not check line length while scanning config pragma files 4843 Do not check line length while scanning out license information 4844 4845 * scng.adb: Changes to avoid line length checks while parsing config 4846 pragma files. 4847 48482004-05-10 GNAT Script <nobody@gnat.com> 4849 4850 * Make-lang.in: Makefile automatically updated 4851 48522004-05-05 Arnaud Charlet <charlet@act-europe.fr> 4853 4854 * osint.adb (Find_Program_Name): Fix handling of VMS version 4855 number. 4856 48572004-05-05 Emmanuel Briot <briot@act-europe.fr> 4858 4859 * g-os_lib.ads (Invalid_Time): New constant 4860 4861 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now 4862 return OS_Time instead of time_t to match what is imported by Ada. 4863 Now return -1 if the file doesn't exist, instead of a random value 4864 48652004-05-05 Robert Dewar <dewar@gnat.com> 4866 4867 * usage.adb: Add line for -gnatR?s switch 4868 4869 * sem_ch13.adb, exp_ch2.adb: Minor reformatting 4870 4871 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size 4872 and for Match (Data_First, Data_last) 4873 4874 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is 4875 written when we are dealing with multi-unit files. 4876 48772004-05-05 Jerome Guitton <guitton@act-europe.fr> 4878 4879 * Makefile.in: Remove unused targets and variables. 4880 48812004-05-05 Vincent Celier <celier@gnat.com> 4882 4883 * switch-m.adb: New gnatmake switch -eI 4884 4885 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and 4886 of new gnatmake switch -eInnn. 4887 4888 * makegpr.adb: Take into account new parameters Index and Src_Index in 4889 Prj.Util. 4890 4891 * clean.adb: Implement support for multi-unit sources, including new 4892 switch -i. 4893 4894 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter 4895 Src_Index. 4896 4897 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0 4898 (Extract_From_Q): New out parameter Index 4899 (Mark, Is_Marked): Subprograms moved to Makeutl 4900 (Switches_Of): New parameter Source_Index 4901 (Add_Switch): New parameter Index 4902 (Check): New parameter Source_Index 4903 (Collect_Arguments): New parameter Source_Index 4904 (Collect_Arguments_And_Compile): New parameter Source_Index 4905 (Compile): New parameter Source_Index 4906 Put subprograms in alphabetical order 4907 Add support for multi-source sources, including in project files. 4908 4909 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function 4910 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from 4911 Make. 4912 4913 * makeusg.adb: New gnatmake switch -eInnn 4914 4915 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to 4916 Prj.Util.Value_Of. 4917 4918 * opt.ads (Main_Index): New variable, defaulted to 0. 4919 4920 * osint.ads, osinte.adb (Add_File): New parameter Index 4921 (Current_Source_Index): New function 4922 4923 * prj.adb: Take into account new components Index and Src_Index 4924 4925 * prj.ads (String_Element): New component Index 4926 (Variable_Value): New component Index 4927 (Array_Element): New component Src_Index 4928 4929 * prj-attr.adb: Indicate that optional index may be specified for 4930 attributes Main, Executable, Spec, Body and some of Switches. 4931 4932 * prj-attr.ads (Attribute_Kind): New values for optional indexes 4933 (Attribute_Record): New component Optional_Index 4934 4935 * prj-com.ads (File_Name_Data): New component Index 4936 4937 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index 4938 4939 * prj-env.adb (Put): Output optional index 4940 4941 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and 4942 attributes Spec and Body. 4943 4944 * prj-nmsc.adb: Process optional indexes 4945 4946 * prj-pp.adb: Ouput "at" for optional indexes 4947 4948 * prj-proc.adb: Take into account optional indexes 4949 4950 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter 4951 Optional_Index. For string literal, 4952 process optional index when Optional_Index is True. 4953 (Parse_Expresion): New Boolean parameter Optional_Index 4954 4955 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function 4956 (Set_Source_Index_Of): New procedure 4957 4958 * prj-util.adb (Executable_Of, Value_Of): Take into account optional 4959 index. 4960 4961 * prj-util.ads (Executable_Of): New parameter Index 4962 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value): 4963 New parameter Src_Index, defaulted to 0. 4964 49652004-05-05 Ed Schonberg <schonberg@gnat.com> 4966 4967 PR ada/15257 4968 * sem_ch3.adb (Access_Definition): If this is an access parameter 4969 whose designated type is imported through a limited_with clause, do 4970 not add the enclosing subprogram to the list of private dependents of 4971 the type. 4972 49732004-05-05 Ed Schonberg <schonberg@gnat.com> 4974 4975 PR ada/15258 4976 * sem_ch6.adb (Base_Types_Match): True if one type is imported through 4977 a limited_with clause, and the other is its non-limited view. 4978 49792004-05-05 Thomas Quinot <quinot@act-europe.fr> 4980 4981 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals. 4982 4983 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb, 4984 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use 4985 Stand.Boolean_Literals to produce references to entities 4986 Standard_False and Standard_True from compile-time computed boolean 4987 values. 4988 4989 * stand.ads (Boolean_Literals): New variable, provides the entity 4990 values for False and True, for use by the expander. 4991 49922004-05-05 Doug Rupp <rupp@gnat.com> 4993 4994 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype 4995 5vinmaop.adb: Unchecked convert Short_Address vice Address 4996 4997 * adaint.c, raise.c: Caste CRTL function return value 4998 to avoid gcc error on 32/64 bit IVMS. 4999 5000 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and 5001 target = IA64/VMS. 5002 5003 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS. 5004 5005 * 5qsystem.ads (Address): Declare as Long_Integer 5006 (Short_Address): Declare as 32 bit subtype of Address 5007 Declare abstract address operations to avoid gratuitous ambiguities. 5008 50092004-05-05 Jose Ruiz <ruiz@act-europe.fr> 5010 5011 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249) 5012 instead of the old Boolean_Entry_Barriers. 5013 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes. 5014 50152004-05-05 GNAT Script <nobody@gnat.com> 5016 5017 * Make-lang.in: Makefile automatically updated 5018 50192004-05-03 Arnaud Charlet <charlet@act-europe.fr> 5020 5021 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used. 5022 50232004-05-03 Olivier Hainque <hainque@act-europe.fr> 5024 5025 PR ada/15152 5026 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments 5027 alone. Replacing object references by literals is inappropriate in a 5028 so low level context. 5029 50302004-05-03 Arnaud Charlet <charlet@act-europe.fr> 5031 5032 * a-exexpr.adb: Add comments 5033 50342004-05-03 Joel Brobecker <brobecker@gnat.com> 5035 5036 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to 5037 declare the Ancestor_Tags array in Type_Specific_Data with a small size 5038 without risking a bounds check error when accessing one of its 5039 components. 5040 (Type_Specific_Data): Define Ancestor_Tags as a small array. 5041 This prevents us from hitting a limitation during the debug info 5042 generation when using stabs. 5043 5044 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a 5045 small array. 5046 This prevents us from hitting a limitation during the debug info 5047 generation when using stabs. 5048 50492004-05-03 Eric Botcazou <ebotcazou@act-europe.fr> 5050 5051 lang-specs.h: Remove -gnatz* from specs. 5052 50532004-05-03 Vincent Celier <celier@gnat.com> 5054 5055 * gprmake.adb, makegpr.ads, makegpr.adb: New files. 5056 5057 * Make-lang.in, Makefile.in: Add gprmake 5058 50592004-05-03 Thomas Quinot <quinot@act-europe.fr> 5060 5061 * sem_aggr.adb: Fix typo in comment. 5062 50632004-05-03 Robert Dewar <dewar@gnat.com> 5064 5065 * make.adb: Minor reformatting 5066 5067 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function 5068 5069 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address 5070 so that it works when address is not a private type. 5071 5072 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal 5073 properly with rewritten unchecked conversions. This prevents 5074 order-of-elaboration issues that can otherwise arise. 5075 (Minimum_Size): Don't check size of access types under VMS 5076 5077 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove 5078 interpretations of integer literals as type System.Address. 5079 5080 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function 5081 (Is_Descendent_Of): New function 5082 50832004-05-03 Jose Ruiz <ruiz@act-europe.fr> 5084 5085 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers. 5086 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length. 5087 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment. 5088 5089 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead 5090 of the old Max_Entry_Queue_Depth. 5091 5092 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers. 5093 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length 5094 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment 5095 5096 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers. 5097 New entry for proper handling of Max_Entry_Queue_Depth. 5098 New entry for proper handling of No_Dynamic_Interrupts. 5099 5100 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that 5101 supersedes the GNAT specific restriction Boolean_Entry_Barriers. 5102 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes 5103 the GNAT specific restriction Max_Entry_Queue_Depth. 5104 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes 5105 the GNAT specific restriction No_Dynamic_Interrupts. 5106 5107 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers 5108 instead of the old Boolean_Entry_Barriers. 5109 Use the new restriction No_Dynamic_Attachment instead of the old 5110 No_Dynamic_Interrupts. 5111 5112 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that 5113 supersedes the GNAT specific restriction Boolean_Entry_Barriers. 5114 5115 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead 5116 of the old Max_Entry_Queue_Depth. 5117 51182004-05-03 GNAT Script <nobody@gnat.com> 5119 5120 * Make-lang.in: Makefile automatically updated 5121 51222004-04-29 Ed Schonberg <schonberg@gnat.com> 5123 5124 * checks.adb (Enable_Range_Check): If the prefix of an index component 5125 is an access to an unconstrained array, perform check unconditionally. 5126 51272004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 5128 5129 * decl.c (gnat_to_gnu_field): Also call make_packable_type if 5130 Component_Clause. 5131 51322004-04-29 Olivier Hainque <hainque@act-europe.fr> 5133 5134 * init.c (__gnat_install_handler, __gnat_error_handler): Remove 5135 alternate stack setting. There was no support for the tasking cases 5136 and the changes eventually caused a number of side-effect failures in 5137 the non-tasking case too. 5138 51392004-04-29 Eric Botcazou <ebotcazou@act-europe.fr> 5140 5141 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or 5142 -gnats is passed. 5143 51442004-04-29 Vincent Celier <celier@gnat.com> 5145 5146 * make.adb (Gnatmake): Increase max size of argument array for 5147 gnatbind for the potential addition of -F. 5148 If there are Stand-Alone Library projects, invoke gnatbind with -F to 5149 be sure that elaboration flags will be checked. 5150 5151 * switch-c.adb: Correct call to Scan_Pos for -gnateI 5152 51532004-04-29 Thomas Quinot <quinot@act-europe.fr> 5154 5155 * sem_warn.adb (Check_References): Move '<access-variable> may be 5156 null' warning out of under Warn_On_No_Value_Assigned. 5157 51582004-04-29 Ed Falis <falis@gnat.com> 5159 5160 * gnat_ugn.texi: Fixed texi error 5161 51622004-04-29 Robert Dewar <dewar@gnat.com> 5163 5164 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove 5165 abstract operations if they come from predefined files. 5166 5167 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be 5168 Dynamic, not RM). 5169 5170 * s-addope.adb: Correct obvious error in mod function 5171 51722004-04-28 Andrew W. Reynolds <awreynolds@mac.com> 5173 5174 * Makefile.in: Add target pairs for powerpc darwin* 5175 tasking support. 5176 5177 * a-intnam-darwin.ads, s-osinte-darwin.adb, 5178 s-osinte-darwin.ads, system-darwin-ppc.ads: New files. 5179 51802004-04-28 Ulrich Weigand <uweigand@de.ibm.com> 5181 5182 * Makefile.in: Add target macro definitions for s390*-linux*. 5183 * system-linux-s390.ads: New file. 5184 * system-linux-s390x.ads: New file. 5185 51862004-04-28 Joseph S. Myers <jsm@polyomino.org.uk> 5187 5188 * gnat_ugn.texi: Correct argument to @setfilename. 5189 51902004-04-28 Ulrich Weigand <uweigand@de.ibm.com> 5191 5192 * a-exexpr.adb (Unwind_Word): New data type. 5193 (Unwind_Exception): Use it as type of Private1 and Private2. 5194 5195 * raise.c (db_action_for): Fix debug printf. 5196 51972004-04-27 Ed Schonberg <schonberg@gnat.com> 5198 5199 * a-wtmoio.ads: Formal type must be a modular type, not a signed 5200 integer type. 5201 52022004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 5203 5204 * decl.c (gnat_to_gnu_entity, case object): Call 5205 __builtin_update_setjmp_buf. 5206 5207 * gigi.h (update_setjmp_buf): Deleted. 5208 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New. 5209 5210 * misc.c: (update_setjmp_buf): Deleted. 5211 5212 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue 5213 around block of RTL. 5214 5215 * utils.c (init_gigi_decls): Initialize update_setjmp_buf. 5216 52172004-04-26 Thomas Quinot <quinot@act-europe.fr> 5218 5219 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local 5220 subprogram for which no pragma All_Calls_Remote applies, store the 5221 address of the real subprogram in the underlying record type, so local 5222 dereferences do not go through the PCS. 5223 52242004-04-26 Robert Dewar <dewar@gnat.com> 5225 5226 * i-c.ads: Add some type qualifications to avoid ambiguities when 5227 compiling with s-auxdec.ads and a non-private address type. 5228 52292004-04-26 Arnaud Charlet <charlet@act-europe.fr> 5230 5231 * Makefile.rtl: Fix error in previous check-in: 5232 Add s-addope.o to non tasking object list (rather than tasking object 5233 list). 5234 52352004-04-26 Javier Miranda <miranda@gnat.com> 5236 5237 * sem_aggr.adb: Fix typo in comments 5238 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate. 5239 Required to check the null-exclusion attribute. 5240 5241 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in 5242 case of anonymous access types in record and array components. For a 5243 component definition the level is the same of the enclosing composite 5244 type. 5245 5246 * sem_ch3.adb (Analyze_Component_Declaration): In case of components 5247 that are anonymous access types the level of accessibility depends on 5248 the enclosing type declaration. In order to have this information, set 5249 the scope of the anonymous access type to the enclosing record type 5250 declaration. 5251 (Array_Type_Declaration): In case of components that are anonymous 5252 access types the level of accessibility depends on the enclosing type 5253 declaration. In order to have this information, set the scope of the 5254 anonymous access type to the enclosing array type declaration. 5255 5256 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous 5257 access type. 5258 5259 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that 5260 renaming of anonymous access-to-constant types allowed if and only if 5261 the renamed object is access-to-constant. 5262 5263 * sem_util.adb (Type_Access_Level): In case of anonymous access types 5264 that are component_definition or discriminants of a nonlimited type, 5265 the level is the same as that of the enclosing component type. 5266 52672004-04-26 Sergey Rybin <rybin@act-europe.fr> 5268 5269 * sem_elim.adb: Some minor code reorganization from code reading. Fix 5270 misprint in the function name (File_Name_Match). 5271 52722004-04-23 Laurent Guerby <laurent@guerby.net> 5273 5274 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after 5275 install. 5276 52772004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 5278 5279 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o. 5280 52812004-04-23 Emmanuel Briot <briot@act-europe.fr> 5282 5283 * adaint.c (__gnat_try_lock): No longer requires that the parent 5284 directory be writable, the directory itself is enough. 5285 (gnat_is_absolute_path): Change profile, so that the call from 5286 GNAT.OS_Lib can be made more efficient. 5287 5288 * adaint.h (gnat_is_absolute_path): Change profile, so that the call 5289 from GNAT.OS_Lib can be made more efficient. 5290 5291 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid 5292 one copy of the file name. Found by code reading. 5293 52942004-04-23 Vincent Celier <celier@gnat.com> 5295 5296 * gnat_ugn.texi: Add documentation for gnatmake switch -eL 5297 Correct documentation on gnatmake switches transmitted to the compiler 5298 5299 * ali.ads: Minor comment fix 5300 53012004-04-23 Javier Miranda <miranda@gnat.com> 5302 5303 * sem_ch6.adb: (Confirming Types): Code cleanup 5304 5305 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to 5306 subprogram types: E_Anonymous_Access_Subprogram_Type and 5307 E_Anonymous_Access_Protected_Subprogram_Type. 5308 53092004-04-23 Thomas Quinot <quinot@act-europe.fr> 5310 5311 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating 5312 whether a pragma All_Calls_Remote applies to the subprogram on which 5313 'Access is taken. 5314 No functional change is introduced by this revision; the new parameter 5315 will be used to allow calls to local RCI subprograms to be optimized 5316 to not use the PCS in the case where no pragma All_Calls_Remote applies, 5317 as is already done in the PolyORB implementation of the DSA. 5318 5319 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating 5320 whether a pragma All_Calls_Remote applies to the subprogram on which 5321 'Access is taken. 5322 No functional change is introduced by this revision; the new parameter 5323 will be used to allow calls to local RCI subprograms to be optimized 5324 to not use the PCS in the case where no pragma All_Calls_Remote applies, 5325 as is already done in the PolyORB implementation of the DSA. 5326 53272004-04-23 Robert Dewar <dewar@gnat.com> 5328 5329 * Makefile.rtl: Add entry for s-addope.o in run time library list 5330 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects 5331 * s-addope.ads, s-addope.adb: New files. 5332 5333 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb, 5334 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb, 5335 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow 5336 System.Address to be non-private and signed. 5337 5338 * sem_elim.adb: Minor reformatting (fairly extensive) 5339 Some minor code reorganization from code reading 5340 Add a couple of ??? comments 5341 53422004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 5343 5344 * trans.c (tree_transform, build_unit_elab): Don't call getdecls. 5345 (tree_transform, case N_If_Statement): Remove non-determinism. 5346 5347 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL. 5348 53492004-04-23 Sergey Rybin <rybin@act-europe.fr> 5350 5351 * gnat_rm.texi: Small fixes in the changes made in the 'pragma 5352 Eliminate' section. 5353 5354 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is 5355 no longer used as a parameter name for Eliminate pragma). 5356 53572004-04-22 Laurent Guerby <laurent@guerby.net> 5358 5359 PR optimization/14984 5360 PR optimization/14985 5361 * trans.c (gigi): Fix non determinism leading to bootstrap 5362 comparison failures. 5363 53642004-04-21 Pascal Obry <obry@gnat.com> 5365 5366 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0]) 5367 passed to spawnvp() to properly handle program pathname with spaces on 5368 Win32. 5369 53702004-04-21 Emmanuel Briot <briot@act-europe.fr> 5371 5372 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False. 5373 (Allocate, Deallocate, Free_Physically): Make sure the tasks are 5374 unlocked in case of exceptions. 5375 53762004-04-21 Joel Brobecker <brobecker@gnat.com> 5377 5378 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration. 5379 This function does not exist anymore. 5380 53812004-04-21 Thomas Quinot <quinot@act-europe.fr> 5382 5383 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol. 5384 5385 * link.c: Move variables to the __gnat name space. 5386 5387 * Makefile.in: list link.o explicitly when needed. 5388 5389 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib. 5390 53912004-04-21 Javier Miranda <miranda@gnat.com> 5392 5393 * einfo.adb (Original_Access_Type): New subprogram 5394 (Set_Original_Access_Type): New subprogram 5395 (Write_Field21_Name): Write the name of the new field 5396 5397 * einfo.ads (Original_Access_Type): New field present in access to 5398 subprogram types. 5399 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and 5400 E_Anonymous_Access_Protected_Subprogram_Type. 5401 5402 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to 5403 subprogram types. 5404 5405 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding 5406 to anonymous access to subprogram types. 5407 5408 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access 5409 to subprogram types. 5410 5411 * sem_ch3.adb (Access_Definition): Complete decoration of entities 5412 corresponding to anonymous access to subprogram types. 5413 (Analyze_Component_Declaration): Add new actual to the call to 5414 subprogram replace_anonymous_access_to_protected_subprogram. 5415 (Array_Type_Declaration): Add new actual to the call to subprogram 5416 replace_anonymous_access_to_protected_subprogram. 5417 (Process_Discriminants): Add new actual to the call to subprogram 5418 replace_anonymous_access_to_protected_subprogram. 5419 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal. 5420 5421 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New 5422 formal. 5423 5424 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous 5425 access to subprogram types. 5426 5427 * sem_util.adb (Has_Declarations): Addition of package_specification 5428 nodes. 5429 54302004-04-21 Ed Schonberg <schonberg@gnat.com> 5431 5432 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate 5433 inlined flags to renamed entity only if in current unit. 5434 54352004-04-21 Thomas Quinot <quinot@act-europe.fr> 5436 5437 * s-parint.ads: Add DSA implementation marker. 5438 5439 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the 5440 value of System.Partition_Interface.DSA_Implementation to determine 5441 what version of the distributed systems annex is available (no 5442 implementation, GLADE, or PolyORB). 5443 54442004-04-21 Joel Brobecker <brobecker@gnat.com> 5445 5446 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used. 5447 54482004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 5449 5450 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node 5451 with new type if alias sets differ. 5452 Fixes ACATS c41103b. 5453 54542004-04-21 Vincent Celier <celier@gnat.com> 5455 5456 * prj.ads: Remove FORTRAN as an accepted language: not tested yet. 5457 Add array Lang_Args for the language specific compiling argument 5458 switches. 5459 5460 * gnat_ugn.texi: Explain in more details when a library is rebuilt. 5461 54622004-04-21 Sergey Rybin <rybin@act-europe.fr> 5463 5464 * gnat_rm.texi: Update the descripton of the Eliminate pragma 5465 according to the recent changes in the format of the parameters of the 5466 pragma (replacing Homonym_Number with Source_Location). 5467 54682004-04-19 Arnaud Charlet <charlet@act-europe.fr> 5469 5470 * 5isystem.ads: Removed, unused. 5471 5472 * gnat_rm.texi: Redo 1.13 change. 5473 54742004-04-19 Robert Dewar <dewar@gnat.com> 5475 5476 * s-stoele.ads: Clean up definition of Storage_Offset (the new 5477 definition is cleaner, avoids the kludge of explicit Standard operator 5478 references, and also is consistent with a visible System.Address with 5479 no visible operations. 5480 5481 * s-geveop.adb: Add declarations to avoid assumption of visible 5482 operations on type System.Address (since these might not be available 5483 if Address is a non-private type for which the operations 5484 are made abstract). 5485 5486 * sem_eval.adb: Minor reformatting 5487 5488 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads, 5489 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor 5490 reformatting (new function spec format). 5491 5492 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb, 5493 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, 5494 s-caun64.adb: Add declarations to avoid assumption of visible 5495 operations on type System.Address (since these might not be available 5496 if Address is a non-private type for which the operations are made 5497 abstract). 5498 5499 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure. 5500 5501 * exp_intr.adb: Minor comment update 5502 5503 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting. 5504 5505 * 5omastop.adb: Add declarations to avoid assumption of visible 5506 operations on type System.Address (since these might not be available 5507 if Address is a non-private type for which the operations 5508 are made abstract). 5509 55102004-04-19 Vincent Celier <celier@gnat.com> 5511 5512 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL 5513 5514 * prj-pars.ads (Parse): New Boolean parameter Process_Languages, 5515 defaulted to Ada. 5516 5517 * prj-proc.adb (Process): New Boolean parameter Process_Languages, 5518 defaulted to Ada. 5519 Call Check with Process_Languages. 5520 (Check): New Boolean parameter Process_Languages. Call Recursive_Check 5521 with Process_Languages. 5522 (Recursive_Check): New Boolean parameter Process_Languages. Call 5523 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to 5524 Process_Languages. 5525 5526 * prj-proc.ads (Process): New Boolean parameter Process_Languages, 5527 5528 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean 5529 parameter Ada_Main, defaulted to True. 5530 Check for Ada specific characteristics only when Ada_Main is True. 5531 5532 * opt.ads: (Follow_Links): New Boolean flag for gnatmake 5533 5534 * prj.adb: (Project_Empty): Add new Project_Data components. 5535 5536 * prj.ads: New types and tables for non Ada languages. 5537 (Project_Data): New components Languages, Impl_Suffixes, 5538 First_Other_Source, Last_Other_Source, Imported_Directories_Switches, 5539 Include_Path, Include_Data_Set. 5540 5541 * prj-env.ads, prj-env.adb: Minor reformatting 5542 5543 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure 5544 Put subprograms in alphabetical order 5545 5546 * prj-pars.adb (Parse): New Boolean parameter Process_Languages, 5547 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and 5548 Opt.Follow_Links. 5549 5550 * mlib-prj.adb: Back out modification in last version, as they are 5551 incorrect. 5552 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off) 5553 5554 * make.adb: (Mains): Moved to package Makeutl 5555 (Linker_Opts): Moved to package Makeutl 5556 (Is_External_Assignment): Moved to package Makeutl 5557 (Test_If_Relative_Path): Moved to package Makeutl 5558 (Gnatmake): Move sorting of linker options to function 5559 Makeutl.Linker_Options_Switches. 5560 5561 * makeutl.ads, makeutl.adb: New files. 5562 5563 * Makefile.in: Add makeutl.o to the object files for gnatmake 5564 5565 * makeusg.adb: Add line for new switch -eL. 5566 5567 * gnatls.adb (Image): New function. 5568 (Output_Unit): If in verbose mode, output the list of restrictions 5569 specified by pragmas Restrictions. 5570 5571 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use 5572 Text_IO. 5573 5574 * a-calend.adb (Split): Shift the date by multiple of 56 years, if 5575 needed, to put it in the range 1970 (included) - 2026 (excluded). 5576 (Time_Of): Do not shift Unix_Min_Year (1970). 5577 Shift the date by multiple of 56 years, if needed, to put it in the 5578 range 1970 (included) - 2026 (excluded). 5579 5580 * adaint.h, adaint.c (__gnat_set_executable): New function. 5581 55822004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 5583 5584 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push 5585 and pop GC context. 5586 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE. 5587 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH. 5588 (tree_transform, case N_Procedure_Call_Statement): Build a tree. 5589 (tree_transform, case N_Code_Statement): Likewise. 5590 (gnat_expand_stmt, case LABEL_STMT): Don't look at 5591 LABEL_STMT_FIRST_IN_EH. 5592 (gnat_expand_stmt, case ASM_STMT): New case. 5593 5594 * utils2.c (build_unary_op): Properly set TREE_READONLY of 5595 UNCONSTRAINED_ARRAY_REF. 5596 5597 * utils.c (poplevel): Temporarily push/pop GC context around inline 5598 function expansion. 5599 5600 * decl.c (maybe_variable): Properly set TREE_READONLY of 5601 UNCONSTRAINED_ARRAY_REF. 5602 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE. 5603 5604 * ada-tree.def: (ASM_STMT): New. 5605 5606 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted. 5607 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT, 5608 ASM_STMT_INPUT): New. 5609 (ASM_STMT_CLOBBER): Likewise. 5610 56112004-04-19 Thomas Quinot <quinot@act-europe.fr> 5612 5613 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use 5614 general rcheck mechanism to raise Program_Error for E.4(18), instead 5615 of a custom raiser in System.Partition_Interface. 5616 Part of general cleanup work before PolyORB integration. 5617 5618 * snames.ads, snames.adb: Add new runtime library entities and names 5619 for PolyORB DSA. 5620 5621 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to 5622 exp_dist. 5623 (Build_Subprogram_Id): New subprogram provided by exp_dist 5624 Code reorganisation in preparation for PolyORB integration. 5625 5626 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to 5627 exp_dist. 5628 (Build_Subprogram_Id): New subprogram provided by exp_dist 5629 5630 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in 5631 actual parameter types for call to dereference of an 5632 access-to-subprogram type. 5633 5634 * rtsfind.ads: Add new runtime library entities and names for PolyORB 5635 DSA. 5636 5637 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value 5638 instead, which has the same behaviour here since we never pass it a 5639 NULL pointer. 5640 5641 * link.c (run_path_option, Solaris case): Use -Wl, as for other 5642 platforms. 5643 5644 * Makefile.in: adjust object file lists for gnatlink and gnatmake 5645 to account for new dependency upon Interfaces.C.Strings + link.o 5646 For x86 FreeBSD, use 86numaux. 5647 5648 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up 5649 from Mlib.Tgt to Mlib. 5650 5651 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now 5652 target-independent. 5653 5654 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove 5655 target-specific versions of this subprogram, now implemented as a 5656 target-independent function in Mlib. 5657 5658 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb, 5659 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb 5660 (Linker_Library_Path_Option): Remove target-specific versions of this 5661 subprogram, now implemented as a target-independent function in Mlib. 5662 5663 * atree.adb: (Allocate_Initialize_Node): New subprogram. 5664 Factors out node table slots allocation. 5665 (Fix_Parents): New subprogram. 5666 Encapsulate the pattern of fixing up parent pointers for syntactic 5667 children of a rewritten node. 5668 (New_Copy_Tree): Use New_Copy to copy non-entity nodes. 5669 (Rewrite): Use New_Copy when creating saved copy of original node. 5670 (Replace): Use Copy_Node to copy nodes. 5671 56722004-04-19 Javier Miranda <miranda@gnat.com> 5673 5674 * sprint.adb (Sprint_Node_Actual): Give support to the new 5675 Access_To_Subprogram node available in Access_Definition nodes. In 5676 addition, give support to the AI-231 node fields: null-exclusion, 5677 all-present, constant-present. 5678 5679 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram 5680 5681 * sinfo.ads, sinfo.adb: 5682 New field Access_To_Subprogram_Definition in Access_Definition nodes 5683 5684 * sem_ch6.adb (Process_Formals): Move here the code that creates and 5685 decorates internal subtype declaration corresponding to the 5686 null-excluding formal. This code was previously in Set_Actual_Subtypes. 5687 In addition, carry out some code cleanup on this code. In case of 5688 access to protected subprogram call 5689 Replace_Anonymous_Access_To_Protected_Subprogram. 5690 (Set_Actual_Subtypes): Code cleanup. 5691 5692 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to 5693 Find_Type in case of anonymous access renamings. Add warning in case of 5694 null-excluding attribute used in anonymous access renaming. 5695 5696 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New 5697 subprogram 5698 5699 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New 5700 subprogram. 5701 (Access_Definition): In case of anonymous access to subprograms call 5702 the corresponding semantic routine to decorate the node. 5703 (Access_Subprogram_Declaration): Addition of some comments indicating 5704 some code that probably should be added here. Detected by comparison 5705 with the access_definition subprogram. 5706 (Analyze_Component_Declaration): In case of access to protected 5707 subprogram call Replace_Anonymous_Access_To_Protected. 5708 (Array_Type_Declaration): In case of access to protected subprogram call 5709 Replace_Anonymous_Access_To_Protected_Subprogram. 5710 (Process_Discriminants): In case of access to protected subprogram call 5711 Replace_Anonymous_Access_To_Protected_Subprogram. 5712 5713 * par.adb (P_Access_Definition): New formal that indicates if the 5714 null-exclusion part was present. 5715 (P_Access_Type_Definition): New formal that indicates if the caller has 5716 already parsed the null-excluding part. 5717 5718 * par-ch3.adb (P_Subtype_Declaration): Code cleanup. 5719 (P_Identifier_Declarations): Code cleanup and give support to renamings 5720 of anonymous access to subprogram types. 5721 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup. 5722 (P_Array_Type_Definition): Give support to AI-254. 5723 (P_Component_Items): Give support to AI-254. 5724 (P_Access_Definition): New formal that indicates if the header was 5725 already parsed by the caller. 5726 (P_Access_Type_Definition): New formal that indicates if the caller has 5727 already parsed the null-excluding part. 5728 5729 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the 5730 call to P_Access_Definition. 5731 57322004-04-19 Geert Bosch <bosch@gnat.com> 5733 5734 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement 5735 the delicate semantics of floating-point to integer conversion. 5736 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check. 5737 5738 * eval_fat.adb (Machine_Mantissa): Moved to spec. 5739 (Machine_Radix): New function. 5740 5741 * eval_fat.ads (Machine_Mantissa): Moved from body for use in 5742 conversion checks. 5743 (Machine_Radix): New function also for use in conversion checks. 5744 57452004-04-19 Ed Schonberg <schonberg@gnat.com> 5746 5747 * par-prag.adb (Source_File_Name_Project): Fix typo in error message. 5748 5749 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze 5750 to decorate the access-to-protected subprogram and the equivalent type. 5751 5752 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support 5753 to anonymous access to subprogram types. 5754 5755 * exp_ch4.adb (Expand_N_In): Preserve Static flag before 5756 constant-folding, for legality checks in contexts that require an RM 5757 static expression. 5758 5759 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large 5760 temporary but stack checking is not enabled, increment serial number 5761 to so that symbol generation is consistent with and without stack 5762 checking. 5763 5764 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is 5765 independent on whether stack checking is enabled, caller must check 5766 the corresponding flag. 5767 5768 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need 5769 range checks. 5770 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from 5771 parent if it has discriminants. 5772 (Build_Derived_Private_Type): Constructed full view does 5773 not come from source. 5774 (Process_Discriminants): Default discriminants on a tagged type are 5775 legal if this is the internal completion of a private untagged 5776 derivation. 5777 5778 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs 5779 no constraint checks, because it corresponds to an existing object. 5780 5781 * sem_prag.adb (Process_Convention): Pragma applies 5782 only to subprograms in the same declarative part, i.e. the same unit, 5783 not the same scope. 5784 5785 * sem_res.adb (Valid_Conversion): In an instance or inlined body, 5786 ignore type mismatch on a numeric conversion if expression comes from 5787 expansion. 5788 57892004-04-19 Sergey Rybin <rybin@act-europe.fr> 5790 5791 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for 5792 Homonym_Number parameter, add processing for Source_Location parameter 5793 corresponding. 5794 (Check_Eliminated): Remove the check for homonym numbers, add the check 5795 for source location traces. 5796 5797 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number 5798 with Arg_Source_Location corresponding to the changes in the format of 5799 the pragma. 5800 5801 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of 5802 Eliminate pragma corresponding to the changes in the format of the 5803 pragma: Homonym_Number is replaced with Source_Location, two ways of 5804 distinguishing homonyms are mutially-exclusive. 5805 58062004-04-19 Joel Brobecker <brobecker@gnat.com> 5807 5808 * get_targ.ads (Get_No_Dollar_In_Label): Remove. 5809 5810 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of 5811 No_Dollar_In_Label, no longer necessary, as it is always True. 5812 (Strip_Suffixes): Likewise. 5813 58142004-04-19 Gary Dismukes <dismukes@gnat.com> 5815 5816 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of 5817 modulus for compatibility with size clause on targets with 16-bit 5818 Integer. 5819 5820 * layout.adb (Discrimify): In the case of private types, set Vtyp to 5821 full type to fix type mismatches on calls to size functions for 5822 discriminant-dependent array components. 5823 58242004-04-19 Jerome Guitton <guitton@act-europe.fr> 5825 5826 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time 5827 lib. 5828 58292004-04-19 Pascal Obry <obry@gnat.com> 5830 5831 * mdll-utl.adb (Locate): New version is idempotent. 5832 58332004-04-17 Laurent Guerby <laurent@guerby.net> 5834 5835 PR ada/14988 (partial) 5836 * impunit.adb: Fix typo. 5837 58382004-04-14 Nathanael Nerode <neroden@gcc.gnu.org> 5839 5840 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none, 5841 and install-rts-cert targets. Remove all gnatlib and gnattools 5842 targets and all other rts-* targets (moved to libada). Remove (now) 5843 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND, 5844 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS. 5845 58462004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 5847 5848 * trans.c (tree_transform): Shortcut returning error_mark_node for 5849 statements in annotate_only_mode. 5850 (tree_transform, case N_Label, case N_Return_Statement, 5851 N_Goto_Statement): Make statement tree instead of generating code. 5852 (tree_transform, case N_Assignment_Statement): No longer check 5853 type_annotate_only. 5854 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case 5855 RETURN_STMT): New. 5856 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl): 5857 New fcns. 5858 (gnat_to_gnu): Collect any RTL generated and deal with it. 5859 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR. 5860 (tree_transform case N_If_Statement): Rewrite to make IF_STMT. 5861 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases. 5862 5863 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes. 5864 5865 * ada-tree.def (EXPR_STMT): Fix typo in name. 5866 (BLOCK_STMT, IF_STMT): New nodes. 5867 5868 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL, 5869 LABEL_STMT_FIRST_IN_EH): New macros. 5870 (RETURN_STMT_EXPR): Likewise. 5871 5872 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE, 5873 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros. 5874 58752004-04-08 Thomas Quinot <quinot@act-europe.fr> 5876 5877 * atree.ads: Correct documentation on extended nodes. 5878 5879 * link.c: Set run_path_option for FreeBSD. 5880 58812004-04-08 Vincent Celier <celier@gnat.com> 5882 5883 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is 5884 one of the ALI file, do not link with DEC lib. 5885 5886 * par.adb Remove the last two characters ("%s" or "%b") when checking 5887 if a language defined unit may be recompiled. 5888 58892004-04-08 Ed Schonberg <schonberg@gnat.com> 5890 5891 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when 5892 removal of abstract operation leaves no possible interpretation for 5893 expression. 5894 5895 * sem_eval.adb (Eval_Qualified_Expression): Use 5896 Set_Raises_Constraint_Error on node when needed, so that it does not 5897 get optimized away by subsequent optimizations. 5898 5899 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of 5900 operands even when they are not wrapped in a type conversion. 5901 59022004-04-08 Olivier Hainque <hainque@act-europe.fr> 5903 5904 * sem_prag.adb (Set_Exported): Warn about making static as result of 5905 export only when the export is coming from source. This may be not 5906 be true e.g. on VMS where we expand export pragmas for exception codes 5907 together with imported or exported exceptions, and we don't want the 5908 user to be warned about something he didn't write. 5909 59102004-04-08 Thomas Quinot <quinot@act-europe.fr> 5911 5912 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code 5913 duplication between normal entities and those declared as renamings. 5914 No functional change. 5915 5916 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently 5917 inline functions returning an unconstrained result. 5918 59192004-04-08 Eric Botcazou <ebotcazou@act-europe.fr> 5920 5921 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to 5922 conform to what other front-ends do. 5923 59242004-04-08 Doug Rupp <rupp@gnat.com> 5925 5926 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared 5927 libraries. 5928 59292004-04-06 Pascal Obry <obry@gnat.com> 5930 5931 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32. 5932 5933 * osint.adb (Program_Name): Do not look past a directory separator. 5934 59352004-04-06 Thomas Quinot <quinot@act-europe.fr> 5936 5937 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists). 5938 5939 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of 5940 requirement for preserving a copy of the original assignment node. 5941 5942 * sinfo.ads: Update comment (Original_Tree -> Original_Node). 5943 59442004-04-06 Olivier Hainque <hainque@act-europe.fr> 5945 5946 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits 5947 when supported. 5948 59492004-04-06 Ed Schonberg <schonberg@gnat.com> 5950 5951 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to 5952 operator calls in functional notation, and apply 5953 Universal_Interpretation to operands, not to their type. 5954 59552004-04-06 Robert Dewar <dewar@gnat.com> 5956 5957 * 5wdirval.adb: Minor reformatting 5958 59592004-04-06 Ed Falis <falis@gnat.com> 5960 5961 * gnat_rm.texi: Improve a reference to the GCC manual 5962 59632004-04-05 Vincent Celier <celier@gnat.com> 5964 5965 * adaint.h, adaint.c: Add function __gnat_named_file_length 5966 5967 * impunit.adb: Add Ada.Directories to the list 5968 5969 * Makefile.in: Add VMS and Windows versions of 5970 Ada.Directories.Validity package body. 5971 5972 * Makefile.rtl: Add a-direct and a-dirval 5973 5974 * mlib-tgt.ads: Minor comment update. 5975 5976 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb, 5977 a-direct.ads, a-direct.adb: New files. 5978 59792004-04-05 Vincent Celier <celier@gnat.com> 5980 5981 PR ada/13620 5982 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not 5983 just to the compiler. 5984 59852004-04-05 Robert Dewar <dewar@gnat.com> 5986 5987 * a-except.adb (Exception_Name_Simple): Make sure lower bound of 5988 returned string is 1. 5989 5990 * ali-util.adb: Use proper specific form for Warnings (Off, entity) 5991 5992 * eval_fat.ads: Minor reformatting 5993 5994 * g-curexc.ads: Document that lower bound of returned string values 5995 is always one. 5996 5997 * gnatlink.adb: Add ??? comment for previous change 5998 (need to document why this is VMS specific) 5999 6000 * s-stoele.ads: Minor reformatting 6001 6002 * tbuild.ads: Minor reformatting throughout (new function specs) 6003 6004 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon 6005 after WITH. 6006 6007 * scng.adb: Minor reformatting 6008 60092004-04-05 Geert Bosch <bosch@gnat.com> 6010 6011 * eval_fat.adb (Machine): Remove unnecessary suppression of warning. 6012 (Leading_Part): Still perform truncation to machine number if the 6013 specified radix_digits is greater or equal to machine_mantissa. 6014 60152004-04-05 Javier Miranda <miranda@gnat.com> 6016 6017 * par-ch3.adb: Complete documentation of previous change 6018 Correct wrong syntax documentation of the OBJECT_DECLARATION rule 6019 (aliased must appear before constant). 6020 6021 * par-ch4.adb: Complete documentation of previous change. 6022 6023 * par-ch6.adb: Complete documentation of previous change. 6024 6025 * sinfo.ads: Fix typo in commment. 6026 60272004-04-05 Ed Schonberg <schonberg@gnat.com> 6028 6029 * sem_ch3.adb (Inherit_Components): If derived type is private and has 6030 stored discriminants, use its discriminants to constrain parent type, 6031 as is done for non-private derived record types. 6032 6033 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement 6034 Ada 2005 AI-310: an abstract non-dispatching operation is not a 6035 candidate interpretation in an overloaded call. 6036 6037 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if 6038 expression is Null and target type is not an access type (e.g. a 6039 non-private address type). 6040 60412004-04-05 Thomas Quinot <quinot@act-europe.fr> 6042 6043 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment 6044 statement whose right-hand side is an inlined call, save a copy of the 6045 original assignment subtree to preserve enough consistency for 6046 Analyze_Assignment to proceed. 6047 6048 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the 6049 complete assignment subtree which is now unnecessary, as the expansion 6050 of inlined call has been improved to preserve a consistent assignment 6051 tree. Note_Possible_Modification must be called only 6052 after checks have been applied, or else unnecessary checks will 6053 be generated. 6054 6055 * sem_util.adb (Note_Possible_Modification): Reorganise the handling 6056 of explicit dereferences that do not Come_From_Source: 6057 - be selective on cases where we must go back to the dereferenced 6058 pointer (an assignment to an implicit dereference must not be 6059 recorded as modifying the pointer); 6060 - do not rely on Original_Node being present (Analyze_Assignment 6061 calls Note_Possible_Modification on a copied tree). 6062 6063 * sem_warn.adb (Check_References): When an unset reference to a pointer 6064 that is never assigned is encountered, prefer '<pointer> may be null' 6065 warning over '<pointer> is never assigned a value'. 6066 60672004-04-05 Ramon Fernandez <fernandez@gnat.com> 6068 6069 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with 6070 the ABI. 6071 60722004-04-05 Olivier Hainque <hainque@act-europe.fr> 6073 6074 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for 6075 libexc. We currently don't reference anything in this library and 6076 linking it in triggers linker warnings we don't want to see. 6077 6078 * init.c: Update comments. 6079 60802004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6081 6082 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY. 6083 * utils.c (create_field_decl): Likewise. 6084 * utils2.c (build_unary_op, gnat_build_constructor): Likewise. 6085 60862004-04-02 Arnaud Charlet <charlet@act-europe.fr> 6087 6088 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags. 6089 Replace ifinfo by ifnottex, to make makeinfo --html happy again. 6090 Add info directory entry and category. 6091 60922004-04-02 Jan Hubicka <jh@suse.cz> 6093 6094 * utils.c: Include function.h 6095 (end_subprog_body): Clear DECL_STRUCT_FUNCTION. 6096 60972004-04-01 Arnaud Charlet <charlet@act-europe.fr> 6098 6099 PR ada/14150 6100 * Make-lang.in: Clean up generation of documentation 6101 6102 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version 6103 6104 * xgnatug.adb: Removed, replaced by xgnatugn.adb 6105 6106 * xgnatugn.adb: Replaces xgnatug.adb 6107 6108 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi 6109 6110 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version 6111 6112 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi, 6113 gnat_ug_wnt.texi: Removed. 6114 61152004-04-01 Arnaud Charlet <charlet@act-europe.fr> 6116 6117 * utils2.c: Update copyright notice. 6118 61192004-04-01 Robert Dewar <dewar@gnat.com> 6120 6121 * checks.adb: Minor reformatting throughout 6122 Note that prev checkin added RM reference to alignment warning 6123 61242004-04-01 Ed Schonberg <schonberg@gnat.com> 6125 6126 * exp_aggr.adb (Get_Component_Val): Treat a string literal as 6127 non-static when building aggregate for bit-packed array. 6128 6129 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a 6130 function call that is itself the actual in a procedure call, build 6131 temporary for it. 6132 6133 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is 6134 a string literal, create a temporary for it, constant folding only 6135 handles scalars here. 6136 61372004-04-01 Vincent Celier <celier@gnat.com> 6138 6139 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC, 6140 Error_Msg_SP): New empty procedures to instantiate the Scanner. 6141 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan 6142 tokens. 6143 (Accumulate_Checksum, Initialize_Checksum): Remove procedures. 6144 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens 6145 and get the checksum. 6146 6147 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is 6148 already in the Q. 6149 Increase the Marking_Label at the end of the Multiple_Main_Loop, 6150 instead of at the beginning. 6151 6152 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~' 6153 directly. 6154 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if 6155 on VMS. 6156 6157 * osint.ads (Multi_Unit_Index_Character): New Character global variable 6158 6159 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character, 6160 not '~' directly. 6161 6162 * par.adb: Remove test on file name to detect language defined units. 6163 Add test on unit name, after parsing, to detect language defined units 6164 that are not compiled with -gnatg (except System.RPC and its children) 6165 6166 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the 6167 following units without style checking. 6168 6169 * switch-c.adb: Change -gnatC to -gnateI 6170 6171 * usage.adb: Document new switch -gnateInnn 6172 6173 * scng.adb (Accumulate_Token_Checksum): New procedure 6174 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved 6175 word or literal number. 6176 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral 6177 numbers. 6178 61792004-04-01 Thomas Quinot <quinot@act-europe.fr> 6180 6181 * a-tasatt.adb, 6182 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb, 6183 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb, 6184 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 6185 5vtpopde.adb: Add missing 'constant' keywords. 6186 61872004-04-01 Javier Miranda <miranda@gnat.com> 6188 6189 * par-ch4.adb: (P_Allocator): Code cleanup 6190 6191 * sem_ch3.adb (Access_Definition): Properly set the null-excluding 6192 attribute. 6193 6194 * sinfo.ads: Complete documentation of previous change 6195 61962004-04-01 Pascal Obry <obry@gnat.com> 6197 6198 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options 6199 only on VMS. This special handling was done because an old GNU/ld bug 6200 on Windows which has been fixed. 6201 62022004-04-01 GNAT Script <nobody@gnat.com> 6203 6204 * Make-lang.in: Makefile automatically updated 6205 62062004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6207 6208 * decl.c (gnat_to_gnu_entity, make_type_from_size): 6209 Use TYPE_UNSIGNED, not TREE_UNSIGNED. 6210 * trans.c (tree_transform, convert_with_check): Likewise. 6211 * utils.c (gnat_signed_or_unsigned_type): Likewise. 6212 (build_vms_descriptor, unchecked_convert): Likewise. 6213 * utils2.c (nonbinary_modular_operation): Likewise. 6214 62152004-03-29 Javier Miranda <miranda@gnat.com> 6216 6217 * checks.adb (Null_Exclusion_Static_Checks): New subprogram 6218 (Install_Null_Excluding_Check): Local subprogram that determines whether 6219 an access node requires a runtime access check and if so inserts the 6220 appropriate run-time check. 6221 (Apply_Access_Check): Call Install_Null_Excluding check if required 6222 (Apply_Constraint_Check): Call Install_Null_Excluding check if required 6223 6224 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram 6225 6226 * einfo.ads: Fix typo in comment 6227 6228 * exp_ch3.adb (Build_Assignment): Generate conversion to the 6229 null-excluding type to force the corresponding run-time check. 6230 (Expand_N_Object_Declaration): Generate conversion to the null-excluding 6231 type to force the corresponding run-time check. 6232 6233 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to 6234 the null-excluding type to force the corresponding run-time check. 6235 6236 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in 6237 case of access types unless they have the null-excluding attribute. 6238 6239 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing 6240 part. 6241 6242 * exp_util.ads: Fix typo in comment 6243 6244 * par.adb (P_Null_Exclusion): New subprogram 6245 (P_Subtype_Indication): New formal that indicates if the null-excluding 6246 part has been scanned-out and it was present 6247 6248 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231 6249 6250 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram 6251 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding 6252 type to force the corresponding run-time check 6253 (Resolve_Aggregate): Propagate the null-excluding attribute to the array 6254 components 6255 (Resolve_Array_Aggregate): Carry out some static checks 6256 (Resolve_Record_Aggregate.Get_Value): Carry out some static check 6257 6258 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null 6259 attribute must be set only if specified by means of the null-excluding 6260 part. In addition, we must also propagate the access-constant attribute 6261 if present. 6262 (Access_Subprogram_Declaration, Access_Type_Declaration, 6263 Analyze_Component_Declaration, Analyze_Object_Declaration, 6264 Array_Type_Declaration, Process_Discriminants, 6265 Analyze_Subtype_Declaration): Propagate the null-excluding attribute 6266 and carry out some static checks. 6267 (Build_Derived_Access_Type): Set the null-excluding attribute 6268 (Derived_Type_Declaration, Process_Subtype): Carry out some static 6269 checks. 6270 6271 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks 6272 6273 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks 6274 6275 * sem_ch6.adb (Process_Formals): Carry out some static checks. 6276 (Set_Actual_Subtypes): Generate null-excluding subtype if the 6277 null-excluding part was present; it is not required to be done here in 6278 case of anonymous access types. 6279 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null 6280 value. 6281 6282 * sem_res.adb (Resolve_Actuals): Carry out some static check 6283 (Resolve_Null): Allow null in anonymous access 6284 6285 * sinfo.adb: New subprogram Null_Exclusion_Present 6286 All_Present and Constant_Present available on access_definition nodes 6287 6288 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration, 6289 object_declaration, derived_type_definition, component_definition, 6290 discriminant_specification, access_to_object_definition, 6291 access_function_definition, allocator, access_procedure_definition, 6292 access_definition, parameter_specification, All_Present and 6293 Constant_Present flags available on access_definition nodes. 6294 62952004-03-29 Robert Dewar <dewar@gnat.com> 6296 6297 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, 6298 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb, 6299 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb, 6300 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb, 6301 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb, 6302 sem_prag.adb: Updates to handle multiple units/file 6303 6304 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children 6305 6306 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb, 6307 sem_util.adb: Minor reformatting 6308 6309 * sem_ch12.adb: Add comment for previous change 6310 63112004-03-29 Laurent Pautet <pautet@act-europe.fr> 6312 6313 * osint.adb (Executable_Prefix): Set Exec_Name to the current 6314 executable name when not initialized. Otherwise, use its current value. 6315 6316 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to 6317 initialize it to another executable name than the current one. This 6318 allows to configure paths for an executable name (gnatmake) different 6319 from the current one (gnatdist). 6320 63212004-03-29 Ed Schonberg <schonberg@gnat.com> 6322 6323 * exp_ch6.adb (Expand_Call): A call to a function declared in the 6324 current unit cannot be inlined if it appears in the body of a withed 6325 unit, to avoid order of elaboration problems in gigi. 6326 6327 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging 6328 information for protected (wrapper) operation as well, to simplify gdb 6329 use. 6330 6331 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a 6332 protected body, indicate that the entity for the generated spec comes 6333 from source, to ensure that references are properly generated for it. 6334 (Build_Body_To_Inline): Do not inline a function that returns a 6335 controlled type. 6336 6337 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only 6338 apply convention to homonyms that are declared explicitly. 6339 6340 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function 6341 that renames an equality operator and the operands are overloaded, 6342 resolve them with the declared formal types, before rewriting as an 6343 operator. 6344 63452004-03-29 GNAT Script <nobody@gnat.com> 6346 6347 * Make-lang.in: Makefile automatically updated 6348 63492004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr> 6350 6351 * memtrack.adb: Log realloc calls, which are treated as free followed 6352 by alloc. 6353 63542004-03-25 Vincent Celier <celier@gnat.com> 6355 6356 * prj-makr.adb (Process_Directories): Detect when a file contains 6357 several units. Do not include such files in the config pragmas or 6358 in the naming scheme. 6359 6360 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode. 6361 Resolve links only when not in Trusted_Mode. 6362 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory): 6363 Do not resolve links for the display names. 6364 6365 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not 6366 resolve links when computing the display names. 6367 63682004-03-25 Thomas Quinot <quinot@act-europe.fr> 6369 6370 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag 6371 attribute reference does not denote a subtype, it can be any 6372 expression that has a classwide type, potentially after an implicit 6373 dereference. In particular, the prefix can be a view conversion for 6374 a classwide type (for which Is_Object_Reference holds), but it can 6375 also be a value conversion for an access-to-classwide type. In the 6376 latter case, there is an implicit dereference, and the original node 6377 for the prefix does not verify Is_Object_Reference. 6378 6379 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view 6380 conversion of a discriminant-dependent component of a mutable object 6381 is one itself. 6382 63832004-03-25 Ed Schonberg <schonberg@gnat.com> 6384 6385 * freeze.adb (Freeze_Entity): When an inherited subprogram is 6386 inherited, has convention C, and has unconstrained array parameters, 6387 place the corresponding warning on the derived type declaration rather 6388 than the original subprogram. 6389 6390 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default 6391 indication on renaming declaration, if formal has a box and actual 6392 is absent. 6393 6394 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to 6395 determine whether to generate an implicit or explicit reference to 6396 the renamed entity. 6397 6398 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a 6399 subprogram renaming comes from a defaulted formal subprogram in an 6400 instance. 6401 64022004-03-25 Gary Dismukes <dismukes@gnat.com> 6403 6404 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default 6405 value expressions to ensure that calls within a component definition 6406 will be checked (since those are evaluated during the record type's 6407 elaboration). 6408 64092004-03-25 Arnaud Charlet <charlet@act-europe.fr> 6410 6411 * s-tpobop.adb: Code clean up: 6412 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated 6413 code. 6414 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call. 6415 64162004-03-25 Jose Ruiz <ruiz@act-europe.fr> 6417 6418 * Makefile.in: Clean up in the ravenscar run time. 6419 64202004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6421 6422 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value 6423 of No_Strict_Aliasing to build_pointer_type_for_mode. 6424 * utils.c (update_pointer_to): Walk pointer and ref chains. 6425 64262004-03-22 Cyrille Comar <comar@act-europe.fr> 6427 6428 * ali.ads: Fix Comment about Dynamic_Elab. 6429 6430 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab, 6431 Has_RACW, Is_Generic, etc.) 6432 (Output_Object, Gnatls): Take into account ALI files not attached to 6433 an object. 6434 64352004-03-22 Vincent Celier <celier@gnat.com> 6436 6437 * gprep.adb: Change all String_Access to Name_Id 6438 (Is_ASCII_Letter): new function 6439 (Double_File_Name_Buffer): New procedure 6440 (Preprocess_Infile_Name): New procedure 6441 (Process_Files): New procedure 6442 (Gnatprep): Check if output and input are existing directories. 6443 Call Process_Files to do the real job. 6444 64452004-03-22 Robert Dewar <dewar@gnat.com> 6446 6447 * prj-env.adb, prj-nmsc.ads, prj-proc.ads, 6448 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting. 6449 64502004-03-22 Sergey Rybin <rybin@act-europe.fr> 6451 6452 * scn.adb (Contains): Add check for EOF, is needed for a degenerated 6453 case when the source contains only comments. 6454 64552004-03-22 Ed Schonberg <schonberg@gnat.com> 6456 6457 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a 6458 declaration for a child subprogram body that acts as a spec, indicate 6459 that the entity in the declaration needs debugging information. 6460 6461 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying 6462 full view if the subtype is created for a constrained record component; 6463 gigi has enough information to construct the record, and there is no 6464 place in the tree for the declaration. 6465 6466 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without 6467 serial number for the dummy body that is built for analysis, to avoid 6468 inconsistencies in the generation of internal names when compiling 6469 with -gnatN. 6470 64712004-03-22 Thomas Quinot <quinot@act-europe.fr> 6472 6473 * sem_util.adb (Is_Object_Reference): A view conversion denotes an 6474 object. 6475 64762004-03-22 GNAT Script <nobody@gnat.com> 6477 6478 * Make-lang.in: Makefile automatically updated 6479 64802004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6481 6482 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. 6483 * trans.c (tree_transform, emit_index_check): Likewise. 6484 * utils.c (build_template): Likewise. 6485 (max_size, convert): Remove handling of WITH_RECORD_EXPR. 6486 (maybe_unconstrained_array, unchecked_convert): Likewise. 6487 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise. 6488 (build_unary_op): Likewise. 6489 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. 6490 (fill_vms_descriptor): Likewise. 6491 (build_call_alloc_dealloc): Likewise. 6492 ALIGN is unsigned. 6493 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned. 6494 64952004-03-20 Joseph S. Myers <jsm@polyomino.org.uk> 6496 6497 PR other/14630 6498 * gnat_ug.texi: Add info directory category and entry. 6499 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi, 6500 gnat_ug_wnt.texi: Regenerate. 6501 65022004-03-19 Arnaud Charlet <charlet@act-europe.fr> 6503 6504 * ada-tree.h: Update copyright notice. 6505 Minor reformatting. 6506 65072004-03-19 Olivier Hainque <hainque@act-europe.fr> 6508 6509 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions 6510 as regular exception objects and not as mere integers representing the 6511 condition code. The latter approach required some dynamics to mask off 6512 severity bits, which did not fit well into the GCC table based model. 6513 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS 6514 exception data objects. We don't it and it would conflict with the other 6515 external symbol we have to generate for such exceptions. 6516 6517 * trans.c (tree_transform, case N_Exception_Handler): Remove part of 6518 the special code for VMS exceptions, since these are now represented 6519 as regular exceptions objects. 6520 65212004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6522 6523 * decl.c (debug_no_type_hash): Remove. 6524 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it. 6525 * misc.c (LANG_HOOK_HASH_TYPE): Redefine. 6526 65272004-03-19 Laurent Guerby <laurent@guerby.net> 6528 6529 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of 6530 aggregate, allows bootstrap from 3.3 on powerpc-darwin. 6531 65322004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6533 6534 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking. 6535 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise. 6536 (TYPE_RM_SIZE_INT): Directly use type.values. 6537 (TREE_LOOP_ID): Clean up check. 6538 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use 6539 TYPE_VALUES, not TYPE_FIELDS. 6540 * trans.c (convert_with_check): Delay access of bounds of basetype 6541 until sure is numeric. 6542 65432004-03-18 Arnaud Charlet <charlet@act-europe.fr> 6544 6545 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file. 6546 6547 Code clean up: 6548 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb, 6549 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use 6550 Specific.Set instead of direct call to e.g pthread_setspecific. 6551 65522004-03-18 Thomas Quinot <quinot@act-europe.fr> 6553 6554 * adaint.c: Update comments. 6555 6556 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and 6557 GNATLIB_SHARED for FreeBSD. 6558 65592004-03-18 Jose Ruiz <ruiz@act-europe.fr> 6560 6561 * init.c [VxWorks]: Do not fix the stack size for the environment task. 6562 When needed (stack checking) the stack size is retrieved 6563 from the VxWorks kernel. 6564 6565 * Makefile.in: Flag -nostdinc is required when building the run time 6566 for avoiding looking for files in the base compiler. 6567 Add the VxWorks specific version of the package body for 6568 System.Stack_checking.Operations (5zstchop.adb). 6569 6570 * Make-lang.in: Add the object file for 6571 System.Stack_Checking.Operations. 6572 6573 * Makefile.rtl: Add object file for the package 6574 System.Stack_Checking.Operations. 6575 6576 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files. 6577 6578 * s-stache.ads, s-stache.adb: Move the operations related to stack 6579 checking from this package to package System.Stack_Checking.Operations. 6580 This way, stack checking operations are only linked in the final 6581 executable when using the -fstack-check flag. 6582 65832004-03-18 Doug Rupp <rupp@gnat.com> 6584 6585 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads). 6586 Reorganize ifeq's. 6587 6588 * 5qsystem.ads, 5xcrtl.ads: New files. 6589 65902004-03-18 Vincent Celier <celier@gnat.com> 6591 6592 * prj.adb (Reset): Reset hash table Files_Htable 6593 6594 * prj-env.adb (Source_Paths, Object_Paths): New tables. 6595 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace 6596 the procedures Add_To_Path_File. 6597 (Set_Ada_Paths): Accumulate source and object dirs in the tables, 6598 making sure that each directory is present only once and, for object 6599 dirs, when a directory already present is added, the duplicate is 6600 removed and the directory is always put as the last in the table. 6601 Write the path files at the end of these accumulations. 6602 6603 * prj-nmsc.adb (Record_Source): Add source file name in hash table 6604 Files_Htable for all sources. 6605 6606 * prj-proc.adb (Process): Remove restrictions between not directly 6607 related extending projects. 6608 66092004-03-18 Emmanuel Briot <briot@act-europe.fr> 6610 6611 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode. 6612 (Find_Sources): Minor speed optimization. 6613 6614 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New 6615 parameter Trusted_Mode. 6616 66172004-03-18 Sergey Rybin <rybin@act-europe.fr> 6618 6619 * scn.adb (Determine_License): Take into account a degenerated case 6620 when the source contains only comments. 6621 66222004-03-18 Ed Schonberg <schonberg@gnat.com> 6623 6624 * sem_warn.adb (Check_References): For a warning on a selected 6625 component that does not come from source, locate an uninitialized 6626 component of the record type to produce a more precise error message. 6627 66282004-03-15 Jerome Guitton <guitton@act-europe.fr> 6629 6630 * 3zsoccon.ads: Fix multicast options. 6631 6632 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address 6633 in the spec. 6634 66352004-03-15 Robert Dewar <dewar@gnat.com> 6636 6637 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when 6638 pragma used for a private type. 6639 6640 * lib-xref.adb (Generate_Reference): Do not generate warning if 6641 reference is in a different unit from the pragma Unreferenced. 6642 6643 * 5vtpopde.adb: Minor reformatting 6644 Fix casing of To_Task_ID 6645 6646 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing 6647 flag if we have an unchecked conversion to an access type in the same 6648 unit. 6649 66502004-03-15 Geert Bosch <bosch@gnat.com> 6651 6652 * a-ngcoty.adb (Modulus): In alternate formula for large real or 6653 imaginary parts, use Double precision throughout. 6654 6655 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only 6656 we want to be able to compile run-time with -gnata for testing, but 6657 this may also be instantiated in user code that is compiled with -gnata. 6658 66592004-03-15 Olivier Hainque <hainque@act-europe.fr> 6660 6661 * s-stalib.ads (Exception_Code): New type, to represent Import/Export 6662 codes. Having a separate type for this is useful to enforce consistency 6663 throughout the various run-time units. 6664 (Exception_Data): Use Exception_Code for Import_Code. 6665 6666 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of 6667 Natural and Integer in various places. 6668 (Register_VMS_Exception): Use Base_Code_In to compute the exception code 6669 with the severity bits masked off. 6670 (Register_VMS_Exception): Handle the additional exception data pointer 6671 argument. 6672 6673 * raise.c (_GNAT_Exception structure): Remove the handled_by_others 6674 component, now reflected by an exported accessor. 6675 (is_handled_by): New routine to compute whether the propagated 6676 occurrence matches some handler choice specification. Extracted out of 6677 get_action_description_for, and expanded to take care of the VMS 6678 specifities. 6679 (get_action_description_for): Use is_handled_by instead of an explicit 6680 complex condition to decide if the current choice at hand catches the 6681 propagated occurrence. 6682 6683 * raise.h (Exception_Code): New type for C. 6684 6685 * rtsfind.ads (RE_Id, RE_Unit_Table): Add 6686 System.Standard_Library.Exception_Code, to allow references from the 6687 pragma import/export expander. 6688 6689 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For): 6690 New accessors to allow easy access to GNAT exception data 6691 characteristics. 6692 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the 6693 redundant Handled_By_Others component, helper for the personality 6694 routine which will now be able to call the appropriate exception data 6695 accessor instead. 6696 6697 * cstand.adb (Create_Standard): Adjust the type of the Import_Code 6698 component of Standard_Exception_Type to be the closest possible to 6699 Exception_Code in System.Standard_Library, that we cannot get at this 6700 point. Expand a ??? comment to notify that this type node should 6701 probably be rewritten later on. 6702 6703 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the 6704 registration call to include a pointer to the exception object in the 6705 arguments. 6706 6707 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In 6708 instead of int and explicit bitmasks. 6709 67102004-03-15 Vincent Celier <celier@gnat.com> 6711 6712 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED 6713 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED. 6714 6715 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no 6716 longer needed now that it is in the spec of 6717 System.Tasking.Task_Attributes. 6718 6719 * adaint.h, adaint.c: (__gnat_create_output_file): New function 6720 6721 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of = 6722 6723 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function. 6724 6725 * make.adb (Gnatmake): Do not check the executable suffix; it is being 6726 taken care of in Scan_Make_Arg. 6727 (Scan_Make_Arg): Add the executable suffix only if the argument 6728 following -o, in canonical case, does not end with the executable 6729 suffix. When in verbose mode and executable file name does not end 6730 with executable suffix, output the executable name, in canonical case. 6731 6732 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing 6733 to avoid warnings when instantiating Ada.Task_Attributes. 6734 Minor reformating. 6735 6736 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries 6737 in the correct order. 6738 6739 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but 6740 redirect standard output and error to a file for the invocation of the 6741 compiler, then read the file. 6742 6743 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each 6744 directory, instead of the Value. 6745 (Find_Source_Dirs): Remove useless code & comments. 6746 67472004-03-15 Ed Schonberg <schonberg@gnat.com> 6748 6749 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a 6750 tagged type is inherited, and the parent operation is not frozen yet, 6751 force generation of a freeze node for the inherited operation, so the 6752 corresponding dispatch entry is properly initialized. 6753 (Make_Predefined_Primitive_Specs): Check that return type is Boolean 6754 when looking for user-defined equality operation. 6755 6756 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is 6757 boolean when locating primitive equality of tagged component. 6758 6759 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a 6760 bit-aligned field and the right-hand side a string literal, introduce 6761 a temporary before expanding assignment into a loop. 6762 6763 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for 6764 priority in full, to ensure that any expanded subepxressions of it are 6765 elaborated in the scope of the init_proc. 6766 6767 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call 6768 after object declaration, skipping over code that may have been 6769 generated for validity checks. 6770 6771 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown 6772 discriminants, ignore the known discriminants of its full view, if 6773 any, to check legality. 6774 6775 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained 6776 component if type has unknown discriminants. 6777 (Analyze_Private_Extension_Declaration): Discriminant constraint is 6778 null if type has unknown discriminants. 6779 6780 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference 6781 for end label when present. 6782 6783 * s-fileio.adb (Open): When called with a C_Stream, use given name for 6784 temporary file, rather than an empty string. 6785 67862004-03-15 Ed Falis <falis@gnat.com> 6787 6788 * s-thread.adb: Removed, no longer used. 6789 67902004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6791 6792 * decl.c (target.h): Now include. 6793 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE 6794 in new build_pointer_from_mode calls for non-fat/non-thin pointer. 6795 (validate_size): For POINTER_TYPE, get smallest size permitted on 6796 machine. 6797 6798 * fe.h: Sort Einfo decls and add Set_Mechanism. 6799 6800 * Makefile.in: (LIBGNAT_SRCS): Remove types.h. 6801 (ada/decl.o): Depends on target.h. 6802 6803 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use 6804 FUNCTION_BOUNDARY; always use TYPE_ALIGN. 6805 68062004-03-15 Thomas Quinot <quinot@act-europe.fr> 6807 6808 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID. 6809 6810 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call 6811 Insert_Dereference_Action when rewriting an implicit dereference into 6812 an explicit one, this will be taken care of during expansion of the 6813 explicit dereference. 6814 (Expand_N_Slice): Same. Always do the rewriting, even for the case 6815 of non-packed slices, since the dereference action generated by 6816 expansion of the explicit dereference is needed in any case. 6817 (Expand_N_Selected_Component): When rewriting an implicit dereference, 6818 analyze and resolve the rewritten explicit dereference so it is seen 6819 by the expander. 6820 (Insert_Dereference_Action): This procedure is now called only for the 6821 expansion of an N_Explcit_Dereference_Node. Do insert a check even for 6822 dereferences that do not come from source (including explicit 6823 dereferences resulting from rewriting implicit ones), but do not 6824 recursively insert a check for the dereference nodes contained within 6825 the check. 6826 (Insert_Dereference_Action): Clarify and correct comment. 6827 68282004-03-08 Paolo Bonzini <bonzini@gnu.org> 6829 6830 PR ada/14131 6831 Move language detection to the top level. 6832 * config-lang.in: Build by default. 6833 68342004-03-05 Robert Dewar <dewar@gnat.com> 6835 6836 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions 6837 6838 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads, 6839 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads, 6840 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb, 6841 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move 6842 unchecked conversion to spec to avoid warnings. 6843 6844 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id 6845 to Task_ID 6846 6847 * 7stpopsp.adb: Correct casing in To_Task_ID call 6848 6849 * a-strsea.ads, a-strsea.adb: Minor reformatting 6850 6851 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing 6852 6853 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING. 6854 Adjust Max_Msg_Length to be clearly large enough. 6855 6856 * fe.h: Define In_Same_Source_Unit 6857 6858 * osint.adb: Add pragma Warnings Off to suppress warnings 6859 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill 6860 aliasing warnings. 6861 6862 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing 6863 6864 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma 6865 6866 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc. 6867 6868 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set. 6869 6870 * sem_prag.adb: Implement pragma No_Strict_Aliasing. 6871 6872 * sinfo.ads: Remove obsolete comment on validate unchecked conversion 6873 node. We now do generate them for gcc back end. 6874 6875 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing 6876 warning. 6877 6878 * sinput-c.adb: Fix bad name in header. 6879 Add pragma Warnings Off to suppress aliasing warning. 6880 6881 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning. 6882 6883 * snames.h, snames.ads, snames.adb: Add entry for pragma 6884 No_Strict_Aliasing. 6885 68862004-03-05 Vincent Celier <celier@gnat.com> 6887 6888 * prj-com.ads: Add hash table Files_Htable to check when a file name 6889 is already a source of another project. 6890 6891 * prj-nmsc.adb (Record_Source): Before recording a new source, check 6892 if its file name is not already a source of another project. Report an 6893 error if it is. 6894 6895 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no 6896 source file name, call gnatpp with all the sources of the main project. 6897 6898 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number 6899 of file names. 6900 6901 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword 6902 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY: 6903 /RUNTIME_SYSTEM=, converted to --RTS= 6904 /NOTABS, converted to -notabs 6905 69062004-03-05 Pascal Obry <obry@gnat.com> 6907 6908 * make.adb: Minor reformatting. 6909 69102004-03-05 Ed Schonberg <schonberg@gnat.com> 6911 6912 Part of implemention of AI-262. 6913 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses. 6914 6915 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New 6916 procedure. 6917 6918 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message 6919 when component type is a partially constrained class-wide subtype. 6920 (Constrain_Discriminated_Type): If parent type has unknown 6921 discriminants, a constraint is illegal, even if full view has 6922 discriminants. 6923 (Build_Derived_Record_Type): Inherit discriminants when deriving a type 6924 with unknown discriminants whose full view is a discriminated record. 6925 6926 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants 6927 flag, to handle properly derivations of tagged types with unknown 6928 discriminants. 6929 (Analyze_Package_Spec, Analyze_Package_Body): Install 6930 Private_With_Clauses before analyzing private part or body. 6931 6932 * einfo.ads: Indicate that both Has_Unknown_Discriminants and 6933 Has_Discriminants can be true for a given type (documentation). 6934 69352004-03-05 Arnaud Charlet <charlet@act-europe.fr> 6936 6937 * s-restri.ads: Fix license (GPL->GMGPL). 6938 6939 * s-tassta.adb: Minor reformatting. 6940 6941 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level 6942 by calls to Exit_One_ATC_Level, since additional clean up is performed 6943 by this function. 6944 6945 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level 6946 by calls to Exit_One_ATC_Level, since additional clean up is performed 6947 by this function. 6948 69492004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 6950 6951 * trans.c: Reflect GCC changes to fix bootstrap problem. 6952 Add warning for suspicious aliasing unchecked conversion. 6953 69542004-03-05 GNAT Script <nobody@gnat.com> 6955 6956 * Make-lang.in: Makefile automatically updated 6957 69582004-03-02 Emmanuel Briot <briot@act-europe.fr> 6959 6960 * ali.adb (Read_Instantiation_Instance): Do not modify the 6961 current_file_num when reading information about instantiations, since 6962 this corrupts files in later references. 6963 69642004-03-02 Vincent Celier <celier@gnat.com> 6965 6966 * bcheck.adb (Check_Consistency): Get the full path of an ALI file 6967 before checking if it is read-only. 6968 6969 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front 6970 of SRC_DIRS and eliminate duplicates. 6971 6972 * gprcmd.adb: Replace command "path" with command "path_sep" to return 6973 the path separator. 6974 (Usage): Document path_sep 6975 6976 * Makefile.generic: For Ada and GNU C++ cases, link directly with the 6977 C++ compiler. No need for a script. 6978 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH. 6979 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function 6980 subst. 6981 6982 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project 6983 where there are Ada sources. 6984 (Set_Ada_Paths): Only add to the include path the source dirs of project 6985 with Ada sources. 6986 (Add_To_Path): Add the Display_Values of the directories, not their 6987 Values. 6988 6989 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project 6990 data. 6991 6992 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value 6993 is not No_Name. 6994 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only 6995 Value is canonicalized. 6996 (Language_Independent_Check): Do not copy Value to Display_Value when 6997 canonicalizing Value. 6998 6999 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased 7000 path to find limited with cycles. 7001 (Parse_Single_Project): Use canonical cased path to find the end of a 7002 with cycle. 7003 70042004-03-02 Ed Schonberg <schonberg@gnat.com> 7005 7006 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit 7007 and not a child unit. 7008 7009 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can 7010 appear in a with_clause. 7011 7012 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can 7013 only happen in type_annotate mode, do not try to elaborate it. 7014 7015 * exp_util.adb (Force_Evaluation): If expression is a selected 7016 component on the left of an assignment, use a renaming rather than a 7017 temporary to remove side effects. 7018 7019 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an 7020 inlined instance body, which is analyzed before the end of the 7021 enclosing scope. 7022 70232004-03-02 Robert Dewar <dewar@gnat.com> 7024 7025 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb, 7026 sem_ch4.adb: Use new feature for substitution of keywords in VMS 7027 7028 * errout.ads, errout.adb: Implement new circuit for substitution of 7029 keywords in VMS. 7030 7031 * sem_case.adb (Analyze_Choices): Place message properly when case is 7032 a subtype reference rather than an explicit range. 7033 7034 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting 7035 70362004-03-02 Doug Rupp <rupp@gnat.com> 7037 7038 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF. 7039 70402004-03-02 Thomas Quinot <quinot@act-europe.fr> 7041 7042 * s-tporft.adb: Add missing locking around call to Initialize_ATCB. 7043 70442004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7045 7046 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a 7047 BLKmode bitfield. 7048 70492004-02-25 Robert Dewar <dewar@gnat.com> 7050 7051 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads, 7052 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads, 7053 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads, 7054 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads, 7055 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads, 7056 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to 7057 the defining instance of the type to avoid aliasing problems. 7058 Fix copyright header. Fix bad comments in package header. 7059 7060 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting 7061 70622004-02-25 Ed Schonberg <schonberg@gnat.com> 7063 7064 * exp_ch2.adb (Param_Entity): Handle properly formals that have been 7065 rewritten as references when aliased through an address clause. 7066 7067 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking 7068 whether call can be interpreted as an indirect call to the result of a 7069 parameterless function call returning an access subprogram. 7070 70712004-02-25 Arnaud Charlet <charlet@act-europe.fr> 7072 7073 Code clean up: 7074 * exp_ch7.adb (Make_Clean): Remove generation of calls to 7075 Unlock[_Entries], since this is now done by Service_Entries directly. 7076 7077 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto. 7078 7079 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure 7080 Requeue_Call for better code readability. Change spec and update calls: 7081 PO_Service_Entries now unlock the PO on exit. 7082 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to 7083 PO_Service_Entries. 7084 7085 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit. 7086 7087 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries. 7088 70892004-02-25 Sergey Rybin <rybin@act-europe.fr> 7090 7091 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the 7092 protected subprogram call and analyzing the result of such expanding 7093 in case when the called protected subprogram is eliminated. 7094 7095 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope 7096 names. 7097 70982004-02-25 Jerome Guitton <guitton@act-europe.fr> 7099 7100 * Makefile.in: Clean ups. 7101 71022004-02-23 Ed Schonberg <schonberg@gnat.com> 7103 7104 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create 7105 protected operations if original subprogram is flagged as eliminated. 7106 (Expand_N_Subprogram_Body): For a protected operation, create 7107 discriminals for next operation before checking whether the operation 7108 is eliminated. 7109 7110 * exp_ch9.adb (Expand_N_Protected_Body, 7111 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies 7112 for internal protected operations if the original subprogram is 7113 eliminated. 7114 7115 * sem_elim.adb (Check_Eliminated): Handle properly protected operations 7116 declared in a single protected object. 7117 71182004-02-23 Vincent Celier <celier@gnat.com> 7119 7120 * prj-attr.adb: Make attribute Builder'Executable an associative array, 7121 case insensitive if file names are case insensitive, instead of a 7122 standard associative array. 7123 7124 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set 7125 them as case insensitive on platforms where the file names are case 7126 sensitive. 7127 7128 * prj-part.adb (Parse_Single_Project): Make sure, when checking if 7129 project file has already been parsed that canonical path are compared. 7130 71312004-02-23 Robert Dewar <dewar@gnat.com> 7132 7133 * sinput-c.ads: Correct bad unit title in header 7134 7135 * freeze.adb: Minor reformatting 7136 71372004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7138 7139 * trans.c (tree_transform, case N_Procedure_Call_Statement): For 7140 nonaddressable COMPONENT_REF that is removing padding that we are 7141 taking the address of, take the address of the padded record instead 7142 if item is variable size. 7143 71442004-02-20 Robert Dewar <dewar@gnat.com> 7145 7146 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting 7147 71482004-02-20 Ed Schonberg <schonberg@gnat.com> 7149 7150 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates 7151 itype references for the constrained designated type of a component 7152 whose base type is already frozen. 7153 71542004-02-20 Arnaud Charlet <charlet@act-europe.fr> 7155 7156 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to 7157 avoid GCC warnings. 7158 71592004-02-20 Sergey Rybin <rybin@act-europe.fr> 7160 7161 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining 7162 identifier for a phantom package that rewrites the formal package 7163 declaration with a box. The Add semantic decorations for the defining 7164 identifier from the original node (that represents the formal package). 7165 71662004-02-19 Matt Kraai <kraai@alumni.cmu.edu> 7167 7168 * Make-lang.in (ada/stamp-sdefault): Use the top level 7169 move-if-change. 7170 71712004-02-19 Richard Henderson <rth@redhat.com> 7172 7173 * misc.c (record_code_position): Add third build arg for RTL_EXPR. 7174 71752004-02-18 Emmanuel Briot <briot@act-europe.fr> 7176 7177 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that 7178 Scan_ALI can be used for multiple ALI files without reinitializing 7179 between calls. 7180 71812004-02-18 Robert Dewar <dewar@gnat.com> 7182 7183 * debug.adb: Minor reformatting. 7184 71852004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7186 7187 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET 7188 to zero if there is an address clause. 7189 71902004-02-18 Thomas Quinot <quinot@act-europe.fr> 7191 7192 * exp_util.adb (Side_Effect_Free): Any literal is side effects free. 7193 71942004-02-18 Gary Dismukes <dismukes@gnat.com> 7195 7196 * layout.adb (Layout_Component_List): Revise generation of call to 7197 discriminant-checking function to pass selections of all of the type's 7198 discriminants rather than just the variant-controlling discriminant. 7199 72002004-02-18 Olivier Hainque <hainque@act-europe.fr> 7201 7202 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to 7203 fail in the current setup and triggers spurious system error messages. 7204 Pretend it occurred and failed instead. 7205 72062004-02-18 Vincent Celier <celier@gnat.com> 7207 7208 * bld.adb: Mark FLDFLAGS as saved 7209 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when 7210 it is not the root project. Put each directory to be 7211 extended between double quotes to prevent it to be expanded on Windows. 7212 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing 7213 the project file. Set them back to their initial values if they have not 7214 been set in the project file. 7215 7216 * gprcmd.adb: (Gprdebug, Debug): New global variables 7217 (Display_Command): New procedure 7218 (Usage): Document new command "linkopts" 7219 Call Display_Command when env var GPRDEBUG has the value "TRUE" 7220 Implement new command "linkopts" 7221 Remove quotes that may be around arguments for "extend" 7222 Always call Normalize_Pathname with arguments formatted for the platform 7223 7224 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS) 7225 Change @echo to @$(display) in target clean to be able to clean silently 7226 7227 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value 7228 7229 * prj-part.adb (Project_Path_Name_Of): Do not put final result in 7230 canonical case. 7231 7232 * prj-part.adb (Parse_Single_Project): Always call with From_Extended 7233 = Extending_All when current project is an extending all project. 7234 7235 * vms_conv.adb (Output_File_Expected): New Boolean global variable, 7236 set to True only for LINK command, after Unix switch -o. 7237 (Process_Arguments): Set Output_File_Expected to True for LINK command 7238 after Unix switch -o. When Output_File_Expected is True, never add an 7239 extension to a file name. 7240 7241 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the 7242 option file name, only to the --for-linker= switch. 7243 (Option_File_Name): If option file name do not end with ".opt", append 7244 "/OPTIONS". 7245 72462004-02-18 GNAT Script <nobody@gnat.com> 7247 7248 * Make-lang.in: Makefile automatically updated 7249 72502004-02-17 Matt Kraai <kraai@alumni.cmu.edu> 7251 7252 * Make-lang.in (stamp-sdefault): Do not depend on 7253 move-if-change. 7254 72552004-02-12 Zack Weinberg <zack@codesourcery.com> 7256 7257 * config-lang.in: Disable Ada by default until probe logic for 7258 a bootstrap Ada compiler can be moved to the top level configure 7259 script. 7260 72612004-02-12 Olivier Hainque <hainque@act-europe.fr> 7262 7263 * decl.c (components_to_record): Don't claim that the internal fields 7264 we make to hold the variant parts are semantically addressable, because 7265 they are not. 7266 7267 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and 7268 adjust the comment describing the modular type form when we can use it. 7269 (Install_PAT): Account for the Esiz renaming. 7270 7271 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the 7272 sc_onstack context indication before raising the exception to which 7273 the signal is mapped. Allows better handling of later signals possibly 7274 triggered by the resumed user code if the exception is handled. 7275 72762004-02-12 Arnaud Charlet <charlet@act-europe.fr> 7277 7278 * 5zinit.adb: Removed, no longer used. 7279 72802004-02-12 Robert Dewar <dewar@gnat.com> 7281 7282 * ali.adb: Remove separating space between parameters on R line. Makes 7283 format consistent with format used by the binder for Set_Globals call. 7284 7285 * atree.ads, atree.adb: Minor reformatting (new function header format) 7286 7287 * bindgen.adb: Add Run-Time Globals documentation section containing 7288 detailed documentation of the globals passed from the binder file to 7289 the run time. 7290 7291 * gnatls.adb: Minor reformatting 7292 7293 * init.c (__gnat_set_globals): Add note pointing to documentation in 7294 bindgen. 7295 7296 * lib-writ.ads, lib-writ.adb: Remove separating space between 7297 parameters on R line. 7298 Makes format consistent with format used by the binder for Set_Globals 7299 call. 7300 7301 * osint.ads: Add 2004 to copyright notice 7302 Minor reformatting 7303 7304 * snames.ads: Correct capitalization of FIFO_Within_Priorities 7305 Noticed during code reading, documentation issue only 7306 7307 * usage.adb: Remove junk line for obsolete C switch 7308 Noticed during code reading 7309 73102004-02-12 Vincent Celier <celier@gnat.com> 7311 7312 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd 7313 extend for each directory, so that multiple /** directories are 7314 extended individually. 7315 (Recursive_Process): Set the default for LANGUAGES to ada 7316 7317 * gprcmd.adb: Define new command "ignore", to do nothing. 7318 Implement new comment "path". 7319 7320 * Makefile.generic: Suppress output when SILENT is set 7321 Make sure that when compiler for C/C++ is gcc, the correct -x switch is 7322 used, so that the correct compiler is invoked. 7323 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/ 7324 CXX_INCLUDE_PATH, to avoid failure with too long command lines. 7325 73262004-02-12 Jerome Guitton <guitton@act-europe.fr> 7327 7328 * Makefile.in: Clean ups and remove obsolete targets. 7329 73302004-02-12 Ed Schonberg <schonberg@gnat.com> 7331 7332 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar 7333 predicate declared in exp_util. 7334 7335 * exp_util.adb: Add comments. 7336 7337 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from 7338 visibility before compiling context of the subunit. 7339 7340 * sem_res.adb (Check_Parameterless_Call): If the context expects a 7341 value but the name is a procedure, do not attempt to analyze as a call, 7342 in order to obtain more telling diagnostics. 7343 7344 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing 7345 'Access on parameterless function calls. 7346 (Normalize_Actuals): For a parameterless function call with missing 7347 actuals, defer diagnostic until resolution of enclosing call. 7348 7349 * sem_util.adb (Wrong_Type): If the context type is an access to 7350 subprogram and the expression is a procedure name, suggest a missing 7351 'attribute. 7352 73532004-02-10 Arnaud Charlet <charlet@act-europe.fr>, 7354 Nathanael Nerode <neroden@gcc.gnu.org> 7355 7356 PR ada/6637 7357 PR ada/5911 7358 Merge with libada-branch: 7359 * config-lang.in: Build libada only when ada is built. 7360 73612004-02-09 Ed Schonberg <schonberg@gnat.com> 7362 7363 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality 7364 for a tagged type, verify that both formals have the same type. 7365 7366 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the 7367 temporary when the formal is an in-parameter and the actual a possibly 7368 unaligned slice. 7369 7370 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even 7371 when expansion is disabled, to ensure proper name capture with 7372 overloaded literals. Condition can be of any boolean type, resolve 7373 accordingly. 7374 7375 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the 7376 renaming is for a formal subprogram with a default operator name, and 7377 there is a usable operator that is visible at the point of 7378 instantiation. 7379 73802004-02-09 Robert Dewar <dewar@gnat.com> 7381 7382 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major 7383 rewrite to ignore errors in ali files, intended to allow tools downward 7384 compatibility with new versions of ali files. 7385 7386 * ali.ads: Add new parameter Ignore_Errors 7387 7388 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes 7389 duplicating the error message giving the file with restrictions. 7390 7391 * debug.adb: Add debug flag I for gnatbind 7392 7393 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around 7394 operators for the case where the operator is a defining operator. 7395 7396 * exp_ch3.adb: Minor reformatting (new function spec format). 7397 7398 * exp_ch4.adb: Add comment for previous change, and make minor 7399 adjustment to loop to always check for improper loop termination. 7400 Minor reformatting throughout (new function spec format). 7401 7402 * gnatbind.adb: Implement -di debug flag for gnatbind 7403 7404 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True 7405 7406 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True 7407 7408 * lib-load.adb: Fix bad assertion. 7409 Found by testing and code reading. 7410 Minor reformatting. 7411 7412 * lib-load.ads: Minor reformatting. 7413 7414 * lib-writ.adb: There is only one R line now. 7415 7416 * lib-writ.ads: Add documentation on making downward compatible changes 7417 to ali files so old tools work with new ali files. 7418 There is only one R line now. 7419 Add documentation on format incompatibilities (with special GPS note) 7420 7421 * namet.ads, namet.adb: (Is_Operator_Name): New procedure 7422 7423 * par-load.adb: Minor reformatting 7424 7425 * sem_ch8.adb: Fix to error message from last update 7426 Minor reformatting and restructuring of code from last update 7427 7428 * par-prag.adb, snames.adb, snames.ads, snames.h, 7429 sem_prag.adb: Implement pragma Profile. 7430 7431 * stylesw.adb: Implement -gnatyN switch to turn off all style check 7432 options. 7433 7434 * usage.adb: Add line for -gnatyN switch 7435 7436 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN 7437 74382004-02-09 Albert Lee <lee@gnat.com> 7439 7440 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX 7441 74422004-02-09 Ed Schonberg <schonberg@gnat.com> 7443 7444 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null 7445 slices. 7446 7447 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram 7448 is nested in an instance that is not frozen yet, to avoid 7449 order-of-elaboration problems in gigi. 7450 7451 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined 7452 body the attribute is legal. 7453 74542004-02-09 Robert Dewar <dewar@gnat.com> 7455 7456 * s-rident.ads: Minor comment correction 7457 7458 * targparm.adb: Remove dependence on uintp completely. There was 7459 always a bug in Make in that it called Targparm before initializing 7460 the Uint package. The old code appeared to get away with this, but 7461 the new code did not! This caused an assertion error in gnatmake. 7462 7463 * targparm.ads: Fix bad comment, restriction pragmas with parameters 7464 are indeed fully supported. 7465 74662004-02-06 Alan Modra <amodra@bigpond.net.au> 7467 7468 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call. 7469 74702004-02-05 Kazu Hirata <kazu@cs.umass.edu> 7471 7472 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES 7473 with targetm.calls.promote_prototypes. 7474 74752004-02-04 Robert Dewar <dewar@gnat.com> 7476 7477 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb, 7478 ali.ads, gprcmd.adb: Minor reformatting 7479 7480 * bindgen.adb: Output restrictions string for new style restrictions 7481 handling 7482 7483 * impunit.adb: Add s-rident.ads (System.Rident) and 7484 s-restri (System.Restrictions) 7485 7486 * lib-writ.adb: Fix bug in writing restrictions string (last few 7487 entries wrong) 7488 7489 * s-restri.ads, s-restri.adb: Change name Restrictions to 7490 Run_Time_Restrictions to avoid conflict with package name. 7491 Add circuit to read and acquire run time restrictions. 7492 74932004-02-04 Jose Ruiz <ruiz@act-europe.fr> 7494 7495 * restrict.ads, restrict.adb: Use the new restriction 7496 No_Task_Attributes_Package instead of the old No_Task_Attributes. 7497 7498 * sem_prag.adb: No_Task_Attributes is a synonym of 7499 No_Task_Attributes_Package. 7500 7501 * snames.ads, snames.adb: New entry for proper handling of 7502 No_Task_Attributes. 7503 7504 * s-rident.ads: Adding restriction No_Task_Attributes_Package 7505 (AI-00249) that supersedes the GNAT specific restriction 7506 No_Task_Attributes. 7507 75082004-02-04 Ed Schonberg <schonberg@gnat.com> 7509 7510 * sem_prag.adb: 7511 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance 7512 body, an identifier may be wrapped in an unchecked conversion. 7513 75142004-02-04 Vincent Celier <celier@gnat.com> 7515 7516 * lib-writ.ads: Comment update for the W lines 7517 7518 * bld.adb: (Expression): An empty string list is static 7519 7520 * fname-uf.adb: Minor comment update 7521 7522 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail 7523 7524 * gnatbind.adb: Initialize Cumulative_Restrictions with the 7525 restrictions on the target. 7526 75272004-02-03 Kazu Hirata <kazu@cs.umass.edu> 7528 7529 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of 7530 gen_rtx. 7531 75322004-02-02 Arnaud Charlet <charlet@gnat.com> 7533 7534 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded. 7535 75362004-02-02 Vincent Celier <celier@gnat.com> 7537 7538 * gprcmd.adb (Check_Args): If condition is false, print the invoked 7539 comment before the usage. 7540 Gprcmd: Fail when command is not recognized. 7541 (Usage): Document command "prefix" 7542 7543 * g-md5.adb (Digest): Process last block. 7544 (Update): Do not process last block. Store remaining characters and 7545 length in Context. 7546 7547 * g-md5.ads (Update): Document that several call to update are 7548 equivalent to one call with the concatenated string. 7549 (Context): Add fields to allow new Update behaviour. 7550 7551 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail, 7552 defaulted to False. 7553 When May_Fail is True and no existing file can be found, return No_File. 7554 7555 * 6vcstrea.adb: Inlined functions are now wrappers to implementation 7556 functions. 7557 7558 * lib-writ.adb (Write_With_Lines): When body file does not exist, use 7559 spec file name instead on the W line. 7560 75612004-02-02 Robert Dewar <dewar@gnat.com> 7562 7563 * ali.adb: Read and acquire info from new format restrictions lines 7564 7565 * bcheck.adb: Add circuits for checking restrictions with parameters 7566 7567 * bindgen.adb: Output dummy restrictions data 7568 To be changed later 7569 7570 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, 7571 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb, 7572 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb, 7573 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb, 7574 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling. 7575 7576 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses 7577 the warning message on access to possibly uninitialized variable S) 7578 Minor changes for new restrictions handling. 7579 7580 * gnatbind.adb: Minor reformatting 7581 Minor changes for new restrictions handling 7582 Move circuit for -r processing here from bcheck (cleaner) 7583 7584 * gnatcmd.adb, gnatlink.adb: Minor reformatting 7585 7586 * lib-writ.adb: Output new format restrictions lines 7587 7588 * lib-writ.ads: Document new R format lines for new restrictions 7589 handling. 7590 7591 * s-restri.ads/adb: New files 7592 7593 * Makefile.rtl: Add entry for s-restri.ads/adb 7594 7595 * par-ch3.adb: Fix bad error messages starting with upper case letter 7596 Minor reformatting 7597 7598 * restrict.adb: Major rewrite throughout for new restrictions handling 7599 Major point is to handle restrictions with parameters 7600 7601 * restrict.ads: Major changes in interface to handle restrictions with 7602 parameters. Also generally simplifies setting of restrictions. 7603 7604 * snames.ads/adb: New entry for proper handling of No_Requeue 7605 7606 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks 7607 restriction counting. 7608 Other minor changes for new restrictions handling 7609 7610 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements. 7611 Restriction_Warnings now allows full parameter notation 7612 Major rewrite of Restrictions for new restrictions handling 7613 76142004-02-02 Javier Miranda <miranda@gnat.com> 7615 7616 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y 7617 syntax rule for object renaming declarations. 7618 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for 7619 component definitions. 7620 7621 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access 7622 components. 7623 (Array_Type_Declaration): Give support to access components. In addition 7624 it was also modified to reflect the name of the object in anonymous 7625 array types. The old code did not take into account that it is possible 7626 to have an unconstrained anonymous array with an initial value. 7627 (Check_Or_Process_Discriminants): Allow access discriminant in 7628 non-limited types. 7629 (Process_Discriminants): Allow access discriminant in non-limited types 7630 Initialize the new Access_Definition field in N_Object_Renaming_Decl 7631 node. Change Ada0Y to Ada 0Y in comments 7632 7633 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in 7634 equality operators. 7635 Change Ada0Y to Ada 0Y in comments 7636 7637 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access 7638 renamings Change Ada0Y to Ada 0Y in comments 7639 7640 * sem_type.adb (Find_Unique_Type): Give support to the equality 7641 operators for universal access types 7642 Change Ada0Y to Ada 0Y in comments 7643 7644 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms 7645 7646 * sinfo.ads (N_Component_Definition): Addition of Access_Definition 7647 field. 7648 (N_Object_Renaming_Declaration): Addition of Access_Definition field 7649 Change Ada0Y to Ada 0Y in comments 7650 7651 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for 7652 component definition and object renaming nodes 7653 Change Ada0Y to Ada 0Y in comments 7654 76552004-02-02 Jose Ruiz <ruiz@act-europe.fr> 7656 7657 * restrict.adb: Use the new restriction identifier 7658 No_Requeue_Statements instead of the old No_Requeue for defining the 7659 restricted profile. 7660 7661 * sem_ch9.adb (Analyze_Requeue): Check the new restriction 7662 No_Requeue_Statements. 7663 7664 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249) 7665 that supersedes the GNAT specific restriction No_Requeue. The later is 7666 kept for backward compatibility. 7667 76682004-02-02 Ed Schonberg <schonberg@gnat.com> 7669 7670 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads, 7671 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant 7672 pragma and fix incorrect ones. 7673 7674 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a 7675 warning if the pragma is redundant. 7676 76772004-02-02 Thomas Quinot <quinot@act-europe.fr> 7678 7679 * 5staprop.adb: Add missing 'constant' keywords. 7680 7681 * Makefile.in: use consistent value for SYMLIB on 7682 platforms where libaddr2line is supported. 7683 76842004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7685 7686 * utils.c (end_subprog_body): Do not call rest_of_compilation if just 7687 annotating types. 7688 76892004-02-02 Olivier Hainque <hainque@act-europe.fr> 7690 7691 * init.c (__gnat_install_handler): Setup an alternate stack for signal 7692 handlers in the environment thread. This allows proper propagation of 7693 an exception on stack overflows in this thread even when the builtin 7694 ABI stack-checking scheme is used without support for a stack reserve 7695 region. 7696 7697 * utils.c (create_field_decl): Augment the head comment about bitfield 7698 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P 7699 here, because the former is not accurate enough at this point. 7700 Let finish_record_type decide instead. 7701 Don't make a bitfield if the field is to be addressable. 7702 Always set a size for the field if the record is packed, to ensure the 7703 checks for bitfield creation are triggered. 7704 (finish_record_type): During last pass over the fields, clear 7705 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is 7706 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P 7707 from DECL_BIT_FIELD. 7708 77092004-01-30 Kelley Cook <kcook@gcc.gnu.org> 7710 7711 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir). 7712 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise. 7713 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise. 7714 77152004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7716 7717 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB. 7718 7719 * 5fsystem.ads (Functions_Return_By_DSP): Set to False. 7720 (ZCX_By_Default): Likewise. 7721 (Front_End_ZCX_Support): Likewise. 7722 7723 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced. 7724 (Initialize_Lock): Mark Level unreferenced. 7725 (Sleep): Mark Reason unreferenced. 7726 (Timed_Sleep): Likewise. 7727 (Wakeup): Likewise. 7728 (Exit_Task): Use Result. 7729 (Check_No_Locks): Mark Self_ID unreferenced. 7730 7731 * 5gtasinf.adb (New_Sproc): Make Attr constant. 7732 (Bound_Thread_Attributes): Make Sproc constant. 7733 (New_Bound_Thread_Attributes): Likewise. 7734 77352004-01-26 Ed Schonberg <schonberg@gnat.com> 7736 7737 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for 7738 one-dimensional array an slice assignments, when component type is 7739 controlled. 7740 7741 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional, 7742 component type is controlled, and control_actions are in effect, use 7743 TSS procedure rather than generating inline code. 7744 7745 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional 7746 arrays with controlled components. 7747 77482004-01-26 Vincent Celier <celier@gnat.com> 7749 7750 * gnatcmd.adb (GNATCmd): Add specification of argument file on the 7751 command line for the non VMS case. 7752 7753 * gnatlink.adb (Process_Binder_File): When building object file, if 7754 GNU linker is used, put all object paths between quotes, to prevent ld 7755 error when there are unusual characters (such as '!') in the paths. 7756 7757 * Makefile.generic: When there are sources in Ada and the main is in 7758 C/C++, invoke gnatmake with -B, instead of -z. 7759 7760 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted 7761 from VMS_Conversion. 7762 (Process_Argument): New procedure, extracted from VMS_Conversion. Add 7763 specification of argument file on the command line. 7764 77652004-01-26 Bernard Banner <banner@gnat.com> 7766 7767 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64 7768 77692004-01-26 Ed Schonberg <schonberg@gnat.com> 7770 7771 * snames.adb: Update copyright notice. 7772 Add info on slice assignment for controlled arrays. 7773 77742004-01-23 Robert Dewar <dewar@gnat.com> 7775 7776 * exp_aggr.adb: Minor reformatting 7777 7778 * exp_ch9.adb: Minor code clean up 7779 Minor reformatting 7780 Fix bad character in comment 7781 7782 PR ada/13471 7783 * targparm.adb (Get_Target_Parameters): Give clean abort error on 7784 unexpected end of file, along with more detailed message. 7785 77862004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 7787 7788 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of 7789 PAT. 7790 7791 * decl.c (copy_alias_set): New function. 7792 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it. 7793 77942004-01-23 Doug Rupp <rupp@gnat.com> 7795 7796 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to 7797 lib$${file} in case subsequent character is not a separator. 7798 77992004-01-23 Vincent Celier <celier@gnat.com> 7800 7801 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc 7802 when the GCC version is at least 3. 7803 7804 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches 7805 Remove all "Opt.", to prepare for opt split 7806 7807 * prj-part.adb (Parse_Single_Project): New Boolean out parameter 7808 Extends_All. Set to True when the project parsed is an extending all 7809 project. Fails for importing an extending all project only when the 7810 imported project is an extending all project. 7811 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause, 7812 depending on the value of Extends_All returned. 7813 7814 * prj-proc.adb (Process): Check that no project shares its object 7815 directory with a project that extends it, directly or indirectly, 7816 including a virtual project. 7817 Check that no project extended by another project shares its object 7818 directory with another also extended project. 7819 7820 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for 7821 Kind = N_With_Clause 7822 7823 * prj-tree.ads: Minor reformatting 7824 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All). 7825 78262004-01-23 Ed Schonberg <schonberg@gnat.com> 7827 7828 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute 7829 applies to a type with an incomplete view, use full view in Name of 7830 clause, for consistency with uses of Get_Attribute_Definition_Clause. 7831 78322004-01-23 Arnaud Charlet <charlet@act-europe.fr> 7833 7834 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using 7835 SCHED_RR, since other values are not supported by this policy. 7836 (Initialize): Move initialization of mutex attribute to package 7837 elaboration, to prevent early access to this variable. 7838 7839 * Makefile.in: Remove mention of Makefile.adalib, unused. 7840 7841 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb, 7842 1ssecsta.ads: Removed, unused. 7843 78442004-01-21 Javier Miranda <miranda@gnat.com> 7845 7846 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master 7847 entity if already built in the current scope. 7848 7849 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity 7850 reminder in internal scopes. Required for nested limited aggregates. 7851 78522004-01-21 Doug Rupp <rupp@gnat.com> 7853 7854 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on 7855 VMS. Replace all occurences of libgnat- and libgnarl- with 7856 libgnat$(hyphen) and libgnarl$(hyphen). 7857 Fixed shared library build problem on VMS. 7858 78592004-01-21 Robert Dewar <dewar@gnat.com> 7860 7861 * mlib-prj.adb: Minor reformatting 7862 78632004-01-21 Thomas Quinot <quinot@act-europe.fr> 7864 7865 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing 7866 'constant' keywords for declaration of pointers that are not modified. 7867 7868 * exp_pakd.adb: Fix English in comment. 7869 78702004-01-21 Ed Schonberg <schonberg@gnat.com> 7871 7872 PR ada/10889 7873 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype, 7874 copy all attributes of the parent, including the foreign language 7875 convention. 7876 78772004-01-21 Sergey Rybin <rybin@act-europe.fr> 7878 7879 PR ada/10565 7880 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check 7881 for 'delay until' statement. 7882 78832004-01-20 Kelley Cook <kcook@gcc.gnu.org> 7884 7885 * Make-lang.in: Replace $(docdir) with doc. 7886 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info 7887 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update 7888 to use consistent MAKEINFO rule. 7889 (ada.man, ada.srcman): Dummy entry. 7890 (ADA_INFOFILES): Define. 7891 (ada.info, ada.srcinfo): New rules. 7892 78932004-01-19 Arnaud Charlet <charlet@act-europe.fr> 7894 7895 * utils.c: Update copyright notice, missed in previous change. 7896 78972004-01-19 Vincent Celier <celier@gnat.com> 7898 7899 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the 7900 args if Bind is True. Set First_ALI, if not already done. 7901 (Build_Library): For Stand Alone Libraries, extract from one ALI file 7902 an eventual --RTS switch, for gnatbind, and all backend switches + 7903 --RTS, for linking. 7904 79052004-01-19 Robert Dewar <dewar@gnat.com> 7906 7907 * sem_attr.adb, memtrack.adb: Minor reformatting 7908 79092004-01-19 Ed Schonberg <schonberg@gnat.com> 7910 7911 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions 7912 that rename enumeration literals. This is properly done in sem_eval. 7913 7914 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls 7915 to functions that rename enumeration literals. 7916 7917 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to 7918 functions that rename enumeration literals. 7919 79202004-01-16 Kazu Hirata <kazu@cs.umass.edu> 7921 7922 * Make-lang.in (utils.o): Depend on target.h. 7923 * utils.c: Include target.h. 7924 (process_attributes): Use targetm.have_named_sections instead 7925 of ASM_OUTPUT_SECTION_NAME. 7926 79272004-01-16 Andreas Jaeger <aj@suse.de> 7928 7929 * Makefile.in: Add $(DESTDIR). 7930 79312004-01-15 Olivier Hainque <hainque@act-europe.fr> 7932 7933 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size 7934 also when not defining if a Size clause applies. That information is 7935 not to be ignored. 7936 79372004-01-15 Arnaud Charlet <charlet@act-europe.fr> 7938 7939 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up 7940 symbolic links for the shared gnat run time when needed. 7941 79422004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr> 7943 7944 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened 7945 for writing, and terminate with an error message if not. 7946 79472004-01-15 Ed Schonberg <schonberg@gnat.com> 7948 7949 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious 7950 warning on an access to subprogram in an instance, when the target 7951 type is declared in the same generic unit. 7952 (Eval_Attribute): If 'access is known to fail accessibility check, 7953 rewrite as a raise statement. 7954 79552004-01-15 GNAT Script <nobody@gnat.com> 7956 7957 * Make-lang.in: Makefile automatically updated 7958 79592004-01-15 Kelley Cook <kcook@gcc.gnu.org> 7960 7961 * Make-lang.in (ada.srcextra): Dummy entry. 7962 79632004-01-14 Kelley Cook <kcook@gcc.gnu.org> 7964 7965 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode. 7966 79672004-01-13 Ed Schonberg <schonberg@gnat.com> 7968 7969 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled 7970 components that are initialized with aggregates. 7971 79722004-01-13 Vincent Celier <celier@gnat.com> 7973 7974 * gnatlink.adb (Process_Binder_File): To find directory of shared 7975 libgcc, if "gcc-lib" is not a subdirectory, look for the last 7976 subdirectory "lib" in the path of the shared libgnat or libgnarl. 7977 7978 * make.adb (Gnatmake): If GCC version is at least 3, link with 7979 -shared-libgcc, when there is at least one shared library project. 7980 7981 * opt.ads (GCC_Version): New integer constant. 7982 7983 * adaint.c (get_gcc_version): New function. 7984 79852004-01-13 Robert Dewar <dewar@gnat.com> 7986 7987 * sem_dist.adb, sem_res.adb, sem_util.adb, 7988 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb, 7989 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting 7990 79912004-01-13 Thomas Quinot <quinot@act-europe.fr> 7992 7993 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb, 7994 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object 7995 declarations. 7996 79972004-01-12 Arnaud Charlet <charlet@act-europe.fr> 7998 7999 * misc.c: Remove trailing spaces. 8000 Update copyright notice missed in previous change. 8001 8002 PR ada/13572 8003 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of 8004 prefix/share/make 8005 8006 * Makefile.generic: Update copyright. 8007 Add license notice. 8008 8009 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead 8010 of prefix/share/make. 8011 8012 * Makefile.prolog: Update copyright. 8013 Add license notice. 8014 80152004-01-12 Laurent Pautet <pautet@act-europe.fr> 8016 8017 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb, 8018 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb, 8019 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr 8020 instead of String. 8021 8022 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message 8023 signature. 8024 80252004-01-12 Javier Miranda <miranda@gnat.com> 8026 8027 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb, 8028 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb, 8029 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb, 8030 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of 8031 Component_Definition node. 8032 80332004-01-12 Ed Falis <falis@gnat.com> 8034 8035 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit 8036 80372004-01-12 Thomas Quinot <quinot@act-europe.fr> 8038 8039 * link.c: Change default libgnat kind to STATIC for FreeBSD. 8040 80412004-01-12 Bernard Banner <banner@gnat.com> 8042 8043 * Makefile.in: map 86numaux to a-numaux for x86_64 8044 80452004-01-12 Ed Schonberg <schonberg@gnat.com> 8046 8047 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity 8048 generated to rename a generic actual, go to the actual itself, the 8049 subtype is not a user-visible entity. 8050 8051 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible 8052 part is a private subtype, reset the visibility of its full view, if 8053 any, to be consistent. 8054 8055 PR ada/13417 8056 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt 8057 to use a generic package G as a formal package for another generic 8058 declared within G. 8059 80602004-01-12 Robert Dewar <dewar@gnat.com> 8061 8062 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg 8063 8064 * usage.adb: Remove mention of obsolete -gnatwb switch 8065 Noticed during code reading 8066 80672004-01-12 Jerome Guitton <guitton@act-europe.fr> 8068 8069 * 1ssecsta.adb: Minor changes for -gnatwa warnings 8070 80712004-01-12 GNAT Script <nobody@gnat.com> 8072 8073 * Make-lang.in: Makefile automatically updated 8074 80752004-01-09 Mark Mitchell <mark@codesourcery.com> 8076 8077 * misc.c (gnat_expand_expr): Add alt_rtl parameter. 8078 80792004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8080 8081 * link.c [sgi] (shared_libgnat_default): Change to STATIC. 8082 80832004-01-05 Kelley Cook <kcook@gcc.gnu.org> 8084 8085 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18. 8086 Update comment and copyright date. 8087 * stamp-xgnatug: Delete. 8088 80892004-01-05 Robert Dewar <dewar@gnat.com> 8090 8091 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may 8092 be modified by the binder generated main program if the -D switch is 8093 used. 8094 8095 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all 8096 imported functions (since now we expect this to be done for imported 8097 functions) 8098 8099 * 5vtaprop.adb: Add several ??? for sections requiring more comments 8100 Minor reformatting throughout 8101 8102 * 5zinit.adb: Minor reformatting 8103 Add 2004 to copyright date 8104 Minor changes to avoid -gnatwa warnings 8105 Correct some instances of using OR instead of OR ELSE (noted while 8106 doing reformatting) 8107 8108 * sprint.adb: Minor updates to avoid -gnatwa warnings 8109 8110 * s-secsta.ads, s-secsta.adb: 8111 (SS_Get_Max): New function to obtain high water mark for ss stack 8112 Default_Secondary_Stack is not a constant since it may be modified by 8113 the binder generated main program if the -D switch is used. 8114 8115 * switch-b.adb: New -Dnnn switch for binder 8116 8117 * switch-c.adb: 8118 Make -gnatg imply all warnings currently in -gnatwa 8119 8120 * vms_conv.adb: Minor reformatting 8121 Add 2004 to copyright notice 8122 Add 2004 to printed copyright notice 8123 8124 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb, 8125 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb, 8126 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb, 8127 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb, 8128 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb, 8129 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb, 8130 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb, 8131 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb, 8132 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb, 8133 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb, 8134 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb, 8135 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb, 8136 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads, 8137 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb, 8138 checks.adb, clean.adb, cstand.adb, einfo.ads, 8139 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb, 8140 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb, 8141 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb, 8142 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb, 8143 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb, 8144 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb: 8145 Minor reformatting and code clean ups. 8146 Minor changes to prevent -gnatwa warnings 8147 8148 * ali.adb: Minor reformatting and cleanup of code 8149 Acquire new SS indication of secondary stack use from ali files 8150 8151 * a-numaux.ads: Add Pure_Function pragmas for all imported functions 8152 (since now we expect this to be done for imported functions) 8153 8154 * bindgen.adb: Generate call to modify default secondary stack size if 8155 -Dnnn switch given 8156 8157 * bindusg.adb: Add line for new -D switch 8158 8159 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate 8160 replacement name for Type_May_Have_Non_Bit_Aligned_Components! 8161 Add circuitry for both records and arrays to avoid gigi 8162 processing if the type involved has non-bit-aligned components 8163 8164 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that 8165 N_String_Literal node always references an E_String_Literal_Subtype 8166 entity. This may not be true in the future. 8167 (Possible_Bit_Aligned_Component): Move processing of 8168 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util 8169 8170 * exp_ch6.adb (Expand_Thread_Body): Pick up 8171 Default_Secondary_Stack_Size as variable so that we get value modified 8172 by possible -Dnnn binder parameter. 8173 8174 * exp_util.adb (Component_May_Be_Bit_Aligned): New function. 8175 (Type_May_Have_Bit_Aligned_Components): New function. 8176 8177 * exp_util.ads (Component_May_Be_Bit_Aligned): New function. 8178 (Type_May_Have_Bit_Aligned_Components): New function. 8179 8180 * fe.h: (Set_Identifier_Casing): Fix prototype. 8181 Add declaration for Sem_Elim.Eliminate_Error_Msg. 8182 Minor reformatting. 8183 8184 * freeze.adb (Freeze_Entity): Add RM reference to error message about 8185 importing constant atomic/volatile objects. 8186 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram 8187 unless explicit Pure_Function pragma given, to avoid insidious bug of 8188 call to non-pure imported function getting eliminated. 8189 8190 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, 8191 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb, 8192 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting 8193 Add 2004 to printed copyright notice 8194 8195 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary 8196 stack used. 8197 8198 * Makefile.rtl: Add entry for g-sestin.o 8199 g-sestin.ads: New file. 8200 8201 * mdll.adb: Minor changes to avoid -gnatwa warnings 8202 8203 * mlib-tgt.adb: Minor reformatting 8204 8205 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND) 8206 New switch Sec_Stack_Used (GNAT, GNATBIND) 8207 Make Default_Secondary_Stack_Size a variable instead of a constant, 8208 so that it can be modified by the new -Dnnn bind switch. 8209 8210 * rtsfind.adb (Load_Fail): Give full error message in configurable 8211 run-time mode if all_errors mode is set. This was not done in the case 8212 of a file not found, which was an oversight. 8213 Note if secondary stack unit is used by compiler. 8214 8215 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put 8216 ineffective elaborate all pragmas on non-visible packages (this 8217 happened when a renamed subprogram was called). Now the elaborate all 8218 always goes on the package containing the renaming rather than the one 8219 containing the renamed subprogram. 8220 8221 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure 8222 (Process_Eliminate_Pragma): Add parameter to capture pragma location. 8223 8224 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal 8225 has an Etype that references an E_String_Literal. 8226 (Eval_String_Literal): Avoid assumption that N_String_Literal node 8227 always references an E_String_Literal_Subtype entity. This may not 8228 be true in the future. 8229 8230 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture 8231 pragma location. 8232 8233 * sem_res.adb (Resolve): Specialize msg for function name used in proc 8234 call. 8235 82362004-01-05 Ed Falis <falis@gnat.com> 8237 8238 * g-debuti.adb: Replaced direct boolean operator with short-circuit 8239 form. 8240 82412004-01-05 Vincent Celier <celier@gnat.com> 8242 8243 * bld.adb: Minor comment updates 8244 (Process_Declarative_Items): Correct incorrect name (Index_Name instead 8245 of Item_Name). 8246 8247 * make.adb (Gnatmake): Special process for files to compile/check when 8248 -B is specified. Fail when there are only foreign mains in attribute 8249 Main of the project file and -B is not specified. Do not skip bind/link 8250 steps when -B is specified. 8251 8252 * makeusg.adb: Document new switch -B 8253 8254 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag 8255 8256 * switch-m.adb: (Scan_Make_Switches): Process -B switch 8257 8258 * vms_data.ads: Add new GNAT PRETTY qualifier 8259 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff 8260 82612004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 8262 8263 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer 8264 case. 8265 8266 * misc.c (gnat_printable_name): If VERBOSITY is 2, call 8267 Set_Identifier_Casing. 8268 8269 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type 8270 has size that overflows. 8271 82722004-01-05 Gary Dismukes <dismukes@gnat.com> 8273 8274 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid 8275 -gnatwa warning on static condition. 8276 82772004-01-05 Doug Rupp <rupp@gnat.com> 8278 8279 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC. 8280 82812004-01-05 Arnaud Charlet <charlet@act-europe.fr> 8282 8283 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve 8284 all attributes, including read-only attribute. 8285 82862004-01-05 Pascal Obry <obry@gnat.com> 8287 8288 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared 8289 library naming scheme. 8290 8291 * mlib-prj.adb (Build_Library): Generate different names for the static 8292 or dynamic version of the GNAT runtime. This is needed to support the 8293 new shared library naming scheme. 8294 (Process_Binder_File): Add detection of shared library in binder file 8295 based on the new naming scheme. 8296 8297 * gnatlink.adb (Process_Binder_File): Properly detect the new naming 8298 scheme for the shared runtime libraries. 8299 8300 * Makefile.in: 8301 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming 8302 scheme. 8303 (install-gnatlib): Do not create symlinks for shared libraries. 8304 (gnatlib-shared-default): Idem. 8305 (gnatlib-shared-dual-win32): New target. Not used for now as the 8306 auto-import feature does not support arrays/records. 8307 (gnatlib-shared-win32): Do not create copy for the shared libraries. 8308 (gnatlib-shared-vms): Fix shared runtime libraries names. 8309 8310 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target 8311 dependent runtime shared library name. 8312 83132004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr> 8314 8315 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older 8316 than the object. 8317 83182004-01-05 Ed Schonberg <schonberg@gnat.com> 8319 8320 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic 8321 protected objects when allocator has a subtype indication, not a 8322 qualified expression. Note that qualified expressions may have to be 8323 checked when limited aggregates are implemented. 8324 8325 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is 8326 pure, emit warning. 8327 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and 8328 subprogram is imported, remove warning. 8329 83302004-01-05 Geert Bosch <bosch@gnat.com> 8331 8332 * s-poosiz.adb: Update copyright notice. 8333 (Allocate): Use Task_Lock to protect against concurrent access. 8334 (Deallocate): Likewise. 8335 83362004-01-05 Joel Brobecker <brobecker@gnat.com> 8337 8338 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ??? 8339 comment. 8340 8341 8342 8343Copyright (C) 2004 Free Software Foundation, Inc. 8344 8345Copying and distribution of this file, with or without modification, 8346are permitted in any medium without royalty provided the copyright 8347notice and this notice are preserved. 8348