1. 04 Aug, 2011 40 commits
    • gnat_rm.texi: Document new pragma and aspect. · dac3bede
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Document new pragma and aspect.
      	* aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
      	(No_Duplicates_Allowed): new constant array defining whether duplicates
      	aspects of each kind can appear on the same declaration.
      	* einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
      	field, which points to a node holding the previous Spec_PPC_List.
      	* exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
      	through the indirection with Contract.
      	* exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
      	* par-prag.adb (Prag): do nothing on Test_Case pragma
      	* sem.adb (Analyze): abort on N_Contract, on which Analyze should not
      	be called directly.
      	* sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
      	component Ensures of Test_Case.
      	* sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
      	(Analyze_Generic_Subprogram_Declaration,
      	Analyze_Subprogram_Instantiation,
      	Analyze_Abstract_Subprogram_Declaration,
      	Analyze_Subprogram_Body_Helper,
      	Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
      	insert contract in subprogram node at point of definition
      	* sem_ch13.adb
      	(Aspect_Loop): do not raise error on duplicate Test_Case aspect
      	(Analyze_Aspect_Specifications): analyze Test_Case aspect and create
      	corresponding pragma
      	(Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
      	* sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
      	similar to the analysis of pre/post
      	(Derive_Subprogram): insert contract in subprogram node at point of
      	derivation.
      	* sem_prag.adb, sem_prag.ads
      	(Check_Arg_Is_String_Literal, Check_Identifier):
      	new checking procedures to be called in treatment of pragmas
      	(Check_Test_Case): new procedure to check that a Test_Case aspect or
      	pragma is well-formed. This does not check currently that 'Result is
      	used only in the Ensures component of a Test_Case.
      	(Analyze_Pragma): add case for Test_Case
      	(Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
      	components of a Test_Case.
      	(Preanalyze_TC_Args): new procedure to preanalyze the boolean
      	expressions in the 3rd (and 4th if present) arguments of a Test_Case
      	pragma, treated as spec expressions.
      	(Sig_Flags): add value -1 for Test_Case.
      	* sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
      	Get_Requires_From_Test_Case_Pragma): getters for both expression
      	components of a Test_Case.
      	* sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
      	indirection between an entry or [generic] subprogram entity and its
      	pre/post + test-cases.
      	(Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
      	get/set for fields of an N_Contract node.
      	* snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
      	Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
      	names and pragma for Test_Case.
      	* sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
      
      From-SVN: r177384
      Yannick Moy committed
    • [multiple changes] · 6a2e5d0f
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Improve documentation of gnatmake switch
      	--source-info-file=.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
      	type). Initialize Atyp to the appropriate type which is later checked
      	for completion. Rewrite the assertion associated with private type
      	completion.
      
      2011-08-04  Ed Falis  <falis@adacore.com>
      
      	* adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
      	initialize the number of CPUs.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Disambiguate): New subsidiary routine
      	In_Same_Declaration_List, to implement AI05-0020: a user-defined
      	equality on an anonymous access type whose designated type is private
      	does not lead to an ambiguity with the universal access equality
      	operator in the body or child units of the defining package. The same
      	is true for a multiplication operator on a private type completed with
      	a fixed-point-type.
      
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* opt.ads (Init_Or_Norm_Scalars_Config): Removed.
      	(Normalize_Scalars_Config): Removed.
      	* opt.adb
      	(Register_Opt_Config_Switches): Remove registering config values of
      	Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
      	(Restore_Opt_Config_Switches): Remove code which restores the values of
      	Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
      	Init_Or_Norm_Scalars.
      	(Save_Opt_Config_Switches): Remove code which saves values of
      	Init_Or_Norm_Scalars and Normalize_Scalars.
      	(Set_Opt_Config_Switches): Remove code which restores config values of
      	Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
      	Init_Or_Norm_Scalars.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* frontend.adb (Frontend): remove previous patch to avoid full
      	qualification in ALFA mode.
      	* lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
      	* sem_util.adb, sem_util.ads (Unique_Name): new function to define a
      	unique name for an entity, which could be used to identify the entity
      	across compilation units.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* prj-env.adb
      	(Initialize_Default_Project_Path): Add target specific directory
      	($prefix/$target/lib/gnat) in front of project path in all cases
      	(making gnatmake's behaviour consistent with gprbuild).
      	* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
      	Pass target name from Sdefault to project subsystem.
      	* gnatls.adb: Show new target specific default project directory.
      
      2011-08-04  Johannes Kanig  <kanig@adacore.com>
      
      	* cstand.adb: Add Information to Identifier in Standard
      	(Identifer_For): Set Entity to the corresponding entity
      
      From-SVN: r177383
      Arnaud Charlet committed
    • [multiple changes] · 483361a6
      2011-08-04  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Update doc on gnatcheck.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
      	xrefs in a scope.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
      	performing expansion.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper,
      	Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
      	it is not called in ALFA mode.
      
      From-SVN: r177382
      Arnaud Charlet committed
    • [multiple changes] · ef5569c6
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
      	after all, so removed.
      
      2011-08-04  Sergey Rybin  <rybin@adacore.com>
      
      	* vms_data.ads: Add missing VMS qualifiers.
      
      From-SVN: r177381
      Arnaud Charlet committed
    • make.adb, [...] (Check_Mains): rebuild the list of files on the command line… · 1ab4a286
      make.adb, [...] (Check_Mains): rebuild the list of files on the command line after processing it through...
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
      	the list of files on the command line after processing it through
      	Complete_Mains.
      
      From-SVN: r177380
      Emmanuel Briot committed
    • [multiple changes] · 7ae0d98c
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Build_Raise_Statement): Remove the specialized
      	processing for .NET/JVM. These targets can now benefit from
      	Raise_From_Controlled_Operation and they share the same processing with
      	standard targets.
      	(Establish_Transient_Scope): Remove the restriction for .NET/JVM.
      	These targets need transient scopes in order to properly finalize short
      	lived controlled objects.
      	(Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
      	 NET/JVM. These targets can now benefit from
      	Raise_From_Controlled_Operation and they share the same processing with
      	standard targets.
      
      2011-08-04  Geert Bosch  <bosch@adacore.com>
      
      	* tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
      	Expand_Record_Aggregate, to determine whether aggregate must be
      	expanded into assignments. This is the case if the ancestor part is
      	private, regarless of the setting of the flag Has_Private_Ancestor.
      
      2011-08-04  Ed Falis  <falis@adacore.com>
      
      	* vxaddr2line.adb: Add support for e500v2 and for Linux hosts
      
      2011-08-04  Bob Duff  <duff@adacore.com>
      
      	* sinfo.ads: Fix comment.
      
      2011-08-04  Steve Baird  <baird@adacore.com>
      
      	* bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
      	choose a package name in much the same way as is
      	done for JGNAT when VM_Target /= No_VM, except that
      	a slightly more distinctive prefix string is used.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* makeutl.adb (Complete_Mains): no longer accept unit names on the
      	gnatmake command line.
      	This behavior was never documented (and was supported only because of
      	an early bug in the code). This case might lead to ambiguous cases
      	(between unit names and truncated base names without suffixes).
      
      From-SVN: r177379
      Arnaud Charlet committed
    • [multiple changes] · 87729e5a
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
      	Remove the external tag of a tagged type from the internal hash table.
      	* exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
      	expanded usage of the routine. Strenghten the check for Is_Master. Add
      	processing for tagged types.
      	(Build_Finalizer): Create all the necessary lists used in finalizer
      	creation when the processed context is a package that may contain
      	tagged types.
      	(Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
      	Requires_Cleanup_Actions.
      	(Expand_N_Package_Body): Package bodies may need clean up code
      	depending on whether they contain tagged types.
      	(Expand_N_Package_Declaration): Package declarations may need clean up
      	code depending on whether they contain tagged types.
      	(Unregister_Tagged_Types): New routine. Search through a list of
      	declarations or statements, looking for non-abstract Ada tagged types.
      	For each such type, generate code to unregister the external tag.
      	* exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
      	Requires_Cleanup_Actions.
      	(Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
      	through a list of declarations or statements looking for non-abstract
      	Ada tagged types or controlled objects.
      	* exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
      	Requires_Cleanup_Actions.
      	(Has_Controlled_Objects (List_Id, Boolean)): Removed.
      	* rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
      	RE_Unit_Table.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
      	has Ada sources, not project Project, because if the root project
      	Project has no sources of its own, all projects will be deemed without
      	sources.
      
      2011-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
      	of the No_Param_Proc acc-to-subp type used for initialization of
      	__gnat_finalize_library_objects so that it's declared at library level
      	rather than nested inside of the adainit routine.
      
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
      	if the tagged type has a representation clause which specifies its
      	external tag.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
      	Remove previous procedure with that name.
      	* sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
      	when appropriate.
      	* sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
      	subtype mark, the ancestor cannot have unknown discriminants.
      	(Resolve_Record_Aggregate): if the type has invisible components
      	because of a private ancestor, the aggregate is illegal.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
      	account switches -gnat2005, -gnat12 and -gnat2012.
      
      2011-08-04  Bob Duff  <duff@adacore.com>
      
      	* s-tasdeb.ads: Minor comment fix.
      
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
      	CodePeer mode.
      	* switch.ads, switch.adb (Is_Language_Switch): New function.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* switch-c.adb: Minor comment addition.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* vms_conv.adb (Process_Argument): Fail graciously when qualifier
      	ending with '=' is followed by a space (missing file name).
      
      2011-08-04  Pascal Obry  <obry@adacore.com>
      
      	* g-regist.ads: Fix size of HKEY on x86_64-windows.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Associations): New routine
      	Check_Overloaded_Formal_Subprogram to reject a formal package when
      	there is a named association or a box initialisation for an overloaded
      	formal subprogram of the corresponding generic.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* alfa.ads (ALFA_Xref_Record): add component for type of entity
      	* get_alfa.adb, put_alfa.adb: Read and write new component of
      	cross-reference.
      	* lib-xref-alfa.adb (Collect_ALFA): generate new component.
      
      From-SVN: r177378
      Arnaud Charlet committed
    • [multiple changes] · 88f47280
      2011-08-04  Pascal Obry  <obry@adacore.com>
      
      	* urealp.adb: Minor reformatting.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
      	Handle the case when Cleanup_Protected_Object returns Empty.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* frontend.adb (Frontend): only qualify names in non-ALFA mode
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
      	call, ignore functions.
      
      From-SVN: r177377
      Arnaud Charlet committed
    • urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating point. · 05c53a69
      2011-08-04  Geert Bosch  <bosch@adacore.com>
      
      	* urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
      	point.
      
      From-SVN: r177376
      Geert Bosch committed
    • makeutl.adb (Compute_Builder_Switches): no longer accept a unit name as an index… · 23cc1ace
      makeutl.adb (Compute_Builder_Switches): no longer accept a unit name as an index for Builder'Switches.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
      	as an index for Builder'Switches. This conforms to the documentation.
      	* make.adb (Insert_Project_Sources): avoid duplicate code
      
      From-SVN: r177375
      Emmanuel Briot committed
    • [multiple changes] · cef14201
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* makeutl.adb (Complete_Mains): if the user has passed a relative file
      	name on the command line (for instance "../dummy"), never assume it can
      	be a unit name.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* bindgen.adb: Remove code the reference or create the
      	Break_Start/__gnat_break_start procedure.
      	* s-stalib.adb (Break_Start): Removed.
      
      From-SVN: r177374
      Arnaud Charlet committed
    • make.adb, [...] (Compute_Builder_Switches): now shared with gprbuild. · e2fee30d
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
      	shared with gprbuild.
      
      From-SVN: r177372
      Emmanuel Briot committed
    • [multiple changes] · 2d395256
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* par-ch4.adb (P_Primary): preferentially issue an error message about
      	a missing parenthesis arount a conditional or case expression in Ada
      	2012 mode, if we detect that the alignment is not correct for a
      	statement.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Process_Declarations): Do not consider the result of a
      	tag-to-class-wide conversion as needing finalization actions.
      	* exp_util.adb (Has_Controlled_Objects): Do not consider the result of
      	a tag-to-class-wide conversion as needing finalization actions.
      	(Is_Finalizable_Transient): The result of a tag-to-class-wide
      	conversion does not need finalization actions.
      	(Is_Tag_To_CW_Conversion): New routine.
      	* exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
      	whether an object is the result of a tag-to-class-wide conversion.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
      	the left-hand-side and right-hand-side of a conjunct are inserted when
      	translating a pre- or postcondition
      	* sem_ch6.adb: Correct typo in comment
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* gnat_rm.texi: Ravenscar does not prohibit dependence on
      	Unchecked_Conversion and Unchecked_Deallocation.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* make.adb: Minor reformatting.
      
      From-SVN: r177371
      Arnaud Charlet committed
    • prj.adb, [...] (Complete_Mains): search for the sources in the project and its imported projects... · 767ab2fd
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
      	sources in the project and its imported projects, but not in the whole
      	tree.
      
      From-SVN: r177370
      Emmanuel Briot committed
    • [multiple changes] · 8fb3f5df
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb: Remove debug trace.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb (Do_Complete): Get the absolute path name of a relative
      	path in canonical form, to be able to compare path names on platforms
      	such as Windows or Darwin.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
      	For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
      	* scos.ads: Update documentation accordingly.
      	* put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
      	pragmas.
      
      From-SVN: r177369
      Arnaud Charlet committed
    • re PR tree-optimization/49957 (Fails to SLP in 410.bwaves) · 428f80e6
      2011-08-04  Richard Guenther  <rguenther@suse.de>
      
      	PR fortran/49957
      	* trans-array.c (add_to_offset): New function.
      	(gfc_conv_array_ref): Build the array index expression in optimally
      	associated order.
      	(gfc_walk_variable_expr): Adjust for the backward walk.
      
      	* gfortran.dg/vect/O3-pr49957.f: New testcase.
      
      From-SVN: r177368
      Richard Guenther committed
    • [multiple changes] · 9515740f
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
      	attribute only if prefix type is scalar.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
      	in gnatmake for specifying mains on the command line that do not belong
      	to the main project. These mains must currently all belong to the same
      	project, though.
      	(Ultimate_Extension_Of): removed, since duplicated
      	Ultimate_Extending_Project.
      
      From-SVN: r177367
      Arnaud Charlet committed
    • [multiple changes] · 92966893
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
      	instead.
      	(CodePeer_Mode_String): New.
      	(Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
      	CodePeer mode.
      	(Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
      	* bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
      	mode, since no useful elaboration subprogram is needed by CodePeer.
      	* gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
      	In this mode, compile binder file with -gnatC and do stop after this
      	step.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* exp_ch7.adb: Minor comment fix.
      
      From-SVN: r177366
      Arnaud Charlet committed
    • exp_ch7.adb, [...]: Minor reformatting. · 5969611f
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
      	exp_ch4.adb, makeutl.adb: Minor reformatting.
      
      From-SVN: r177365
      Robert Dewar committed
    • [multiple changes] · 6367dd30
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
      	Create several new subprograms to move code out of Make. This makes the
      	code more readable, removes code duplication, and is a preparation work
      	for adding support for aggregate projects.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* s-po32gl.ads, s-po32gl.adb: New files.
      	* exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
      	* exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
      	(Build_Finalization_Collection): Use it.
      	* exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
      	* rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
      	literals.
      	* gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r177364
      Arnaud Charlet committed
    • makeutl.adb (Complete_Mains): add support for specs with no suffix on the command line. · cd8bfe35
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* makeutl.adb (Complete_Mains): add support for specs with no suffix on
      	the command line.
      
      From-SVN: r177363
      Emmanuel Briot committed
    • make.adb, [...] (Complete_Mains): if a main specified on the command line is not a file name... · 7db29ea7
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, makeutl.adb (Complete_Mains): if a main specified on the
      	command line is not a file name, also check whether it could be a unit
      	name.
      
      From-SVN: r177362
      Emmanuel Briot committed
    • [multiple changes] · d9b056ea
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
      	the header of the finalization routine.
      	If the unit has no finalizer but is a body whose spec has one, then
      	generate the decrement of the elaboration entity only.
      	If the unit has a finalizer and is a spec, then do not generate the
      	decrement of the elaboration entity.
      	(Gen_Finalize_Library_C): Likewise.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Alignment_Of): New subsidiary routine.
      	(Bounds_Size_Expression): Removed.
      	(Double_Alignment_Of): New subsidiary routine.
      	(Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
      	for a hole in the dope vector of unconstrained arrays due to different
      	index and element alignments.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Allocator): diagnose task allocator that will
      	raise program_error because body has not been seen yet.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
      	an unresolved name.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb (Do_Complete): Check absolute paths in canonical forms
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
      	* sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
      	instantiation in RCI.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb: Share more code with gprbuild
      
      From-SVN: r177361
      Arnaud Charlet committed
    • [multiple changes] · f5fc5b9d
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* projects.texi: Added documentation for the IDE'Gnat project file
      	attribute.
      
      2011-08-04  Nicolas Roche  <roche@adacore.com>
      
      	* gnat_rm.texi: Minor editing.
      
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
      	and the library case for VM targets.
      	(Gen_Adainit_Ada): Likewise.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* g-altive.ads: Minor comment updates.
      	* prj-nmsc.adb: Minor reformatting.
      
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* opt.ads
      	(Normalize_Scalars_Config): Value of the configuration switch set by
      	pragma Normalize_Scalars when it appears in the gnat.adc file.
      	(Normalize_Scalars): New field for record Config_Switches_Type. Used
      	to save and restore settings of this pragma.
      	* opt.adb
      	(Register_Opt_Config_Switches, Save_Opt_Config_Switches,
      	Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
      
      From-SVN: r177360
      Arnaud Charlet committed
    • [multiple changes] · 0c4683cf
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* makeutl.adb: Minor reformatting.
      
      2011-08-04  Olivier Hainque  <hainque@adacore.com>
      
      	* g-altive.ads: Update comments to reflect that only the soft
      	binding is available today.
      
      From-SVN: r177359
      Arnaud Charlet committed
    • gengtype-state.c: Include "bconfig.h" if GENERATOR_FILE is defined, "config.h" otherwise. · f142b5bc
      2011-08-04  Romain Geissler  <romain.geissler@gmail.com>
      
      	* gengtype-state.c: Include "bconfig.h" if
      	GENERATOR_FILE is defined, "config.h" otherwise.
      	* gengtype.c: Likewise.
      	* gengtype-lex.l: Likewise.
      	* gengtype-parse.c: Likewise.
      	* Makefile.in (gengtype-lex.o-warn): New variable.
      	(plugin_resourcesdir): Likewise.
      	(plugin_bindir): Likewise.
      	(plugin_includedir): Use $(plugin_resourcesdir) as prefix base.
      	(MOSTLYCLEANFILES): Add gengtype$(exeext).
      	(native): Depend on gengtype$(exeext) is $enable_plugin
      	is set to "yes".
      	(gtype.state): Depend on s-gtype. Use temporary file.
      	(gengtype-lex.o): New rule.
      	(gengtype-parse.o): Likewise.
      	(gengtype-state.o): Likewise.
      	(gengtype$(exeext)): Likewise.
      	(install-gengtype): Likewise.
      	(gengtype.o): Likewise.
      	(build/gengtype.o): Depend on version.h.
      	(build/gengtype-state): Depend on double-int.h, version.h,
      	$(HASHTAB_H), $(OBSTACK_H), $(XREGEX_H) and build/errors.o.
      	(install-plugin): Depend on install-gengtype.
      
      From-SVN: r177358
      Romain Geissler committed
    • vfp-1.c: no large negative offsets on Thumb2. · b9e357d2
      testsuite/
      	* gcc.target/arm/vfp-1.c: no large negative offsets on Thumb2.
      
      From-SVN: r177357
      Ian Bolton committed
    • bindgen.adb, [...]: Minor reformatting · 2598ee6d
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
      	makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r177356
      Robert Dewar committed
    • [multiple changes] · c2db4b32
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* prj-env.adb: Remove local debug traces.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
      	was used instead of Hi_OK, which could cause a read of an uninitialized
      	value later on. Detected while working on the new warning.
      	* exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
      	to local variable.
      	* sem_ch5.adb (Analyze_Assignment): set the last assignment component
      	in more cases, in order to detect more unreferenced values.
      	* sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
      	object for expression, if any.
      
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
      	the operand types instead of the Esize.
      
      2011-08-04  Steve Baird  <baird@adacore.com>
      
      	* switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
      	enable CodePeer_Mode.
      	* bindusg.adb (Display): Add help message describing -P binder switch.
      	* gnat_ugn.texi: Document -P binder switch.
      	* bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
      	user-defined main program directly.
      	(Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
      	user-defined main program in the context clause of the package body.
      
      From-SVN: r177355
      Arnaud Charlet committed
    • Fix typo. · ceb0dcaa
      From-SVN: r177354
      Arnaud Charlet committed
    • [multiple changes] · ad05f2e9
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
      	duplicate of Defining_Entity
      	(Get_Unique_Entity_For_Decl): rename function into
      	Unique_Defining_Entity
      	* einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
      	(Formal_Proof_On): remove synthesized flag
      	* cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
      	sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
      	sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
      	* sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
      	Annotate (Formal_Proof)
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
      	source files with non-standard naming schemes, in imported projects
      
      From-SVN: r177353
      Arnaud Charlet committed
    • [multiple changes] · 756ef2a0
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* makeutl.adb (Complete_Mains): when a multi-unit source file is
      	specified on the gprbuild command line, we need to compile all units
      	within that file, not just the first one we find
      	Fix error message for mains that are not found.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch6.adb: Update comment.
      	* sem_ch12.adb: Minor reformatting.
      
      2011-08-04  Bob Duff  <duff@adacore.com>
      
      	* s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
      	Acceptor.Terminate_Alternative without locking Acceptor, which causes a
      	race condition whose symptom is to fail to lock Parent. That, in turn,
      	causes Parent.Awake_Count to be accessed without locking Parent, which
      	causes another race condition whose symptom is that Parent.Awake_Count
      	can be off by 1 (either too high or too low). The solution is to lock
      	Parent unconditionally, and then lock Acceptor, before reading
      	Acceptor.Terminate_Alternative.
      
      From-SVN: r177352
      Arnaud Charlet committed
    • [multiple changes] · 4fdebd93
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* debug.adb: Update comment.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
      	sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
      	exp_ch6.adb: Minor reformatting.
      
      2011-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* gnat_ugn.texi: Add sentence about the case of compile-time-detected
      	checks for -gnateE.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sinfo.ads: Minor reformatting.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
      	even if there is no location.
      
      From-SVN: r177351
      Arnaud Charlet committed
    • sem_res.adb, [...]: move check for restriction No_Task_Hierarchy to resolve_allocator. · 6aaa0587
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb, sem_ch4.adb: move check for restriction
      	No_Task_Hierarchy to resolve_allocator.
      
      From-SVN: r177350
      Ed Schonberg committed
    • [multiple changes] · 35a1c212
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
      	This flag of N_Pragma nodes is not used, remove it as well as all of
      	the associated circuitry.
      
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
      	runtime check on duplicated externa tags
      	* debug.adb Document switch -gnatdQ.
      
      2011-08-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* a-fihema.ads: Minor typo fix.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch10.adb: Minor comment update.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb: Update the node field usage to reflect the renaming of
      	Return_Flag to Return_ Flag_Or_Transient_Decl.
      	(Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
      	(Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
      	(Write_Field15_Name): Change Return_Flag to
      	Return_Flag_Or_Transient_Decl.
      	* einfo.ads: Rename node field Return_Flag to
      	Return_Flag_Or_Transient_Decl. Update the associated comment and all
      	occurrences in entities.
      	(Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
      	associated Inline pragma.
      	(Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
      	associated Inline pragma.
      	* exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
      	routine.
      	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
      	Return_Flag and Set_Return_Flag.
      	* exp_ch7.adb (Process_Declarations): Add code to recognize hook
      	objects generated for controlled transients declared inside an
      	Exception_With_Actions. Update the calls to Return_Flag.
      	(Process_Object_Declaration): Add code to add a null guard for hook
      	objects generated for controlled transients declared inside an
      	Exception_With_Actions. Update related comment.
      	* exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
      	objects generated for controlled transients declared inside an
      	Exception_With_Actions. Update the calls to Return_Flag.
      	* expander.adb (Expand): Add new case for N_Expression_With_Actions.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb:(Wrong_Type): Improve error message on a one-element
      	positional aggregate.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
      	SLOC only for pragmas.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* projects.texi: Minor typo fix.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
      	on case-sensitive file systems.
      
      From-SVN: r177349
      Arnaud Charlet committed
    • New file. · 5a10ae55
      From-SVN: r177348
      Arnaud Charlet committed
    • put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision nested in a disabled pragma. · c2873f74
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
      	nested in a disabled pragma.
      	* scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
      	enclosing pragma, if any, for X decisions.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_prag.adb: Minor reformatting.
      
      From-SVN: r177347
      Thomas Quinot committed
    • a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not allowed in no run time mode. · 46414266
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
      	allowed in no run time mode.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Check): When -gnatc is used, check for the source file
      	inside the ALI file with a canonical case file name.
      
      From-SVN: r177346
      Vincent Celier committed
    • g-comlin.adb, [...] (Add_Switch): Put back support for overriding the separator. · afab164f
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
      	overriding the separator.
      
      From-SVN: r177345
      Emmanuel Briot committed
    • [multiple changes] · fe0ec02f
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
      	prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Minor documentation fix for pragma Annotate.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
      	'Result only appears in postcondition of function.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
      	external tag, include the value of the external tag in the exception
      	message.
      
      From-SVN: r177344
      Arnaud Charlet committed