1. 06 Sep, 2011 34 commits
    • ipa-inline.h (struct inline_summary): Move versionable flag... · 124f1be6
      2011-09-06  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-inline.h (struct inline_summary): Move versionable flag...
      	* cgraph.h (struct cgraph_local_info): ...here
      	* ipa-cp.c (determine_versionability): Use the new versionable flag.
      	(determine_versionability): Likewise.
      	(ipcp_versionable_function_p): Likewise.
      	(ipcp_generate_summary): Likewise.
      	* ipa-inline-analysis.c (dump_inline_summary): Do not dump the
      	versionable flag.
      	(compute_inline_parameters): Do not clear the versionable flag.
      	(inline_read_section): Do not stream the versionable flag.
      	(inline_write_summary): Likewise.
      	* lto-cgraph.c (lto_output_node): Stream the versionable flag.
      	(input_overwrite_node): Likewise.
      
      From-SVN: r178598
      Martin Jambor committed
    • re PR tree-optimization/48149 (Piecewise complex pass-through not optimized) · 1a60c352
      2011-09-06  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/48149
      	* tree-ssa-sccvn.c (vn_get_expr_for): Simplify.  Fix tuplification bug.
      	(vn_valueize): Move earlier.
      	(valueize_expr): Use vn_valueize.
      	(simplify_binary_expression): Simplify, also combine COMPLEX_EXPR
      	operands.
      	(simplify_unary_expression): Simplify.
      
      	* gcc.dg/tree-ssa/ssa-fre-32.c: New testcase.
      
      From-SVN: r178597
      Richard Guenther committed
    • sem_ch10.adb, [...] (Not_Impl_Defined_Unit): New name for Is_RM_Defined_Unit. · ef417be1
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
      	name for Is_RM_Defined_Unit. Also several fixes to this unit.
      
      From-SVN: r178596
      Robert Dewar committed
    • re PR tree-optimization/48317 (SCCVN does not handle vector constructors) · 5a7d7f9c
      2011-09-06  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/48317
      	* tree-ssa-sccvn.h (struct vn_nary_op_s): Make op a true
      	trailing array.
      	(sizeof_vn_nary_op): New inline function.
      	(vn_nary_op_lookup_pieces): Adjust.
      	(vn_nary_op_insert_pieces): Likewise.
      	* tree-ssa-sccvn.c (vn_nary_op_eq): Also compare the length.
      	(init_vn_nary_op_from_pieces): Adjust signature.  Deal with
      	any number of operands.
      	(vn_nary_length_from_stmt): New function.
      	(init_vn_nary_op_from_stmt): Adjust for CONSTRUCTOR handling.
      	(vn_nary_op_lookup_pieces): Adjust signature and allocate properly
      	sized temporary.
      	(vn_nary_op_lookup): Likewise.
      	(vn_nary_op_lookup_stmt): Likewise.
      	(vn_nary_op_insert_into): Likewise.
      	(vn_nary_op_insert_stmt): Likewise.
      	(visit_use): Handle CONSTRUCTOR as nary.
      	* tree-ssa-pre.c (phi_translate_1): Adjust.
      	(create_expression_by_pieces): Likewise.
      	(compute_avail): Likewise.
      
      	* gcc.dg/tree-ssa/ssa-fre-31.c: New testcase.
      
      From-SVN: r178595
      Richard Guenther committed
    • impunit.ads, [...] (Is_RM_Defined_Unit): New function. · 0a034606
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
      	* s-rident.ads: New restriction No_Implementation_Units
      	(this restriction is also part of the profile
      	No_Implementation_Extensions)
      	* sem_ch10.adb (Analyze_With_Clause): Add check for
      	No_Implementation_Units restriction.
      
      From-SVN: r178594
      Robert Dewar committed
    • [multiple changes] · ebb6faaa
      2011-09-06  Jerome Guitton  <guitton@adacore.com>
      
      	* sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
      	on vThreads.
      
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-solita.adb: Minor reformatting.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
      	is a rewriting of an expression function does not freeze previous
      	entities.
      
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
      
      From-SVN: r178593
      Arnaud Charlet committed
    • Makefile.in: Handle e500v2-wrs-vxworksae like powerpc-wrs-vxworksae. · 60435286
      2011-09-06  Tristan Gingold  <gingold@adacore.com>
      
      	* gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like           
      	powerpc-wrs-vxworksae.
      
      From-SVN: r178592
      Tristan Gingold committed
    • [multiple changes] · 08f8a983
      2011-09-06  Thomas Quinot  <quinot@adacore.com>
      
      	* s-os_lib.ads (Spawn): Minor documentation clarification,
      	Success is True for a zero exit status.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb: Add message for common iterator error.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Build_Initialization_Call): If the target is a
      	selected component discriminated by a current instance, replace
      	the constraint with a reference to the target object, regardless
      	of whether the context is an init_proc.
      
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb: Descriptor_Size is never static.
      
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* gnat_rm.texi: Clarify that attribute Descriptor_Size is
      	non-static.
      
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve): An expression that is the body of an
      	expression function does not freeze.
      
      2011-09-06  Matthew Heaney  <heaney@adacore.com>
      
      	* a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
      	a-cuprqu.adb: Changed copyright notice to indicate current
      	year only.
      
      2011-09-06  Vincent Celier  <celier@adacore.com>
      
      	* prj.adb: Minor spelling error fix in comment
      	* sem_res.adb: Minor reformatting
      
      2011-09-06  Pascal Obry  <obry@adacore.com>
      
      	* sysdep.c (winflush_nt): Removed as not needed anymore.
      	(winflush_95): Likewise.
      	(winflush_init): Likewise.
      	(winflush_function): Likewise.
      	(getc_immediate_common): Remove call to winflush_function.
      
      From-SVN: r178591
      Arnaud Charlet committed
    • exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the processing for Descriptor_Size. · cb3d8731
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
      	processing for Descriptor_Size.
      	* gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
      	to account for its broader usage.
      	* sem_attr.adb (Analyze_Attribute): Change the error detection
      	circuitry for Descriptor_Size as the attribute is now applicable
      	to all types.
      
      From-SVN: r178590
      Hristian Kirtchev committed
    • sem_attr.adb, [...]: Minor reformatting. · f7e6fc47
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
      
      From-SVN: r178589
      Robert Dewar committed
    • arm.c (arm_preferred_simd_mode): Check TARGET_NEON_VECTORIZE_DOUBLE instead of… · 8f40ccea
      arm.c (arm_preferred_simd_mode): Check TARGET_NEON_VECTORIZE_DOUBLE instead of TARGET_NEON_VECTORIZE_QUAD.
      
      
      	* config/arm/arm.c (arm_preferred_simd_mode): Check
      	TARGET_NEON_VECTORIZE_DOUBLE instead of
      	TARGET_NEON_VECTORIZE_QUAD.
      	(arm_autovectorize_vector_sizes): Likewise.
      	* config/arm/arm.opt (mvectorize-with-neon-quad): Make inverse
      	mask of mvectorize-with-neon-double.  Add RejectNegative.
      	(mvectorize-with-neon-double): New.
      
      From-SVN: r178588
      Ira Rosen committed
    • [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 6 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