1. 06 Sep, 2011 23 commits
    • [multiple changes] · f8e9fc30
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
      	in a parameter association must not set the Referenced flag on
      	the formal.
      	* prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* gnat_rm.texi: Add a section on attribute Descriptor_Size
      
      From-SVN: r178587
      Arnaud Charlet committed
    • Makefile.in (common-tools, [...]): Speed up by using -j0. · e8e38f35
      	* gcc-interface/Makefile.in (common-tools, gnatmake-re,                 
      	gnatlink-re): Speed up by using -j0.
      
      From-SVN: r178586
      Arnaud Charlet committed
    • [multiple changes] · 203ddcea
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* s-tpopsp-vxworks.adb, prj-nmsc.adb: Minor reformatting.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* gcc-interface/trans.c (Attribute_to_gnu): New case for
      	attribute Descriptor_Size.
      	* exp_attr.adb (Expand_N_Attribute_Reference): Add processing
      	for attribute Descriptor_Size.
      	* exp_ch7.adb (Double_Size_Of): Removed.
      	(Make_Finalize_Address_Stmts): Remove the code which generates
      	an expression to calculate the dope vector of an unconstrained
      	array. Instead use attribute Descriptor_Size and leave the
      	calculation to the back end.
      	(Nearest_Multiple_Rounded_Up): Removed.
      	(Size_Of): Removed.
      	* sem_attr.adb (Analyze_Attribute): Add processing for attribute
      	Descriptor_Size. Currently the attribute is applicable only
      	to unconstrained arrays.
      	(Eval_Attribute): Add processing for
      	attribute Descriptor_Size.
      	* snames.ads-tmpl: Add a predefined name and an Attribute_Id
      	for Descriptor_Size.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb: Remove useless formal.
      
      From-SVN: r178585
      Arnaud Charlet committed
    • tree-ssa-sccvn.c (visit_use): CSE stmt pieces and simplify matching. · 32dba5ef
      2011-09-06  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.c (visit_use): CSE stmt pieces and simplify
      	matching.
      
      From-SVN: r178584
      Richard Guenther committed
    • [multiple changes] · ba759acd
      2011-09-06  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Call
      	Set_Corresponding_Aspect when creating pragma from aspect.
      	(Add_Predicates): Use new field Corresponding_Aspect.
      	* sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
      	name when present, for the purpose of issuing error messages;
      	remove local procedure Error_Pragma_Arg_Alternate_Name.
      	* sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
      	N_Pragma node.
      	(From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
      	N_Pragma node.
      
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Build_Heap_Allocator): Add new
      	local variable Desig_Typ. Code and comment reformatting. Add
      	machinery to ensure that the allocation uses a fat pointer when
      	the type of the return object is a constrained array and the
      	function return type is an unconstrained array.
      
      2011-09-06  Vincent Celier  <celier@adacore.com>
      
      	* make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
      	parameters in subprograms.
      
      2011-09-06  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-taprop-mingw.adb (Finalize_TCB): Fix typo.
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
      	(System.Tasking.Primitive_Operations.Specific.Delete): Remove
      	subprogram.
      	(System.Tasking.Primitive_Operations.Specific.Set): If argument
      	is null, destroy task specific data, to make API consistent with
      	other platforms, and thus compatible with the shared version
      	of s-tpoaal.adb.
      	(System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
      	Document the above assumption.
      
      From-SVN: r178583
      Arnaud Charlet committed
    • [multiple changes] · f4f92d9d
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
      	variable for type of return value when return type is
      	unconstrained and context is an assignment.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
      	class-wide operation if expansion is not enabled.
      
      2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* checks.adb (Apply_Scalar_Range_Check): Deal with access
      	type prefix.
      
      2011-09-06  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications, case
      	Aspect_Invariant): Do not issue error at this point on illegal
      	pragma placement, as this is checked later on when analyzing
      	the corresponding pragma.
      	* sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
      	similar to Error_Pragma_Arg, except the source name of the
      	aspect/pragma to use in warnings may be equal to parameter
      	Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
      	message to distinguish source name of pragma/aspect, and whether
      	the illegality resides in the type being public, or being private
      	without a public declaration
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
      	size check (fd_set is implemented differently on that platform).
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
      	s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
      	s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
      	s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
      	(ATCB_Allocation): New subpackage of
      	System.Tasking.Primitive_Operations, shared across all targets
      	with full tasking runtime.
      	(ATCB_Allocation.New_ATCB): Moved there (from target specific
      	s-taprop bodies).
      	(ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
      	taking care of establishing a local temporary ATCB if the one
      	being deallocated is Self, to avoid a reference to the freed
      	ATCB in Abort_Undefer.
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
      	terminated, mark it for deallocation upon termination.
      	(Terminate_Task): Call Free_Task again if the task is marked
      	for automatic deallocation upon termination.
      
      From-SVN: r178582
      Arnaud Charlet committed
    • re PR libstdc++/50257 ([C++0x] unordered_map slow initialization due to huge __prime_list) · 4cdccf26
      2011-09-06  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/50257
      	* include/bits/hashtable_policy.h (_Prime_rehash_policy::
         	_M_next_bkt): Optimize for small argument.
      
      From-SVN: r178581
      Paolo Carlini committed
    • recog.c (asm_labels_ok): New function. · 1255c03a
      2011-09-06  Tom de Vries  <tom@codesourcery.com>
      
      	* recog.c (asm_labels_ok): New function.
      	(check_asm_operands): Use asm_labels_ok.
      
      From-SVN: r178580
      Tom de Vries committed
    • a-cbprqu.ads, [...]: Mark all entities as Implementation_Defined · df177175
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
      	a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
      	a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
      	a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
      	a-intnam-solaris.ads, a-intnam-tru64.ads,
      	a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
      	cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
      	* einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
      	* par-prag.adb: Add dummy entry for pragma Implementation_Defined
      	* s-rident.ads: Add new restriction No_Implementation_Identifiers
      	Add new profile No_Implementation_Extensions
      	* sem_prag.adb: Implement pragma Implementation_Defined Implement
      	profile No_Implementation_Extensions
      	* sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
      	Check violation of restriction No_Implementation_Identifiers
      	* snames.ads-tmpl: Add entries for pragma Implementation_Defined
      	Add entry for Name_No_Implementation_Extensions
      
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* impunit.ads: Minor reformatting.
      
      From-SVN: r178579
      Robert Dewar committed
    • [multiple changes] · b991dd43
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
      
      2011-09-06  Pascal Obry  <obry@adacore.com>
      
      	* s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
      	types.
      
      From-SVN: r178578
      Arnaud Charlet committed
    • [multiple changes] · 516785cc
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* g-socket.adb: Minor reformatting
      
      2011-09-06  Javier Miranda  <miranda@adacore.com>
      
      	* ali.adb (Scan_ALI): Add missing support to load references of
      	entities imported from other languages.
      	* ali.ads (Xref_Record): Adding new fields to store the language and
      	name of an imported entity.
      	* lib-xref.adb (Output_Import_Export_Info): Fix typo
      	in comment.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
      	is allowed on a full type declaration if it is the completion of
      	a private declarations.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
      	aspect is allowed on a full type declaration in the private part
      	of a package.
      
      From-SVN: r178577
      Arnaud Charlet committed
    • [multiple changes] · 96691943
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch8.ads: Minor reformatting
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
      	Guard against socket values that are not in [0;FD_SETSIZE[
      
      From-SVN: r178576
      Arnaud Charlet committed
    • [multiple changes] · 54bf19e4
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
      	reformatting.
      
      2011-09-06  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-linux-alpha.ads: Minor reformatting
      	* s-oscons-tmplt.c: Fix generated comments in s-oscons template.
      	Use sizeof instead of corresponding C defines in s-oscons template.
      
      From-SVN: r178575
      Arnaud Charlet committed
    • a-convec.ads, [...]: Minor reformatting. · 5d42cba1
      2011-09-06  Vadim Godunko  <godunko@adacore.com>
      
      	* a-convec.ads, a-iteint.ads: Minor reformatting.
      
      From-SVN: r178574
      Vadim Godunko committed
    • [multiple changes] · 77aa62e7
      2011-09-06  Vincent Celier  <celier@adacore.com>
      
      	* projects.texi: Add menus and @node lines.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
      	where the return type is an unconstrained array and the context
      	is an assignment. Optimize the case when the target of the
      	assignment is a selected component.
      
      2011-09-06  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-solita.adb: Update comments.
      
      2011-09-06  Pascal Obry  <obry@adacore.com>
      
      	* s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
      	s-linux-sparc.ads: Remove hard coded and now wrong definitions.
      	* s-oscons-tmplt.c: Add support for generating pthread related
      	types size on GNU/Linux as done for Darwin.
      	* s-osinte-linux.ads: Use s-oscons to define the pthread types.
      
      From-SVN: r178573
      Arnaud Charlet committed
    • [multiple changes] · 886b5a18
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch6.adb: Fix minor typo.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb: Remove with and use clauses for Get_Targ.
      	(Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
      	(Double_Size_Of): Alphabetized. Update the comment on usage.
      	(Make_Finalize_Address_Stmts): Update comments and reformat code.
      	(Nearest_Multiple_Rounded_Up): New routine.
      	(Size_Of): Update comment on usage. The generated expression now
      	accounts for alignment gaps by rounding the size of the type to the
      	nearest multiple rounded up of the type's alignment.
      
      From-SVN: r178572
      Arnaud Charlet committed
    • [multiple changes] · 57a3fca9
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.adb, g-comlin.adb: Minor reformatting.
      
      2011-09-06  Steve Baird  <baird@adacore.com>
      
      	* exp_ch4.adb (Expand_Allocator_Expression): Look through
      	derived subprograms in checking for presence of an
      	Extra_Accessibility_Of_Result formal parameter.
      	* exp_ch6.adb (Expand_Call): Look through derived subprograms in
      	checking for presence of an Extra_Accessibility_Of_Result formal
      	parameter.
      	(Expand_Call.Add_Actual_Parameter): Fix a bug in the
      	case where the Parameter_Associatiations attribute is already set,
      	but set to an empty list.
      	(Needs_Result_Accessibility_Level):
      	Unconditionally return False. This is a temporary
      	change, disabling the Extra_Accessibility_Of_Result
      	mechanism.
      	(Expand_Simple_Function_Return): Check for
      	Extra_Accessibility_Of_Result parameter's presence instead of
      	testing Ada_Version when generating a runtime accessibility
      	check which makes use of the parameter.
      
      From-SVN: r178571
      Arnaud Charlet committed
    • [multiple changes] · eaed0c37
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
      	expression in a given case alternative must be attached to the
      	statement list of the ccrresponding case statement alternative
      	They cannot be propagated ahead of the case statement, because
      	the validity of the expression that generated the action may
      	hold only for that alternative.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb: Remove with and use clauses for Get_Targ.
      	(Alignment_Of): Remove the code for strict alignment targets.
      	(Double_Alignment_Of): Removed.
      	(Double_Size_Of): New routine.
      	(Make_Finalize_Address_Stmts): Change the
      	calculation of the dope's size.  Update relevant comments.
      	(Size_Of): New routine.
      
      From-SVN: r178570
      Arnaud Charlet committed
    • [multiple changes] · b8a93198
      2011-09-06  Steve Baird  <baird@adacore.com>
      
      	* einfo.ads (Extra_Accessibility): Update associated comment to use
      	the term "present" correctly ("present" just means that it is not
      	an error to query the value of the attribute - it does not imply
      	that the value must be non-null).
      	(Extra_Constrained): Ditto.
      	(Is_Visible_Formal): Ditto.
      	(Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
      	(Set_Extra_Accessibility_Of_Result): Add Inline pragma.
      	* exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
      	* exp_ch6.adb (Expand_Call): The callee may require an
      	Extra_Accessibility_Of_Result actual parameter even if Ada_Version
      	< Ada_2012. This can occur if the callee is exported from a Gnat
      	runtimes unit. Also improve a comment.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb: Add with and use clauses for Get_Targ.
      	(Alignment_Of): Rename formal parameter Some_Typ
      	to Typ, update related comment. Use the allocator alignment on
      	strict alignment targets such as SPARC.
      	(Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
      	related comment.
      
      2011-09-06  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch9.adb (Check_Interfaces): Test
      	Is_Limited_Type rather than Is_Limited_Record when checking that
      	the partial view of a synchronized full view must be limited.
      
      2011-09-06  Emmanuel Briot  <briot@adacore.com>
      
      	* g-comlin.adb (Free): Fix memory leak.
      
      From-SVN: r178569
      Arnaud Charlet committed
    • sem_util.adb, [...]: Minor reformatting and code reorganization. · ebf494ec
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
      
      From-SVN: r178568
      Robert Dewar committed
    • einfo.ads (Extra_Accessibility_Of_Result): New function... · 63585f75
      2011-09-06  Steve Baird  <baird@adacore.com>
      
      	* einfo.ads (Extra_Accessibility_Of_Result): New function; in the
      	(Ada2012) cases described in AI05-0234 where the accessibility
      	level of a function result is "determined by the point of
      	call", an implicit parameter representing that accessibility
      	level is passed in. Extra_Accessibilty_Of_Result yields this
      	additional formal parameter. Extra_Accessibility_Of_Result
      	is analogous to the existing Extra_Accessibility
      	function used in the implementation of access parameters.
      	(Set_Extra_Accessibility_Of_Result): New procedure; sets
      	Extra_Accessibility_Of_Result attribute.
      	* einfo.adb (Extra_Accessibility_Of_Result): New function.
      	(Set_Extra_Accessibility_Of_Result): New procedure.
      	(Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
      	* sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
      	an accessibility level literal to Natural; introduce a nested
      	function, Make_Level_Literal, to do this.
      	* exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
      	determines whether a given function (or access-to-function
      	type) needs to have an implicitly-declared accessibility-level
      	parameter added to its profile.
      	(Add_Extra_Actual_To_Call): Export an existing procedure which was
      	previously declared in the body of Exp_Ch6.
      	* exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
      	it to exp_ch6.ads.
      	(Has_Unconstrained_Access_Discriminants): New Function; a
      	predicate on subtype entities which returns True if the given
      	subtype is unconstrained and has one or more access discriminants.
      	(Expand_Call): When expanding a call to a function which takes an
      	Extra_Accessibility_Of_Result parameter, pass in the appropriate
      	actual parameter value. In the case of a function call which is
      	used to initialize an allocator, this may not be possible because
      	the Etype of the allocator may not have been set yet. In this
      	case, we defer passing in the parameter and handle it later in
      	Expand_Allocator_Expression.
      	(Expand_Simple_Function_Return): When returning from a function which
      	returns an unconstrained subtype having at least one access
      	discriminant, generate the accessibility check needed to ensure that
      	the function result will not outlive any objects designated by its
      	discriminants.
      	(Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
      	description.
      	* exp_ch4.adb (Expand_Allocator_Expression): When a function call
      	is used to initialize an allocator, we may need to pass in "the
      	accessibility level determined by the point of call" (AI05-0234)
      	to the function. Expand_Call, where such actual parameters are
      	usually generated, is too early in this case because the Etype of
      	the allocator (which is used in determining the level to be passed
      	in) may not have been set yet when Expand_Call executes. Instead,
      	we generate code to pass in the appropriate actual parameter
      	in Expand_Allocator_Expression.
      	* sem_ch6.adb (Create_Extra_Formals): Create
      	the new Extra_Accessibility_Of_Result formal if
      	Needs_Result_Accessibility_Level returns True. This includes the
      	introduction of a nested procedure, Check_Against_Result_Level.
      
      From-SVN: r178567
      Steve Baird committed
    • Makefile.in (X86_TARGET_PAIRS): Remove duplicate declaration. · 1a982c6e
      	* gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
      	declaration.
      
      From-SVN: r178566
      Arnaud Charlet committed
    • Daily bump. · 5a80bdf9
      From-SVN: r178562
      GCC Administrator committed
  2. 05 Sep, 2011 17 commits
    • sol2-64.h: Move ... · 4f4f4f54
      	* config/sparc/sol2-64.h: Move ...
      	* config/sparc/default-64.h: ... to here.  Update comment.
      	* config.gcc: Update Solaris sparc to use default-64.h, also
      	prefix this header into the list on sparc64-*-linux.
      	* config/sparc/linux64.h (TARGET_DEFAULT): Only override if
      	TARGET_64BIT_DEFAULT is defined.  Remove commented out reference
      	to MASK_HARD_QUAD.
      
      From-SVN: r178558
      David S. Miller committed
    • re PR target/49606 (mips64: o64 Unrecognizable insn when one noreturn function… · 81a478c8
      re PR target/49606 (mips64: o64 Unrecognizable insn when one noreturn function calling another noreturn function)
      
      gcc/
      	PR target/49606
      	* config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): Check Pmode.
      	(PMODE_INSN): New macro.
      	* config/mips/mips.c (gen_load_const_gp): Use PMODE_INSN.
      	(mips_got_load, mips_expand_synci_loop): Likewise.
      	(mips_save_gp_to_cprestore_slot): Handle SImode and DImode
      	cprestore patterns.
      	(mips_emit_loadgp): Use PMODE_INSN.  Handle SImode and DImode
      	copygp_mips16 patterns.
      	(mips_expand_prologue): Handle SImode and DImode potential_cprestore
      	and use_cprestore patterns.
      	(mips_override_options): Check for incompatible -mabi and -mlong
      	combinations.
      	* config/mips/mips.md (unspec_got<mode>): Rename to...
      	(unspec_got_<mode>): ...this.
      	(copygp_mips16): Use the Pmode iterator.
      	(potential_cprestore, cprestore, use_cprestore): Likewise.
      	(clear_cache, indirect_jump): Use PMODE_INSN.
      	(indirect_jump<mode>): Rename to...
      	(indirect_jump_<mode>): ...this.
      	(tablejump): Use PMODE_INSN.
      	(tablejump<mode>): Rename to...
      	(tablejump_<mode>): ...this.
      	(exception_receiver): Handle restore_gp_si and restore_gp_di.
      	(restore_gp): Use the Pmode iterator.
      	* config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Use
      	PMODE_INSN.
      
      gcc/testsuite/
      	PR target/49606
      	* gcc.target/mips/abi-main.h: New file.
      	* gcc.target/mips/abi-o32-long32.c: New test.
      	* gcc.target/mips/abi-o32-long64.c: Likewise.
      	* gcc.target/mips/abi-o64-long32.c: Likewise.
      	* gcc.target/mips/abi-o64-long64.c: Likewise.
      	* gcc.target/mips/abi-n32-long32.c: Likewise.
      	* gcc.target/mips/abi-n32-long64.c: Likewise.
      	* gcc.target/mips/abi-n64-long32.c: Likewise.
      	* gcc.target/mips/abi-n64-long64.c: Likewise.
      	* gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o32-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-o32-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-o64-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-o64-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-n32-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-n32-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-n64-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-n64-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-eabi32-long32.c: Likewise.
      	* gcc.target/mips/abi-eabi32-long64.c: Likewise.
      	* gcc.target/mips/abi-eabi64-long32.c: Likewise.
      	* gcc.target/mips/abi-eabi64-long64.c: Likewise.
      	* gcc.target/mips/mips.exp: Make -mshared implied -mabicalls.
      	* gcc.target/mips/branch-2.c: Remove -mabicalls.
      	* gcc.target/mips/branch-3.c: Likewise.
      	* gcc.target/mips/branch-4.c: Likewise.
      	* gcc.target/mips/branch-5.c: Likewise.
      	* gcc.target/mips/branch-6.c: Likewise.
      	* gcc.target/mips/branch-7.c: Likewise.
      	* gcc.target/mips/branch-8.c: Likewise.
      	* gcc.target/mips/branch-9.c: Likewise.
      	* gcc.target/mips/branch-10.c: Likewise.
      	* gcc.target/mips/branch-11.c: Likewise.
      	* gcc.target/mips/branch-12.c: Likewise.
      	* gcc.target/mips/branch-13.c: Likewise.
      	* gcc.target/mips/lazy-binding-1.c: Likewise.
      
      From-SVN: r178557
      Richard Sandiford committed
    • mips.c (mips_gimplify_va_arg_expr): Unshare off. · 1ab9ec7b
      gcc/
      	* config/mips/mips.c (mips_gimplify_va_arg_expr): Unshare off.
      	Fix the type of the BIT_AND_EXPR.
      
      From-SVN: r178556
      Richard Sandiford committed
    • config.gcc: Recognize niagara3 and niagara4 in --with-cpu and --with-tune options. · 70847a48
      	* config.gcc: Recognize niagara3 and niagara4 in --with-cpu
      	and --with-tune options.
      
      From-SVN: r178555
      David S. Miller committed
    • sparc-opts.h (PROCESSOR_NIAGARA3, [...]): New. · 3e64c239
      	* config/sparc/sparc-opts.h (PROCESSOR_NIAGARA3,
      	PROCESSOR_NIAGARA4): New.
      	* config/sparc/sparc.opt: Handle new processor types.
      	* config/sparc/sparc.md: Add to "cpu" attribute.
      	* config/sparc/sparc.h (TARGET_CPU_niagara3,
      	TARGET_CPU_niagara4): New, treat as niagara2.
      	* config/sparc/linux64.h: Handle niagara3 and niagara4
      	like niagara2.
      	* config/sparc/sol2.h: Likewise.
      	* config/sparc/niagara2.md: Schedule niagara3 like
      	niagara2.
      	* config/sparc/sparc.c (sparc_option_override): Add
      	niagara3 and niagara4 handling.
      	(sparc32_initialize_trampoline): Likewise.
      	(sparc64_initialize_trampoline): Likewise.
      	(sparc_use_sched_lookahead): Likewise.
      	(sparc_issue_rate): Likewise.
      	(sparc_register_move_cost): Likewise.
      	* config/sparc/driver-sparc.c (cpu_names): Use niagara3
      	and niagara4 as appropriate.
      	* doc/invoke.texi: Document new processor types.
      
      From-SVN: r178554
      David S. Miller committed
    • config.host: Add driver-sparc.o and sparc/x-sparc on native sparc*-*-linux* builds. · 0913b2d6
      	* config.host: Add driver-sparc.o and sparc/x-sparc on
      	native sparc*-*-linux* builds.
      	* config/sparc/driver-sparc.c: Correct Linux strings.
      	* config/sparc/linux.h: Add DRIVER_SELF_SPECS.
      	* config/sparc/linux64.h: Likewise.
      	* doc/invoke.texi: Document that Linux also supports
      	-mcpu=native and -mtune=native on sparc.
      
      From-SVN: r178553
      David S. Miller committed
    • [multiple changes] · e42bcfa3
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-finmas.adb (Set_Finalize_Address): Explain the reason
      	for the synchronization. Move the test for null from
      	s-stposu.Allocate_Any_Controlled to this routine since the check
      	needs to be protected too.
      	(Set_Heterogeneous_Finalize_Address): Explain the reason for the
      	synchronization code.
      	* s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
      	explaining the context in which this routine is used.
      	* s-stposu.adb (Allocate_Any_Controlled): Move the test for null
      	to s-finmas.Set_Finalize_Address.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.ads: Document that itypes have no parent field.
      
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* rtsfind.adb (Check_CRT): Check for overloaded entity
      	* rtsfind.ads: Document that entities to be found by rtsfind
      	cannot be overloaded
      	* s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
      	(Lock_Entries_With_Status): New name for Lock_Entries with two
      	arguments (changed to meet rtsfind no overloading rule).
      
      From-SVN: r178551
      Arnaud Charlet committed
    • [multiple changes] · 544e7c17
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-finmas.adb (Set_Finalize_Address (Address,
      	Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
      	(Set_Finalize_Address (in out Finalization_Master,
      	Finalize_Address_Ptr): Add synchronization code.
      	* s-finmas.ads (Set_Finalize_Address (Address,
      	Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
      	* s-stposu.adb (Allocate_Any_Controlled): Update the call to
      	Set_Finalize_Address for the heterogeneous case.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: Undo previous change, not suitable after all.
      
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads: Minor comment clarification.
      
      From-SVN: r178550
      Arnaud Charlet committed
    • [multiple changes] · 0613fb33
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
      	no longer needs to search through the entities of the return
      	statement scope to find the _chain.
      	* sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
      	(Analyze_Block_Statement): Add local variable
      	Is_BIP_Return_Statement. Add machinery to install all entities
      	produced by the expansion of the return object declaration.
      	(Install_Return_Entities): New routine.
      	* sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Analyze_Context): Apply simple fixup if context
      	of subunit is incomplete.
      	(Analyze_Proper_Body): If parent spec is not available, do not
      	attempt analysis.
      
      From-SVN: r178549
      Arnaud Charlet committed
    • [multiple changes] · 5dcab3ca
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_disp.adb (Find_Controlling_Arg): Add checks for
      	interface type conversions, that are expanded into dereferences.
      
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
      	Examine the parameter and return profile of a subprogram and swap
      	any incomplete types coming from a limited context with their
      	corresponding non-limited views.
      	(Exchange_Limited_Views): New routine.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
      	of internal entity to the subtype declaration, so that when
      	entities are subsequently exchanged in a package body, the tree
      	remains properly formatted for ASIS.
      
      From-SVN: r178548
      Arnaud Charlet committed
    • [multiple changes] · 8da1a312
      2011-09-05  Johannes Kanig  <kanig@adacore.com>
      
      	* g-comlin.adb (Set_Usage): Additional optional argument to set help
      	message.
      	(Display_Help): display the user given help message, if available.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
      	is legal if the original node is an identifier that is a
      	parameterless function call.
      
      From-SVN: r178547
      Arnaud Charlet committed
    • prj-nmsc.adb: Minor reformatting. · 69b73847
      2011-09-05  Pascal Obry  <obry@adacore.com>
      
      	* prj-nmsc.adb: Minor reformatting.
      	Add support for standalone aggregate library.
      	(Check_Stand_Alone_Library): Handle standalone aggregate library.
      	* projects.texi: Fix documentation for aggregate library projects.
      
      From-SVN: r178546
      Pascal Obry committed
    • ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1 << 18 to avoid warning on int=16 platforms.. · 4e5bc135
      	* gcc.dg/ipa/ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1
      	<< 18 to avoid warning on int=16 platforms..
      
      From-SVN: r178545
      Georg-Johann Lay committed
    • [multiple changes] · 81bf2382
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch6.adb: Minor reformatting.
      
      2011-09-05  Matthew Gingell  <gingell@adacore.com>
      
      	* s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
      	stack guard page on PPC Linux. This patch ensures the 64K guard page at
      	the bottom of the stack is not overwritten.
      
      From-SVN: r178544
      Arnaud Charlet committed
    • [multiple changes] · 13a0b1e8
      2011-09-05  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_intr.adb, s-tasini.adb: Minor reformatting.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Access_Definition): If an access type declaration
      	appears in a child unit, the scope of whatever anonymous type
      	may be generated is the child unit itself.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Do not set
      	Comes_From_Source on rewritten body.
      	(Analyze_Subprogram_Body_Helper): Check that the original node for
      	the body comes from source, when determining whether expansion
      	of a protected operation is needed.
      
      From-SVN: r178543
      Arnaud Charlet committed
    • [multiple changes] · 20428725
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Replace_Type): If the target of the assignment is
      	a selected component and the right-hand side is a self-referential
      	access, the proper prefix of the rewritten attribute is a copy
      	of the left-hand side, not of its prefix.
      
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch5.adb: Minor reformatting.
      	* sem_ch3.adb: Minor code clean up.
      
      2011-09-05  Jose Ruiz  <ruiz@adacore.com>
      
      	* exp_ch9.adb (Make_Initialize_Protection): The fact that
      	restriction No_Dynamic_Attachment is in effect or not should
      	not influence the default priority associated to a protected
      	object. With this change, when the restriction is in effect (as
      	is the case for the Ravenscar profile) the default priority of
      	a protected object with an interrupt handler is in the range of
      	interrupt priorities (Default_Interrupt_Priority) as required
      	by D.3(10).
      
      2011-09-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-iteint.ads: Fix header.
      
      2011-09-05  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
      	with a directory separator to avoid output such as:
      	  "/path/to/objauto.cgpr" has been deleted.
      
      From-SVN: r178542
      Arnaud Charlet committed
    • struct-layout-1_test.h: Decrease bitfield size to work even with -fshort-enums. · e8b803e6
      	* gcc.dg/compat/struct-layout-1_test.h: Decrease bitfield size
      	to work even with -fshort-enums.
      
      From-SVN: r178540
      Jakub Jelinek committed