1. 08 Apr, 2008 40 commits
    • binde.adb (Gather_All_Links, [...]): units that are mentioned in… · 7dbc8918
      binde.adb (Gather_All_Links, [...]): units that are mentioned in limited_with_clauses to do create semantic...
      
      2008-04-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* binde.adb (Gather_All_Links, Gather_Dependencies): units that are
      	mentioned in limited_with_clauses to do create semantic dependencies
      	even though they appear in the ali file.
      
      From-SVN: r134064
      Ed Schonberg committed
    • impunit.adb: Add Interfaces.Java.JNI... · efde9617
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      	    Bob Duff  <duff@adacore.com>
      
      	* impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
      	Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
      
      	* s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
      
      	* g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
      
      	* g-trasym.ads: Minor comment improvements
      
      	* s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
      
      	* a-sequio.ads, a-direio.ads: improve message for tagged type
      
      	* a-strunb.ads: Minor reformatting
      
      	* a-tifiio.adb: Minor reformatting
      
      	* atree.adb (Fix_Parents): Use clearer names for formals
      	Cleanup and simplify code
      	Use named notation in calls
      
      	* exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
      	confusing calls
      
      	* uintp.adb: Used named notation for some confusing calls
      
      	* bindusg.adb: Minor change in one line of output
      
      	* cstand.adb: Minor reformatting of src representation of Standard
      
      	* a-assert.ads: Add comment.
      
      	* g-decstr.adb: Fix bad indentation
      
      	* expander.ads, expander.adb: Code clean up.
      
      	* sem_dist.ads, sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
      	s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
      
      	* i-cstrin.adb: Fix casing error in formal parameter name in call
      
      From-SVN: r134063
      Robert Dewar committed
    • ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows. · 2fe53bf5
      2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
      	Minor reformatting.
      
      From-SVN: r134062
      Eric Botcazou committed
    • gen-soccon.c: Bump year in copyright notices. · 189e353b
      2008-04-08  Thomas Quinot  <quinot@adacore.com>
      
      	* gen-soccon.c: Bump year in copyright notices.
      
      	* g-soccon-vxworks.ads: Add new constant IP_PKTINFO
      
      From-SVN: r134061
      Thomas Quinot committed
    • vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when AAMP_On_Target is set. · 1a5f40e1
      2008-04-08  Vincent Celier  <celier@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	* vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
      	AAMP_On_Target is set.
      
      	* vms_data.ads: Add NOxxx to style check switch list
      	Add entry COMPONENTS for -gnatVe
      	Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
      	(/SUBDIRS=).
      	(GCC_Switches): Add /ALL_BACK_END_WARNINGS.
      	Add qualifiers for gnatmetric coupling options
      	Add note that -gnata enables all checks
      	Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
      	Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
      	New warning flag -gnatw.e
      
      	* usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
      	Add entry for -gnatyN (forgotten before)
      	Line for new warning switch -gnatw.p
      	New warning flag -gnatw.e
      
      	* gnat_ugn.texi: Add documentation fpr project file switch -aP
      	Document -gnaty - + y
      	Replace occurences of "package specification" with "package spec"
      	Define preprocessing symbols in documentation of gnatprep
      	Clarify reason for distinguishing overflow checking
      	Add documentation for project-aware tool switches -eL and --subdirs=
      	Complete list of configuration pragmas
      	Specify that, even when gnatmake switch -x is used, mains on the command
      	line need to be sources of project files.
      	Editing of gnatcheck/gnatmetric doc.
      	Add documentation for -gnatw.p/-gnatw.P
      	Add missing documentation for -fno-inline-functions.
      	Add documentation for -gnatw.e
      
      	* gnat_rm.texi: Add documentation for No_Default_Initialization
      	Replace occurences of "package specification" with "package spec"
      	Document use of * in Warnings Off string
      	Update documentation of alignment/component clauses.
      	Add documentation for Invalid_Value
      	Document new consistency rule for Optimize_Alignment
      	Add documentation for Precondition and Postcondition pragmas
      	Add documentation for Check and Check_Policy pragmas
      	Document new Enum_Val attribute
      	Remove requirement for static string in pragma Assert
      	Add documentation on GNAT.Time_Stamp
      
      	* ug_words: add entry for -gnatVe
      	Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
      	Add entry for -gnatw.e
      
      	* debug.adb: Add missing documentation for d.a flag
      	Document new -gnatd.a switch.
      	Add documentation for new gnatmake debug switch -df
      
      From-SVN: r134060
      Vincent Celier committed
    • a-direct.adb (Start_Search): Check for Name_Error before checking for Use_Error,… · daa5998b
      a-direct.adb (Start_Search): Check for Name_Error before checking for Use_Error, as specified in the RM.
      
      2008-04-08  Vincent Celier  <celier@adacore.com>
      
      	* a-direct.adb (Start_Search): Check for Name_Error before checking for
      	Use_Error, as specified in the RM. Check if directory is open and raise
      	Use_Error if it is not.
      
      From-SVN: r134059
      Vincent Celier committed
    • vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type. · 09624906
      2008-04-08  Tristan Gingold  <gingold@adacore.com>
      
      	* vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
      	Improve error message generation.
      
      From-SVN: r134058
      Tristan Gingold committed
    • types.h: Change CE_Null_Exception_Id to the correct value (8, was 9). · 1b449f6d
      2008-04-08  Bob Duff  <duff@adacore.com>
      
      	* types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
      
      From-SVN: r134057
      Bob Duff committed
    • tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux to the set of the GNAT... · cd0463fe
      2008-04-08  Sergey Rybin  <rybin@adacore.com>
      
      	* tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
      	to the set of the GNAT components needed by ASIS.
      
      From-SVN: r134056
      Sergey Rybin committed
    • stylesw.adb: Implement -gnaty + - y options · 30179374
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* stylesw.adb: Implement -gnaty + - y options
      	(Set_GNAT_Style_Check_Options): Includ I in style check string
      
      	* stylesw.ads: Add comments for new style switch options
      
      From-SVN: r134055
      Robert Dewar committed
    • styleg.adb (Check_Comment): Allow special char after -- in non-end-of-line case · 57238335
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* styleg.adb (Check_Comment): Allow special char after -- in
      	non-end-of-line case
      
      From-SVN: r134054
      Robert Dewar committed
    • stringt.adb (Write_String_Table_Entry): Handle wide characters properly · 54e1f2f0
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* stringt.adb (Write_String_Table_Entry): Handle wide characters
      	properly
      
      From-SVN: r134053
      Robert Dewar committed
    • s-strxdr.adb, [...] (Block_IO_OK): New subprogram. · 9147cc0b
      2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
      	subprogram.
      	Add new subtype S_WWC, unchecked conversion routines From_WWC and
      	To_WWC.
      	(I_WWC, O_WWC): New routines for input and output of
      	Wide_Wide_Character.
      
      From-SVN: r134052
      Hristian Kirtchev committed
    • s-stoele.ads, [...]: Move the location of Dummy_Communication_Block from… · 7f8b32d5
      s-stoele.ads, [...]: Move the location of Dummy_Communication_Block from System.Storage_Elements to...
      
      2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-stoele.ads, s-soflin.ads: Move the location of
      	Dummy_Communication_Block from System.Storage_Elements to
      	System.Soft_Links.
      
      	* s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
      	emulate Communication_Block in certain scenarios.
      
      From-SVN: r134051
      Hristian Kirtchev committed
    • s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with negative scale · fc5c20af
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
      	negative scale
      	(Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
      	Properly handle case where Aft > Scale and input number is less than
      	one.
      
      From-SVN: r134050
      Robert Dewar committed
    • sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for the… · ca44152f
      sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for the ancestor part of an extension aggregate for a...
      
      2008-04-08  Ed Schonberg  <schonberg@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	* sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
      	the ancestor part of an extension aggregate for a limited type.
      	(Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
      	enumeration index bounds.
      	(Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
      	when array is too short.
      	(Check_Expr_OK_In_Limited_Aggregate): Move function
      	Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
      	change name).
      	(Resolve_Array_Aggregate.Resolve_Aggr_Expr):
      	Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
      	component associations.
      	(Check_Non_Limited_Type): Moved to outer level and renamed.
      	(Resolve_Record_Aggregate): In an extension aggregate, an association
      	with a box initialization can only designate a component of the
      	extension, not a component inherited from the given ancestor
      
      	* sem_case.adb: Use new Is_Standard_Character_Type predicate
      
      From-SVN: r134049
      Ed Schonberg committed
    • sem.adb (Analyze): Consider case in which we analyze an empty node that was… · f89b7956
      sem.adb (Analyze): Consider case in which we analyze an empty node that was generated by a call to...
      
      2008-04-08  Javier Miranda  <miranda@adacore.com>
      
      	* sem.adb (Analyze): Consider case in which we analyze an empty node
      	that was generated by a call to a runtime function that is not
      	available under the configurable runtime.
      
      	* sem.ads (Inside_Freezing_Actions): New flag.
      	(Save_Check_Policy_List): New field in scope stack entry
      
      From-SVN: r134048
      Javier Miranda committed
    • scng.adb (Scan_Identifier): Handle case of identifier starting with wide… · 7f2401a6
      scng.adb (Scan_Identifier): Handle case of identifier starting with wide character using UTF-8 encoding.
      
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* scng.adb (Scan_Identifier): Handle case of identifier starting with
      	wide character using UTF-8 encoding.
      
      From-SVN: r134047
      Robert Dewar committed
    • prj-util.adb (Executable_Of): New String parameter Language. · 141e448f
      2008-04-08  Vincent Celier  <celier@adacore.com>
      
      	* prj-util.adb (Executable_Of): New String parameter Language. When
      	Ada_Main is False and Language is not empty, attempt to remove the body
      	suffix or the spec suffix of the language to get the base of the
      	executable file name.
      	(Put): New Boolean parameter Lower_Case, defauilted to False. When
      	Lower_Case is True, put the value in lower case in the name list.
      	(Executable_Of): If there is no executable suffix in the configuration,
      	then do not modify Executable_Extension_On_Target.
      
      	* prj-util.ads (Executable_Of): New String parameter Language,
      	defaulted to the empty string.
      	(Put): New Boolean parameter Lower_Case, defauilted to False
      
      From-SVN: r134046
      Vincent Celier committed
    • 2008-04-08 Ed Schonberg <schonberg@adacore.com> · 8bc65441
      	* par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
      	in a type declaration, if this is not an interface declaration or
      	private type extension.
      
      From-SVN: r134045
      Ed Schonberg committed
    • par-ch11.adb (P_Exception_Handler): Check indentation level for handler · 15bac09d
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch11.adb (P_Exception_Handler): Check indentation level for
      	handler
      
      From-SVN: r134044
      Robert Dewar committed
    • osint.ads, osint.adb (Get_Libraries_From_Registry): Improve documentation. · c4dec83f
      2008-04-08  Jose Ruiz  <ruiz@adacore.com>
      
      	* osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
      	documentation.
      	Update comments.
      	(Read_Default_Search_Dirs): Do not consider spaces as path separators
      	because spaces may be part of legal paths.
      
      From-SVN: r134043
      Jose Ruiz committed
    • nlists.adb (Is_Non_Empty_List): Remove redundant test. · 3f088c35
      2008-04-08  Thomas Quinot  <quinot@adacore.com>
      
      	* nlists.adb (Is_Non_Empty_List): Remove redundant test. First
      	(No_List) is defined to return Empty.
      
      From-SVN: r134042
      Thomas Quinot committed
    • mlib-prj.adb (Build_Library): Compare with ALI file name in canonical case to decide if... · dba17123
      2008-04-08  Vincent Celier  <celier@adacore.com>
      
      	* mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
      	case to decide if ALI object file is included in library.
      	(Build_Library): Never attempt to build a library if the project is
      	externally built.
      
      From-SVN: r134041
      Vincent Celier committed
    • Make-lang.in: Disable warnings during first stage of bootstrap Get rid of gnatbl. · 4bb2bd7c
      	* Make-lang.in: Disable warnings during first stage of bootstrap
      	Get rid of gnatbl.
      	Update dependencies.
      
      From-SVN: r134040
      Arnaud Charlet committed
    • make.adb: (Gnatmake_Called): Remove, no longer necessary · 189641a2
      2008-04-08  Vincent Celier  <celier@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      
      	* make.adb: (Gnatmake_Called): Remove, no longer necessary
      	(Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
      	is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
      	(Insert_Project_Sources): Take into account index in multi-unit source
      	files.
      	After building a library project, delete all temporary files.
      	(Initialize): Reset current output after parsing project file.
      	(Collect_Arguments_And_Compile): Never insert in the queue the sources
      	of library projects that are externally built.
      	Put file name in error and inform messages if -df is used
      	(Display): If invoked with -d7, do not display path names, but only
      	file names.
      
      	* makeutl.ads (Path_Or_File_Name): New function
      	(Path_Or_File_Name): New function
      
      From-SVN: r134039
      Vincent Celier committed
    • lib-xref.adb (Is_On_LHS): Remove dead code · f7d5442e
      2008-04-08  Ed Schonberg  <schonberg@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* lib-xref.adb (Is_On_LHS): Remove dead code
      	(Output_Overriden_Op): If the overridden operation is itself inherited,
      	list the ancestor operation, which is the one whose body or absstract
      	specification is actually being overridden.
      
      	* sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
      	operation is primitive for the type.
      	(Declare_Inherited_Private_Subprograms): If the new operation overrides
      	an inherited private subprogram, set properly the Overridden_Operation
      	attribute, for better cross-reference information.
      	(Analyze_Package_Specification): Do late analysis of spec PPCs
      	(Install_Private_Declaration, Uninstall_Declarations): Save/restore
      	properly the full view and underlying full views of a private type in a
      	child unit, whose full view is derived from a private type in a parent
      	unit, and whose own full view becomes visible in the child body.
      
      	* sem_disp.adb (Check_Dispatching_Operation): When a body declares a
      	primitive operation after the type has been frozen, add an explicit
      	reference to the type and the operation, because other primitive
      	references have been emitted already.
      	(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
      	dispatching call on VM targets.
      
      From-SVN: r134038
      Ed Schonberg committed
    • sprint.adb (Write_Itype): Handle Itypes whose Parent field points to the… · 99cf6c77
      sprint.adb (Write_Itype): Handle Itypes whose Parent field points to the declaration for some different...
      
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
      	the declaration for some different entity.
      	(Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
      	list is precent (following the parent subtype indication), display
      	appropriate "and" keyword.
      
      	* itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
      	Remove unnecessary calls to Init_Size_Align and Init_Esize.
      	Add notes on use of Parent field of an Itype
      
      From-SVN: r134037
      Robert Dewar committed
    • g-socket.ads, [...]: Improve documentation of GNAT.Sockets... · 64f7d845
      2008-04-08  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
      	add a pointer to generic sockets literature
      	do not mention that the given example is "typical" usage.
      	Remove obsolete comment about multicast not being supported on Windows.
      	(Connect_Socket): Make Server mode IN rather than IN OUT
      	since this formal is never modified.
      
      From-SVN: r134036
      Thomas Quinot committed
    • gnatbind.adb (Restriction_Could_Be_Set): New procedure · 4dcfaf77
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      
      	* gnatbind.adb (Restriction_Could_Be_Set): New procedure
      	(List_Applicable_Restrictions): Do not list existing restrictions
      
      From-SVN: r134035
      Robert Dewar committed
    • gnat1drv.adb: Send all messages indicating an error to standard error · 8f3366c6
      2008-04-08  Vincent Celier  <celier@adacore.com>
      
      	* gnat1drv.adb: Send all messages indicating an error to standard error
      
      From-SVN: r134034
      Vincent Celier committed
    • freeze.adb (Freeze_Entity): Improve warnings on access types in pure units. · c6a9797e
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Freeze_Entity): Improve warnings on access types in pure
      	units.
      	(Size_Known): Generic formal scalar types have known at compile
      	time size, so remove check.
      	Fix casing error in formal parameter name in call
      	(Freeze_Subprogram): If the subprogram is a user-defined operator,
      	recheck its overriding indication.
      
      From-SVN: r134033
      Robert Dewar committed
    • exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is an Input… · 9cf50493
      exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is an Input function for an access type...
      
      2008-04-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
      	an Input function for an access type, do not perform default
      	initialization on the local variable that receives the value, to
      	prevent spurious warnings when the type is null-excluding.
      
      From-SVN: r134032
      Ed Schonberg committed
    • exp_dist.ads, [...]: Fix casing error in formal parameter name in call · 7f0b5314
      2008-04-08  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
      	in call
      	(Add_RACW_Features): When processing an RACW in another unit than the
      	main unit, set Body_Decls to No_List to indicate that the bodies of
      	the type's TSS must not be generated.
      	(GARLIC_Support.Add_RACW_Read_Attribute,
      	GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
      	Body_Decls is No_List.
      	(PolyORB_Support.Add_RACW_Read_Attribute,
      	PolyORB_Support.Add_RACW_Write_Attribute,
      	PolyORB_Support.Add_RACW_From_Any,
      	PolyORB_Support.Add_RACW_To_Any,
      	PolyORB_Support.Add_RACW_TypeCode): Same.
      	(Transmit_As_Unconstrained): New function.
      	(Build_Ordered_Parameters_List): Use the above to order parameters.
      	(GARLIC_Support.Build_General_Calling_Stubs):
      	Use the above to determine which parameters to unmarshall using 'Input
      	at the point where their temporary is declared (as opposed to later on
      	with a 'Read call).
      	(PolyORB_Support.Build_General_Calling_Stubs):
      	Use the above to determine which parameters to unmarshall using From_Any
      	at the point where their temporary is declared (as opposed to later on
      	with an assignment).
      
      From-SVN: r134031
      Thomas Quinot committed
    • exp_ch9.ads, [...] (Build_Protected_Entry, [...]): Generate debug info for… · 65df5b71
      exp_ch9.ads, [...] (Build_Protected_Entry, [...]): Generate debug info for declarations related to the handling of private data in...
      
      2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
      	Build_Unprotected_Subprogram_Body): Generate debug info for
      	declarations related to the handling of private data in task and
      	protected types.
      	(Debug_Private_Data_Declarations): New subprogram.
      	(Install_Private_Data_Declarations): Remove all debug info flagging.
      	This is now done by Debug_Private_Data_Declarations at the correct
      	stage of expansion.
      	(Build_Simple_Entry_Call): If the task name is a function call, expand
      	the prefix into an object declaration, and make the surrounding block a
      	task master.
      	(Build_Master_Entity): An internal block is a master if it wraps a call.
      	Code reformatting, update comments. Code clean up.
      	(Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
      	(Replicate_Entry_Formals): If the formal is an access parameter or
      	anonymous access to subprogram, copy the original tree to create new
      	entities for the formals of the subprogram.
      	(Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
      	for tasks to store the value passed using pragma Relative_Deadline.
      	(Make_Task_Create_Call): Add the Relative_Deadline argument to the
      	run-time call to create a task.
      	(Build_Wrapper_Spec): If the controlling argument of the interface
      	operation is an access parameter with a non-null indicator, use the
      	non-null indicator on the wrapper.
      
      	* sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
      	present, which it may not be in the case where the type entity is an
      	incomplete view brought in by a limited with.
      	(Analyze_Task_Type): Only retrieve the full view when present, which it
      	may not be in the case where the type entity is an incomplete view
      	brought in by a limited with.
      	(Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
      	private components of a protected type, to prevent the generation of
      	freeze nodes for which there is no proper scope of elaboration.
      
      	* exp_util.ads, exp_util.adb (Remove_Side_Effects): If the expression is
      	a function call that returns a task, expand into a declaration to invoke
      	the build_in_place machinery.
      	(Find_Protection_Object): New routine.
      	(Remove_Side_Effects): Also make a copy of the value
      	for attributes whose result is of an elementary type.
      	(Silly_Boolean_Array_Not_Test): New procedure
      	(Silly_Boolean_Array_Xor_Test): New procedure
      	(Is_Volatile_Reference): New function
      	(Remove_Side_Effects): Use Is_Volatile_Reference
      	(Possible_Bit_Aligned_Component): Handle slice case properly
      
      	* exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
      	case test to Exp_Util
      	(Expand_Packed_Xor): Move silly true/true case test to Exp_Util
      
      From-SVN: r134030
      Hristian Kirtchev committed
    • exp_ch7.adb (Find_Final_List): Change the test for generating a selected… · dcfa065d
      exp_ch7.adb (Find_Final_List): Change the test for generating a selected component from an access type's...
      
      2008-04-08  Gary Dismukes  <dismukes@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch7.adb (Find_Final_List): Change the test for generating a
      	selected component from an access type's Associated_Final_Chain to
      	check for the presence of that field, rather than assuming it exists
      	for all named access types.
      	(Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
      	procedure to call at the end of the generated cleanup procedure.
      	(Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
      	and an At_End_Proc already exists in the handled sequence of statements
      	for which cleanup actions are being expanded, the original cleanup
      	action must be preserved.
      
      From-SVN: r134029
      Gary Dismukes committed
    • s-rident.ads: Add No_Default_Initialization restriction · 70f91180
      2008-04-08  Robert Dewar  <dewar@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* s-rident.ads: Add No_Default_Initialization restriction
      
      	* exp_tss.adb: 
      	(Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
      	(Set_TSS): Handle No_Default_Initialization case
      
      	* exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
      	No_Default_Initialization
      	(Expand_N_Subprogram_Body): Remove redundant initialization of out
      	parameters when Normalize_Scalars is active.
      	(Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
      	Fix casing error in formal parameter name in call
      	(Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
      	(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
      	dispatching call on VM targets.
      
      From-SVN: r134028
      Robert Dewar committed
    • exp_ch2.adb: Minor reformatting. · 45fc7ddb
      2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch2.adb: Minor reformatting.
      	(Expand_Entry_Index_Parameter): Set the type of the identifier.
      	(Expand_Entry_Reference): Add call to Expand_Protected_Component.
      	(Expand_Protected_Component): New routine.
      	(Expand_Protected_Private): Removed.
      	Add Sure parameter to Note_Possible_Modification calls
      
      	* sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
      	generated subprogram declaration must inherit the overriding indicator
      	from the instantiation node.
      	(Validate_Access_Type_Instance): If the designated type of the actual is
      	a limited view, use the available view in all cases, not only if the
      	type is an incomplete type.
      	(Instantiate_Object):  Actual is illegal if the formal is null-excluding
      	and the actual subtype does not exclude null.
      	(Process_Default): Handle properly abstract formal subprograms.
      	(Check_Formal_Package_Instance): Handle properly defaulted formal
      	subprograms in a partially parameterized formal package.
      	Add Sure parameter to Note_Possible_Modification calls
      	(Validate_Derived_Type_Instance): if the formal is non-limited, the
      	actual cannot be limited.
      	(Collect_Previous_Instances): Generate instance bodies for subprograms
      	as well.
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
      	try to set RM_Size.
      	Add Sure parameter to Note_Possible_Modification calls
      	(Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
      	(Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
      	constant overlaid by variable and issue warning.
      	Use new Is_Standard_Character_Type predicate
      	(Analyze_Record_Representation_Clause): Check that the specified
      	Last_Bit is not less than First_Bit - 1.
      	(Analyze_Attribute_Definition_Clause, case Address): Check for
      	self-referential address clause
      
      	* sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
      	detection mechanism when the lhs is a prival.
      	(Analyze_Assignment): Call Check_Unprotected_Access to detect
      	assignment of a pointer to protected data, to an object declared
      	outside of the protected object.
      	(Analyze_Loop_Statement): Check for unreachable code after loop
      	Add Sure parameter to Note_Possible_Modication calls
      	Protect analysis from previous syntax error such as a scope mismatch
      	or a missing begin.
      	(Analyze_Assignment_Statement): The assignment is illegal if the
      	left-hand is an interface.
      
      	* sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check violation of
      	restriction No_Implicit_Conditionals
      	Add Sure parameter to Note_Possible_Modication calls
      	Use new Is_Standard_Character_Type predicate
      	(Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
      	call as operator. Fixes problems (e.g. validity checking) which
      	come from the result looking as though it does not come from source).
      	(Resolve_Call): Check case of name in named parameter if style checks
      	are enabled.
      	(Resolve_Call): Exclude calls to Current_Task as entry formal defaults
      	from the checking that such calls should not occur from an entry body.
      	(Resolve_Call): If the return type of an Inline_Always function
      	requires the secondary stack, create a transient scope for the call
      	if the body of the function is not available for inlining.
      	(Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
      	that are actuals for in-out formals.
      	(Try_Object_Operation): If prefix is a tagged protected object,retrieve
      	primitive operations from base type.
      	(Analyze_Selected_Component): If the context is a call to a protected
      	operation the parent may be an indexed component prior to expansion.
      	(Resolve_Actuals): If an actual is of a protected subtype, use its
      	base type to determine whether a conversion to the corresponding record
      	is needed.
      	(Resolve_Short_Circuit): Handle pragma Check
      
      	* sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
      	Use new Is_Standard_Character_Type predicate
      	(Eval_Relational_Op): Catch more cases of string comparison
      
      From-SVN: r134027
      Hristian Kirtchev committed
    • sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of… · b4592168
      sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of Has_Stream_Attribute_ Definition when...
      
      2008-04-08  Gary Dismukes  <dismukes@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
      	Has_Stream_Attribute_ Definition when checking for available stream
      	attributes on parameters of a limited type in Ada 2005. Necessary for
      	proper recognition of visible stream attribute clauses.
      	(Has_Stream_Attribute_Definition): If the type is derived from a
      	private type, then use the derived type's underlying type for checking
      	whether it has stream attributes.
      	(Validate_Object_Declaration): The check for a user-defined Initialize
      	procedure applies also to types with controlled components or a
      	controlled ancestor.
      	Reject an object declaration in a preelaborated unit if the type is a
      	controlled type with an overriding Initialize procedure.
      	(Validate_Remote_Access_To_Class_Wide_Type): Return without further
      	checking when the parent of a dereference is a selected component and
      	the name has not been analyzed.
      
      	* sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
      	prefixes that are invalid explicit dereferences of remote
      	access-to-class-wide values, first checking whether the selected
      	component is a prefixed form of call to a tagged operation.
      	(Analyze_Call): Remove code that issues an error for limited function
      	calls in illegal contexts, as we now support all of the contexts that
      	were forbidden here.
      	Allow a function call that returns a task.and appears as the
      	prefix of a selected component.
      	(Analyze_Reference): Give error message if we try to make a 'Reference
      	for an object that is atomic/aliased without its type having the
      	corresponding attribute.
      	(Analyze_Call): Remove condition checking for attributes to allow
      	calls to functions with inherently limited results as prefixes of
      	attributes. Remove related comment about Class attributes.
      	(Analyze_Selected_Component): If the prefix is a remote type, check
      	whether this is a prefixed call before reporting an error.
      	(Complete_Object_Operation): If the controlling formal is an access to
      	variable reject an actual that is a constant or an access to one.
      	(Try_Object_Operation): If prefix is a tagged protected object,retrieve
      	primitive operations from base type.
      
      	* exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
      	build-in-place
      	function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
      	(Expand_N_Selected_Component): Test for prefix that is a build-in-place
      	function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
      	(Expand_N_Slice): Test for prefix that is a build-in-place function call
      	and call Make_Build_In_Place_Call_In_Anonymous_Context.
      	(Analyze_Call): Remove code that issues an error for limited function
      	calls in illegal contexts, as we now support all of the contexts that
      	were forbidden here.
      	New calling sequence for Get_Simple_Init_Val
      	(Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
      	(Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test
      
      From-SVN: r134026
      Gary Dismukes committed
    • exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine whether an… · fc534c1c
      exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine whether an array aggregate with static bounds...
      
      2008-04-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
      	whether an array aggregate with static bounds and scalar components
      	should be expanded into a static constant.
      
      From-SVN: r134025
      Ed Schonberg committed