1. 13 Dec, 2007 40 commits
    • xeinfo.adb: Remove warnings · 34a343e6
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* xeinfo.adb: Remove warnings
      	* xnmake.adb: Remove warnings
      	* xsinfo.adb: Remove warnings
      	* xtreeprs.adb: Remove warnings
      	* xsnames.adb: Remove warnings
      
      	* a-ngcoar.adb: Fix typo.
      	* s-interr.adb: Minor reformatting
      	* env.c: Minor reformatting.
      	* g-bytswa.adb: Minor reformatting.
      	* g-rannum.ads: Minor documentation improvements
      	* s-tasinf-mingw.adb: Minor header fix
      	* a-clrefi.adb: Minor reformatting
      	* g-sttsne.ads: Minor documentation improvement
      	* g-sttsne-locking.ads: Minor documentation improvement
      	* g-soliop-solaris.ads: Minor documentation improvement
      	* g-soliop-mingw.ads: Minor documentation improvement
      	* g-soliop.ads: Minor documentation improvement
      	* exp_aggr.ads: Minor reformatting
      	* debug.adb: Add documentation for the gprbuild debug flags
      	* exp_ch2.adb: Use Nkind_In to simplify code throughout
      	* exp_pakd.adb: Minor reformatting
      
      	* g-altive.ads, g-alleve.adb: Remove assertions.
      	Add comment about minor differences between targets regarding
      	floating-point operations.
      
      	* g-thread.adb: Remove pragma unreferenced.
      	* lib.ads: Minor reformatting
      	* par-ch9.adb: Minor reformatting of error messages
      	* sem_case.adb: Minor reformatting
      	* s-fileio.adb: Minor reformattinng
      	* s-vmexta.ads: Minor typo
      	* vxaddr2line.adb: 
      	Take into account 'Success' value as per new GNAT warning.
      
      From-SVN: r130870
      Robert Dewar committed
    • treepr.ads, treepr.adb: (pl): implement use of positive value shorthands · 9b998381
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* treepr.ads, treepr.adb: (pl): implement use of positive value
      	shorthands
      
      From-SVN: r130869
      Robert Dewar committed
    • tbuild.ads, tbuild.adb: Fix location of flag for unrecognized pragma message · c1e0259c
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* tbuild.ads, tbuild.adb: 
      	Fix location of flag for unrecognized pragma message
      
      From-SVN: r130868
      Robert Dewar committed
    • tb-alvms.c (struct tb_entry_t, [...]): Revert back to use of Procedure Value… · 543b4428
      tb-alvms.c (struct tb_entry_t, [...]): Revert back to use of Procedure Value instead of Frame Pointer as the...
      
      2007-12-06  Olivier Hainque  <hainque@adacore.com>
      
      	* tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
      	of Procedure Value instead of Frame Pointer as the invocation
      	identifier associated with the instruction pointer in each traceback
      	entry.
      
      	* g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
      	TB_Entry_For): Revert back to use of Procedure Value instead of Frame
      	Pointer as the invocation identifier passed to tbk$symbolize.
      
      	* s-traent-vms.ads, s-traent-vms.adb
      	(Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
      	Procedure Value instead of Frame Pointer as the invocation identifier
      	passed to tbk$symbolize.
      
      From-SVN: r130867
      Olivier Hainque committed
    • styleg.adb (Check_Comment): More liberal rules for comment placement · 46edcdb1
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* styleg.adb (Check_Comment): More liberal rules for comment placement
      
      From-SVN: r130866
      Robert Dewar committed
    • s-tassta.adb (Create_Task): Take into account tasks created by foreign threads. · 31eee11b
      	* s-tassta.adb (Create_Task): Take into account tasks created by
      	foreign threads.
      	Code clean up: use constants instead of hard coded values.
      
      From-SVN: r130865
      Arnaud Charlet committed
    • s-stoele.adb ("mod"): mod negative value raises Constraint_Error · e4b55122
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* s-stoele.adb ("mod"): mod negative value raises Constraint_Error
      
      From-SVN: r130864
      Robert Dewar committed
    • s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant with… · 4981ffcc
      s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant with Stack_Grows_Down in System.Parameters.
      
      2007-12-06  Olivier Hainque  <hainque@adacore.com>
      
      	* s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
      	with Stack_Grows_Down in System.Parameters. Rename Array_Address into
      	Stack_Overlay_Address and document that we are using an internal
      	abstraction.
      	(Byte_Size, Unsigned_32_Size): Remove, now useless.
      	(Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
      	consistently throughout the various implementation pieces.
      
      	* s-stausa.adb (Stack_Slots): New type, abstraction for the stack
      	overlay we are using to fill the stack area with patterns.
      	(Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
      	(Push_Index_Step_For, Pop_Index_Step_For): Likewise.
      	(Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
      
      From-SVN: r130863
      Olivier Hainque committed
    • s-soflin.ads: Apply new pragma Favor_Top_Level to all access-to-subprogram types in this package. · 90de1450
      2007-12-06  Bob Duff  <duff@adacore.com>
      
      	* s-soflin.ads: Apply new pragma Favor_Top_Level to all
      	access-to-subprogram types in this package.
      
      From-SVN: r130862
      Bob Duff committed
    • sinput-l.adb (Load_File): Disable style checks when preprocessing. · d82d3baa
      2007-12-06  Thomas Quinot  <quinot@adacore.com>
      
      	* sinput-l.adb (Load_File): Disable style checks when preprocessing.
      
      From-SVN: r130861
      Thomas Quinot committed
    • sinput.adb (Get_Source_File_Index): Add assertion to guard against an invalid… · 968d9db3
      sinput.adb (Get_Source_File_Index): Add assertion to guard against an invalid access to an uninitialized slot in...
      
      2007-12-06  Thomas Quinot  <quinot@adacore.com>
      
      	* sinput.adb (Get_Source_File_Index): Add assertion to guard against
      	an invalid access to an uninitialized slot in the
      	Source_File_Index_Table.
      
      From-SVN: r130860
      Thomas Quinot committed
    • sem_util.ads, [...] (Is_Concurrent_Interface): New routine. · 7f0e4cdb
      2007-12-06  Bob Duff  <duff@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
      	(Set_Convention): New procedure to set the Convention flag, and in
      	addition make sure the Favor_Top_Level flag is kept in sync (all
      	foreign-language conventions require Favor_Top_Level = True).
      	(Collect_Abstract_Interfaces): Update occurrences of Related_Interface
      	to Related_Type.
      	(Collect_Interfaces_Info): Minor update to handle the two secondary
      	dispatch tables. Update occurrence of Related_Interface to Related_Type.
      	(Generate_Parent_Ref): Add parameter to specify entity to check
      	(Is_Preelaborable_Expression): Allow the name of a discriminant to
      	initialize a component of a type with preelaborable initialization.
      	This includes the case of a discriminal used in such a context.
      	(Is_Dependent_Component_Of_Mutable_Object): Take into account the
      	latest Ada 2005 rules about renaming and 'Access of
      	discriminant-dependent components.
      	(Check_Nested_Access): Add handling when there are no enclosing
      	subprograms (e.g. case of a package body).
      	(Find_Parameter_Type): Factor routine from several other compiler files.
      	Remove routine from Find_Overridden_Synchronized_Primitive.
      
      From-SVN: r130859
      Bob Duff committed
    • sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check whether… · 8a4444e8
      sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check whether formal E is an entity which may have parameters.
      
      2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
      	whether formal E is an entity which may have parameters.
      
      From-SVN: r130858
      Hristian Kirtchev committed
    • sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so… · a1980be8
      sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so do not call Check_Non_Static_Context.
      
      2007-12-06  Geert Bosch  <bosch@adacore.com>
      
      	* sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
      	context, so do not call Check_Non_Static_Context.
      
      From-SVN: r130857
      Geert Bosch committed
    • sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an inherited… · d215a13c
      sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an inherited operation is a defaulted...
      
      2007-12-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
      	inherited operation is a defaulted tag-indeterminate call, and there is
      	a statically tagged actual, use the static tag as a controlling actual
      	for the defaulted actual.
      
      From-SVN: r130856
      Ed Schonberg committed
    • sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a requeue… · 3ccd9410
      sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a requeue statement is dispatching.
      
      2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
      	requeue statement is dispatching. Do not emit an error when the name is
      	not an entry and the context is a dispatching select. Add code to
      	perform subtype conformance between the formals of the current entry
      	and those of the target interface primitive.
      	(Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
      	Timed_Entry_Call): Analyze the triggering statement as the first step of
      	the processing. If this is a dispatching select, postpone the analysis
      	of all select statements until the Expander transforms the select. This
      	approach avoids generating duplicate identifiers after the Expander has
      	replicated some of the select statements. In case the Expander is
      	disabled, perform regular analysis.
      	(Check_Triggering_Statement): New routine.
      	(Analyze_Requeue): Exclude any interpretations that are not entries when
      	checking overloaded names in a requeue. Also test type conformance for
      	matching interpretations rather than requiring subtype conformance at
      	that point to conform with the RM's resolution rule for requeues.
      
      From-SVN: r130855
      Hristian Kirtchev committed
    • sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for renaming… · 294ccb21
      sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for renaming entry as subprogram using rename-as-body if...
      
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
      	renaming entry as subprogram using rename-as-body if subprogram spec
      	frozen.
      	(Use_One_Type): The clause is legal on an access type whose designated
      	type has a limited view.
      	(Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
      	(Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
      	(Analyze_Renamed_Primitive_Operation): new procedure to determine the
      	operation denoted by a selected component.
      	(Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
      	it can be an expression, possibly overloaded, that returns a task or
      	an access to one.
      
      From-SVN: r130854
      Robert Dewar committed
    • sem_ch4.adb (Analyze_Selected_Component): Include the requeue statement to the… · d469eabe
      sem_ch4.adb (Analyze_Selected_Component): Include the requeue statement to the list of contexts where a selected...
      
      2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Analyze_Selected_Component): Include the requeue
      	statement to the list of contexts where a selected component with a
      	concurrent tagged type prefix should yield a primitive operation.
      	(Find_Primitive_Operation): Handle case of class-wide types.
      	(Analyze_Overloaded_Selected_Component): If type of prefix is
      	class-wide, use visible components of base type.
      	(Resolve_Selected_Component): Ditto.
      	(Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
      	formal of a generic subprogram. find candidate interpretations by
      	scanning the list of generic formal declarations.:
      	(Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
      	type from a limited_with_clause, and the full view is available, use it
      	for subsequent semantic checks.
      	(Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
      	(Find_Primitive_Operation): New function.
      	(Analyze_Overloaded_Selected_Component): insert explicit dereference
      	only once if several interpretations of the prefix yield an access type.
      	(Try_Object_Operation): Code and comment cleanup.
      	(Analyze_Selected_Component): Reorder local variables. Minot comment and
      	code reformatting. When the type of the prefix is tagged concurrent, a
      	correct interpretation might be available in the primitive and
      	class-wide operations of the type.
      
      From-SVN: r130853
      Hristian Kirtchev committed
    • s-imenne.adb, [...]: New files. · 01b18343
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* s-imenne.adb, s-imenne.ads: New files.
      
      	* s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb, 
      	s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb, 
      	s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads, 
      	s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb, 
      	s-imgwch.ads: New calling sequence for Image routines to avoid sec
      	stack usage.
      
      From-SVN: r130852
      Robert Dewar committed
    • sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram renaming declaration... · 859fd598
      2007-12-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
      	renaming declaration, use the Slocs of the formal parameters from the
      	declaration of the formal subprogram when creating the formal parameter
      	entities in the renaming declaration.
      	(Analyze_Formal_Type_Declaration): Change the placement of the error
      	message concerning illegal known discriminants. It is now posted on the
      	type rather than on the first discriminant. This change ensures early
      	error report.
      	(Freeze_Subprogram_Body): If the generic subprogram is nested within
      	the package body that contains the instance, do not generate an
      	out-of-place freeze node for the enclosing package.
      	(Collect_Previous_Instantiations): Ignore internal instantiations
      	generated for formal packages.
      	(Validate_Derived_Type_Instance): Add a check that when a formal
      	derived type is Known_To_Have_Preelab_Init then the actual type must
      	have preelaborable initialization, and issue an error when this
      	condition is violated.
      
      From-SVN: r130851
      Ed Schonberg committed
    • sem_ch10.adb (Check_Private_Child_Unit): A non-private library level subprogram… · e116d16c
      sem_ch10.adb (Check_Private_Child_Unit): A non-private library level subprogram body that acts as its own spec may not...
      
      2007-12-06  Thomas Quinot  <quinot@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
      	subprogram body that acts as its own spec may not have a non-private
      	WITH clause on a private sibling.
      	(Build_Unit_Name): If the parent unit in the name in a with_clause on a
      	child unit is a renaming, create an implicit with_clause on that
      	parent, and not on the unit it renames, to prevent visibility errors
      	in the current unit.
      
      From-SVN: r130850
      Thomas Quinot committed
    • g-byorma.adb, [...]: New files. · b26b5a8f
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
      	g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
      
      	* scn.adb: Implement BOM recognition
      
      From-SVN: r130849
      Robert Dewar committed
    • rtsfind.adb (Check_CRT): Take into account RTE_Available_Call Fixes another case where... · 150bbaff
      	* rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
      	Fixes another case where RTE_Available_Call was ignored instead of being
      	taken into account.
      	(Load_Fail): Ditto.
      
      	* rtsfind.ads: Add new entries.
      
      From-SVN: r130848
      Arnaud Charlet committed
    • restrict.ads, [...] (Check_Implicit_Dynamic_Code_Allowed): New procedure to be… · cadf64d1
      restrict.ads, [...] (Check_Implicit_Dynamic_Code_Allowed): New procedure to be called from the back end to check the...
      
      2007-12-06  Bob Duff  <duff@adacore.com>
      
      	* restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
      	procedure to be called from the back end to check the
      	No_Implicit_Dynamic_Code restriction.
      
      From-SVN: r130847
      Bob Duff committed
    • prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a string · 6c1f47ee
      2007-12-06  Emmanuel Briot  <briot@adacore.com>
      	    Vincent Celier  <celier@adacore.com>
      
      	* prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
      	string
      	(Must_Check_Configuration, Default_Language_Is_Ada): new flags in
      	prj.ads
      	(Hash): Move instantiation of System.HTable.Hash from spec to body
      	(prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
      	systems, since we do not need to recompute the Name_Id for the canonical
      	file name.
      	(Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
      	as a parameter. This parameter is in fact always "ada" in all calls, and
      	we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
      	while loading a project with 40000 files
      
      	* prj-attr.adb: Fix name of attribute Dependency_Driver
      	Change the kind of indexing for attribute Root
      
      	* prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
      	variables already declared, in case constructions.
      
      	* prj-env.adb (Initialize): Reset Current_Source_Path_File and
      	Current_Object_Path_File to No_Path.
      
      	* prj-ext.adb (Initialize_Project_Path): In multi language mode, use
      	ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
      
      	* prj-makr.adb: new parameter Current_Dir
      
      	* prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
      	Ada sources when language is not Ada.
      	Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
      	(Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
      	(Must_Check_Configuration, Default_Language_Is_Ada): new flags.
      	(Locate_Directory): Always resolve links when computing Canonical_Path
      	(Look_For_Sources): Make sure that Name_Buffer contains the file name
      	in Source_Files before checking for the presence of a directory
      	separator.
      	Optimize calls to Name_Find when on case sensitive systems.
      	(Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
      	as a parameter.
      	(Prj.Nmsc.Check): new parameter Current_Dir
      	(Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
      	cannot be empty and the spec suffix cannot be the same as the body or
      	separate suffix.
      	(Get_Unit): When a file name can be of several unit kinds (spec, body or
      	subunit), always consider the longest suffix.
      	(Check_Configuration): Do not issue an error if there is no compiler
      	for a language. Just issue a warning and ignore the sources for the
      	language.
      	(Check_Library_Attributes): Only check Library_Dir if Library_Name is
      	not empty.
      	(Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
      	(Unit_Exceptions): New hash table
      	(Check_Naming_Schemes): Check if a file that could be a unit because of
      	the naming scheme is not in fact a source because there is an exception
      	for the unit.
      	(Look_For_Sources): Put the unit exceptions in hash table
      	Unit_Exceptions
      	(Get_Unit_Exceptions): Give initial value No_Source to local variable
      	Other_Part to avoid exception when code is compiled with validity
      	checking.
      	(Get_Sources_From_File): Check that there is no directory information
      	in the file names.
      	(Look_For_Sources): Check that there is no directory information in the
      	list of file names in Source_Files.
      	(Look_For_Sources): In multi-language mode, do not allow exception file
      	names that are excluded.
      	(Excluded_Sources_Htable): New hash table
      	(Search_Directories.Check_File): New procedure to simplify
      	Search_Directories.
      	(Search_Directories): Do not consider excluded sources
      	(Look_For_Sources): Populate Excluded_Sources_Htable before calling
      	Search_Directories.
      	(Get_Exceptions): Set component Lang_Kind of Source_Data
      	(Get_Unit_Exceptions): Ditto
      	(Search_Directories): Ditto
      
      	* prj-pars.adb: new parameter Current_Dir
      
      	* prj-part.ads, prj-part.adb: 
      	Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
      	(Opt.Follow_Links_For_Dirs): New flag
      	(Project_Path_Name_Of): Cache information returned by this routine as
      	Locate_Regular_File is a costly routine. The code to output a log
      	information and the effective call to Locate_Regular_File is now
      	factorized into a routine (code clean-up).
      	(Parse, Parse_Single_Project): new parameter Current_Dir
      	When main project file cannot be found, indicate in the error
      	message the project path that was used to do the search.
      
      	* prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
      	(Prj.Proc.Process*): new parameter Current_Dir
      
      	* switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
      
      From-SVN: r130846
      Emmanuel Briot committed
    • inline.adb (Back_End_Cannot_Inline): Use new flag Has_Pragma_Inline_Always… · 800621e0
      inline.adb (Back_End_Cannot_Inline): Use new flag Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
      
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* inline.adb (Back_End_Cannot_Inline): Use new flag
      	Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
      
      	* sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
      	Has_Pragma_Inline_Always instead.
      	of obsolete function Is_Always_Inlined
      	(Build_Body_To_Inline): Same change
      	(Cannot_Inline): Same change
      	Do not give warning on exception raise in No_Return function
      
      	* sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
      	component has two inconsistent component clauses in the same record
      	representation clause, favor the message that complains about
      	duplication rather than inconsistency.
      	Update comments.
      	(Record_Representation_Clause): Do not warn on missing component
      	clauses for inherited components of a type extension.
      	(Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
      	an overloadable item if it is a pragma that can apply to multiple
      	overloadable entities (e.g. Inline) because a pragma cannot be on
      	more than one chain at a time.
      	(Validate_Unchecked_Conversion): Add code to warn on unchecked
      	conversion where one of the operands is Ada.Calendar.Time.
      	(Analyze_Attribute_Definition_Clause): Fix typo in error message.
      	For now, ignore Component_Size clause on VM targets, as done for
      	pragma Pack.
      
      From-SVN: r130845
      Robert Dewar committed
    • g-spipat.adb (Break): Fix accessibility error (vsn taking not null access Vstring) · fcedf218
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* g-spipat.adb (Break): Fix accessibility error (vsn taking not null
      	access Vstring)
      
      From-SVN: r130844
      Robert Dewar committed
    • g-spchge.ads, [...]: New files. · c80d4855
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
      	g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
      	namet-sp.adb, namet-sp.ads: New files.
      
      	* g-speche.adb: Use generic routine in g-spchge
      
      	* s-wchcnv.ads, s-wchcnv.adb: 
      	Minor code cleanup (make formal type consistent with spec)
      
      	* namet.adb: Update comments.
      
      	* par-endh.adb (Evaluate_End_Entry): Use new
      	Namet.Sp.Is_Bad_Spelling_Of function
      
      	* par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
      
      	* sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
      	ancestor is an access type initialized with a box, set its type
      	explicitly, for use in subsequent expansion.
      	(Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
      	function
      
      From-SVN: r130843
      Robert Dewar committed
    • g-regist.ads, [...] (Set_Value): new parameter Expand... · 1fdc61b5
      2007-12-06  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
      	set to True this procedure will create the value of type REG_EXPAND_SZ.
      	It was only possible to create REG_SZ values before.
      
      From-SVN: r130842
      Vasiliy Fofanov committed
    • gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when object… · 422ba273
      gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when object directory of main project...
      
      2007-12-06  Vincent Celier  <celier@adacore.com>
      
      	* gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
      	object directory of main project does not exist.
      	On VMS, correctly set then environment variable for the source
      	directories.
      
      From-SVN: r130841
      Vincent Celier committed
    • gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target · 7b76e805
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
      
      	* layout.adb (Resolve_Attribute, case 'Access): If designated type of
      	context is a limited view, use non-limited view when available. If the
      	non-limited view is an unconstrained array, this enforces consistency
      	requirements in 3.10.2 (27).
      	(Layout_Type): For an access type whose designated type is a limited
      	view, examine its declaration to determine if it is an unconstrained
      	array, and size the access type accordingly.
      	(Layout_Type): Do not force 32-bits for convention c subprogram
      	pointers in -gnatdm mode, only if real vms target.
      
      	* sem_attr.adb (Analyze_Access_Attribute): Use new flag
      	Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
      	(Analyze_Access_Attribute,Attribute_Address): Remove checks for
      	violations of the No_Implicit_Dynamic_Code restriction.
      	(Resolve_Attribute, case 'Access): If designated type of context is a
      	limited view, use non-limited view when available. If the non-limited
      	view is an unconstrained array, this enforces consistency requirements
      	in 3.10.2 (27).
      	(Layout_Type): For an access type whose designated type is a limited
      	view, examine its declaration to determine if it is an unconstrained
      	array, and size the access type accordingly.
      
      From-SVN: r130840
      Robert Dewar committed
    • g-calend.ads (No_Time): New constant, to represent an uninitialized time value · 7d304f61
      2007-12-06  Emmanuel Briot  <briot@adacore.com>
      
      	* g-calend.ads (No_Time): New constant, to represent an uninitialized
      	time value
      
      	* g-catiio.ads, g-catiio.adb (Value): Added support for more date
      	formats.
      	(Month_Name_To_Number): New subprogram
      
      	* g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
      	letter to upper-case.
      
      From-SVN: r130839
      Emmanuel Briot committed
    • exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for assert fail · 36fcf362
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
      	assert fail
      
      	* ug_words: Add entries for -gnatw.a -gnatw.A
      
      	* sem_res.adb (Set_String_Literal_Subtype): If the context of the
      	literal is a subtype with non-static constraints, use the base type of
      	the context as the base of the string subtype, to prevent type
      	mismatches in gigi.
      	(Resolve_Actuals): If the actual is an entity name, generate a
      	reference before the actual is resolved and expanded, to prevent
      	spurious warnings on formals of enclosing protected operations.
      	(Analyze_Overloaded_Selected_Component): If type of prefix if
      	class-wide, use visible components of base type.
      	(Resolve_Selected_Component): Ditto.
      	(Resolve_Short_Circuit): Detect case of pragma Assert argument
      	evaluating to False, and issue warning message.
      
      	* usage.adb: Add lines for -gnatw.a and -gnatw.A
      
      From-SVN: r130838
      Robert Dewar committed
    • exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing support for… · c8b92217
      exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing support for generic dispatching constructor calls in which we need...
      
      2007-12-06  Javier Miranda  <miranda@adacore.com>
      
      	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
      	support for generic dispatching constructor calls in which we need to
      	locate the tag of a secondary dispatch table associated with an
      	interface type to properly dispatch the call.
      	(Expand_N_Attribute_Reference [case Address],
      	Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
      	handling of VM targets.
      
      From-SVN: r130837
      Javier Miranda committed
    • expect.c (__gnat_kill): Implement the SIGINT signal on Windows. · 38386aae
      2007-12-06  Pascal Obry  <obry@adacore.com>
      
      	* expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
      	Windows. This signal is used by gnatmake to kill child processes for
      	example.
      
      From-SVN: r130836
      Pascal Obry committed
    • exp_disp.ads, [...] (Default_Prim_Op_Position): Primitive _Disp_Requeue occupies… · 80b992ae
      exp_disp.ads, [...] (Default_Prim_Op_Position): Primitive _Disp_Requeue occupies dispatch table slot number 15.
      
      2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
      	_Disp_Requeue occupies dispatch table slot number 15. Move
      	_Disp_Timed_Select to slot 16.
      	(Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
      	generate the spec and body of _Disp_Reqeueue.
      	(Make_DT): Build and initialize the second dispatch table.
      	Handle initialization of RC_Offset when the parent
      	is a private type with variable size components.
      	(Make_Secondary_DT): Complete documentation. Add support to
      	initialize the second dispatch table.
      	(Make_Tags): Generate the tag of the second dispatch table.
      	(Register_Primitive): Add support to register primitives in the
      	second dispatch table.
      
      From-SVN: r130835
      Hristian Kirtchev committed
    • exp_ch9.adb (Expand_N_Asynchronous_Select, [...]): Code and comment reformatting. · 867aba4e
      2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch9.adb (Expand_N_Asynchronous_Select,
      	Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
      	comment reformatting.
      	(Set_Privals): Inherit aliased flag from formal. From code reading.
      	(Build_Simple_Entry_Call): Out parameters of an access type are passed
      	by copy and initialized from the actual. This includes entry parameters.
      	(Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
      	and Ada 2005 models of requeue.
      	(Null_Statements): Still connsider do-end block null if it contains
      	Unreferenced and Warnings pragmas.
      	(Expand_N_Accept_Statement): Do not optimize away null do end if
      	dispatching policy is other than defaulted.
      	(Expand_N_Timed_Entry_Call): When the triggering statement is a
      	dispatching call, manually analyze the delay statement.
      	(Find_Parameter_Type): Move subprogram to Sem_Util.
      
      From-SVN: r130834
      Hristian Kirtchev committed
    • exp_ch8.ads, [...] (Expand_N_Subprogram_Renaming_Declaration): In the case where… · fae4d839
      exp_ch8.ads, [...] (Expand_N_Subprogram_Renaming_Declaration): In the case where the renamed subprogram is a dereference...
      
      2007-12-06  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
      	In the case where the renamed subprogram is a dereference, call
      	Force_Evaluation on the prefix.
      
      From-SVN: r130833
      Gary Dismukes committed
    • exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute… · d07e197c
      exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute Is_Complation_Unit by Is_Library_Level_Entity...
      
      2007-12-06  Javier Miranda  <miranda@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
      	Is_Complation_Unit by Is_Library_Level_Entity in the code
      	that decides if the static dispatch tables need to be built.
      	(Wrap_Transient_Declaration): Do not generate a finalization call if
      	this is a renaming declaration and the renamed object is a component
      	of a controlled type.
      
      From-SVN: r130832
      Javier Miranda committed
    • exp_ch4.adb (Expand_N_Attribute_Reference, [...]): Take into account VM_Target · 303b4d58
      	* exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
      	Expand_Allocator_Expression): Take into account VM_Target
      
      	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
      	secondary stack when VM_Target /= No_VM
      
      From-SVN: r130831
      Arnaud Charlet committed