1. 04 Jul, 2005 12 commits
    • exp_intr.adb (Expand_Unc_Deallocation): If the designated type is controlled... · 4a2ddf66
      2005-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
      	controlled, indicate the expected type of the dereference that is
      	created for the call to Deep_Finalize, to prevent spurious errors when
      	the designated type is private and completed with a derivation from
      	another private type.
      
      From-SVN: r101579
      Ed Schonberg committed
    • exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for Itypes. · 64dd5395
      2005-07-04  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
      	Itypes. Itypes are really unexpected there.
      	(Build_TypeCode_Function): Generalise special processing for Itypes to
      	handle the case of numeric implicit base types as well as enumerated
      	ones.
      
      From-SVN: r101578
      Thomas Quinot committed
    • exp_attr.adb (Mod): Evaluate condition expression with checks off, to prevent spurious warnings. · 3b641023
      2005-07-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_attr.adb (Mod): Evaluate condition expression with checks off,
      	to prevent spurious warnings.
      
      From-SVN: r101577
      Ed Schonberg committed
    • decl.c (prepend_attributes): New case. · d9e0a587
      2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
      	<Pragma_Linker_Destructor>: Likewise.
      
      	* einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
      	Pragma_Linker_Destructor.
      
      	* gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
      	ATTR_LINK_DESTRUCTOR.
      	(static_ctors, static_dtors): New variables.
      
      	* misc.c (gnat_expand_body): Output current function as constructor
      	and destructor if requested.
      
      	* par-prag.adb: Add processing for pragma Linker_Constructor and
      	Linker_Destructor.
      
      	* sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
      	extracted from Check_Interrupt_Or_Attach_Handler.
      	(Check_Interrupt_Or_Attach_Handler): Invoke it.
      	Implement pragma Linker_Constructor and Linker_Destructor with the
      	help of Find_Unique_Parameterless_Procedure.
      	Replace Name_Alias with Name_Target for pragma Linker_Alias.
      
      	* snames.h, snames.ads, snames.adb:
      	Add Name_Linker_Constructor and Name_Linker_Destructor.
      	Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
      	* snames.adb: Remove Name_Alias.
      
      	* trans.c: Include cgraph.h.
      	(build_global_cdtor): New function.
      	(Compilation_Unit_to_gnu): Build global constructor and destructor if
      	needed.
      	(tree_transform) <N_Identifier>: Substitute renaming of view-conversions
      	of objects too.
      	(addressable_p) <COMPONENT_REF>: Unconditionally test
      	DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
      
      	* utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
      	variable if it is external.
      
      	(static_ctors, static_dtors): New global variables.
      	(process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
      	<ATTR_LINK_DESTRUCTOR>: Likewise.
      	(end_subprog_body): Chain function as constructor and destructor
      	if requested.
      
      	* exp_util.adb (Force_Evaluation): Unconditionally invoke
      	Remove_Side_Effects with Variable_Ref set to true.
      	(Remove_Side_Effects): Handle scalar types first. Use a renaming
      	for non-scalar types even if Variable_Ref is true and for class-wide
      	expressions.
      
      From-SVN: r101576
      Eric Botcazou committed
    • checks.adb (Null_Exclusion_Static_Checks): In the case of N_Object_Declaration... · c73ae90f
      2005-07-04  Gary Dismukes  <dismukes@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      
      	* checks.adb (Null_Exclusion_Static_Checks): In the case of
      	N_Object_Declaration, only perform the checks if the Object_Definition
      	is not an Access_Definition.
      
              * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
              where the parent of an the access definition is an N_Object_Declaration
              when determining the Associated_Node_For_Itype and scope of an
              anonymous access-to-subprogram type.
      
      	* exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
      	Corresponding_Spec on the body created for a null procedure. Add ???
      	comment. Remove New_Copy_Tree call on body argument to
      	Set_Body_To_Inline.
      
      	* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
      	discriminants, use the type of the actual as well, because the
      	discriminants may be read by the called subprogram.
      
      	* sem_ch3.adb (Access_Type_Declaration): If the designated type is an
      	access type we do not need to handle non-limited views.
      	(Build_Derived_Record_Type): Additional check to check that in case of
      	private types, interfaces are only allowed in private extensions.
      
      From-SVN: r101575
      Gary Dismukes committed
    • a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array. · 3104eb4a
      2005-07-04  Joel Brobecker  <brobecker@adacore.com>
      
      	* a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
      	This prevents us from hitting a limitation during the debug info
      	generation when using stabs.
      	(Prims_Ptr): Likewise.
      
      From-SVN: r101574
      Joel Brobecker committed
    • mlib-tgt-tru64.adb, [...] (Build_Dynamic_Library): Remove all auto-initialization code... · b87520cd
      2005-07-04  Vincent Celier  <celier@adacore.com>
      
      	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
      	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
      	mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
      	Remove all auto-initialization code, as this is now done through the
      	constructor mechanism.
      
      	* adaint.h, adaint.c (__gnat_binder_supports_auto_init,
      	__gnat_sals_init_using_constructors): New functions.
      
      	* bindgen.adb (Gen_Output_File_Ada): Generate pragmas
      	Linker_Constructor and Linker_Destructor when switch -a is used.
      
      	* bindusg.adb: Add line for new switch -a
      
      	* gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
      	(Gnatbind): When switch -a is used, check if it is allowed
      
      	* switch-b.adb (Scan_Binder_Switches): Process new switch -a
      
      From-SVN: r101573
      Vincent Celier committed
    • s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a… · 0556b702
      s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a code-range descriptor associated with...
      
      2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
      	fetch a code-range descriptor associated with the machine state. On
      	failure set the machine state's PC to 0; on success, pass the
      	descriptor to exc_virtual_unwind.
      
      	* init.c (Tru64 section): New function __gnat_set_code_loc.
      
      From-SVN: r101572
      Eric Botcazou committed
    • 2005-07-04 Thomas Quinot <quinot@adacore.com> · 1a79be3c
      	* g-expect-vms.adb, g-expect.ads, g-expect.adb
      	(Get_Command_Output): New subprogram to launch a process and get its
      	standard output as a string.
      
      From-SVN: r101571
      Thomas Quinot committed
    • * s-stausa.ads, s-stausa.adb: New files. · fc64d83c
      From-SVN: r101570
      Arnaud Charlet committed
    • New file. · f439901c
      From-SVN: r101569
      Arnaud Charlet committed
    • Daily bump. · c4c756da
      [[Split portion of a mixed commit.]]
      
      From-SVN: r101564.2
      GCC Administrator committed
  2. 03 Jul, 2005 21 commits
  3. 02 Jul, 2005 7 commits