Commit Graph

112384 Commits

Author SHA1 Message Date
Paolo Carlini b78eebe4f5 re PR libstdc++/50714 (codecvt_byname::codecvt::_M_c_locale_codecvt not initialized by destroyed)
2011-10-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50714
	* include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize
	_M_c_locale_codecvt member.
	* testsuite/22_locale/codecvt_byname/50714.cc: New.

From-SVN: r179948
2011-10-14 00:12:40 +00:00
Jason Merrill 2598165f09 re PR c++/50614 ([C++0x] ICE: tree check: expected field_decl, have identifier_node in component_ref_field_offset, at expr.c:6697 with -fcompare-debug and a non-static initializer)
PR c++/50614
	* cp-tree.h (VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK): New.
	(DECL_TEMPLATE_INFO): Use it.
	* pt.c (tsubst_decl) [FIELD_DECL]: Set DECL_TEMPLATE_INFO
	if the decl has an NSDMI.
	* init.c (perform_member_init): Use it.

From-SVN: r179945
2011-10-13 17:23:47 -04:00
Jason Merrill 0e81aa8529 re PR c++/50437 ([C++0x] [4.7 regression] ICE for trivial use of lambda in template function)
PR c++/50437
	* cp-tree.h (struct tree_lambda_expr): Add closure field.
	(LAMBDA_EXPR_CLOSURE): New.
	* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Likewise.
	* semantics.c (build_lambda_object): Use it instead of TREE_TYPE.
	(begin_lambda_type, lambda_function, add_capture): Likewise.
	(add_default_capture, lambda_expr_this_capture): Likewise.

From-SVN: r179944
2011-10-13 17:23:36 -04:00
David S. Miller f1c141a7da Fix the RTL of some sparc VIS patterns.
* config/sparc/sparc.md (UNSPEC_FPMERGE): Delete.
	(UNSPEC_MUL16AU, UNSPEC_MUL8, UNSPEC_MUL8SU, UNSPEC_MULDSU): New
	unspecs.
	(fpmerge_vis): Remove inaccurate comment, represent using vec_select
	of a vec_concat.
	(vec_interleave_lowv8qi, vec_interleave_highv8qi): New insns.
	(fmul8x16_vis, fmul8x16au_vis, fmul8sux16_vis, fmuld8sux16_vis):
	Reimplement as unspecs and remove inaccurate comments.
	(vis3_shift_patname): New code attr.
	(<vis3_shift_insn><vbits>_vis): Rename to "v<vis3_shift_patname><mode>3".
	(vis3_addsub_ss_patname): New code attr.
	(<vis3_addsub_ss_insn><vbits>_vis): Rename to
	"<vis3_addsub_ss_patname><mode>3".
	* config/sparc/sparc.c (sparc_vis_init_builtins): Update to
	accommodate pattern name changes.

From-SVN: r179943
2011-10-13 14:15:44 -07:00
Diego Novillo ce5046bd71 cp-tree.h (struct language_function): Rename in_function_try_handler to x_in_function_try_handler.
* cp-tree.h (struct language_function): Rename in_function_try_handler
	to x_in_function_try_handler.
	Rename in_base_initializer to x_in_base_initializer.
	Update all users.

From-SVN: r179940
2011-10-13 14:26:08 -04:00
Diego Novillo 385b73ab1d class.c (sorted_fields_type_new): Factor out of ...
* class.c (sorted_fields_type_new): Factor out of ...
	(finish_struct_1): ... here.

From-SVN: r179939
2011-10-13 14:25:10 -04:00
Jason Merrill 1fb0b80148 re PR c++/50618 (Virtual inheritance segfault)
PR c++/50618
	* init.c (expand_aggr_init_1): Don't zero-initialize virtual
	bases of a base subobject.

From-SVN: r179934
2011-10-13 14:01:51 -04:00
Jakub Jelinek 40746f4023 sse.md (vec_set<mode>): Change V_128 iterator mode to V.
* config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode
	to V.

From-SVN: r179931
2011-10-13 18:26:48 +02:00
Jakub Jelinek 9a6b63c3d5 tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector or complex vars even if...
* tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE
	from vector or complex vars even if their DECL_UID is in not_reg_needs
	bitmap.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r179930
2011-10-13 18:09:12 +02:00
Jakub Jelinek a520f3c39d sse.md (reduc_umin_v8hi): New pattern.
* config/i386/sse.md (reduc_umin_v8hi): New pattern.
	* config/i386/i386.c (ix86_build_const_vector): Handle
	also V32QI, V16QI, V16HI and V8HI modes.
	(emit_reduc_half): New function.
	(ix86_expand_reduc): Use phminposuw insn for V8HImode UMIN.
	Use emit_reduc_half helper function.

	* gcc.target/i386/sse4_1-phminposuw-2.c: New test.
	* gcc.target/i386/sse4_1-phminposuw-3.c: New test.
	* gcc.target/i386/avx-vphminposuw-2.c: New test.
	* gcc.target/i386/avx-vphminposuw-3.c: New test.

From-SVN: r179929
2011-10-13 18:08:04 +02:00
Lawrence Crowl 35f5b1c1b9 lto-streamer-in.c (input_struct_function_base): Factor out of ...
2011-10-12   Lawrence Crowl  <crowl@google.com>
	     Diego Novillo  <dnovillo@google.com>

	* lto-streamer-in.c (input_struct_function_base): Factor out of ...
	(input_function): ... here.
	* lto-streamer-out.c (output_struct_function_base): Factor out of ...
	(output_function): ... here.

Co-Authored-By: Diego Novillo <dnovillo@google.com>

From-SVN: r179928
2011-10-13 11:41:52 -04:00
Gabriel Charette a22286c349 streamer-hooks.h (struct streamer_hooks): Add hooks input_location and output_location.
2011-10-12  Gabriel Charette  <gchare@google.com>
	    Diego Novillo  <dnovillo@google.com>

	* streamer-hooks.h (struct streamer_hooks): Add hooks
	input_location and output_location.
	* lto-streamer-in.c (lto_input_location): Use
	streamer_hooks.input_location, if set.
	* lto-streamer-out.c (lto_output_location): Use
	streamer_hooks.output_location, if set.

Co-Authored-By: Diego Novillo <dnovillo@google.com>

From-SVN: r179927
2011-10-13 11:40:29 -04:00
H.J. Lu d8228b3034 Check ia32 instead of ilp32.
2011-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/pr50712.c: Check ia32 instead of ilp32.

From-SVN: r179926
2011-10-13 08:39:27 -07:00
Eric Botcazou c49c4c850a invoke.texi (SPARC options): Document -mfix-at697f.
* doc/invoke.texi (SPARC options): Document -mfix-at697f.
	* config/sparc/sparc.opt (mfix-at697f): New option.
	* config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
	(sparc_reorg): New function.

From-SVN: r179921
2011-10-13 12:59:34 +00:00
Eric Botcazou 83e0724ec7 * gcc.dg/builtins-67.c: Guard iround and irint with HAVE_C99_RUNTIME.
From-SVN: r179920
2011-10-13 12:28:16 +00:00
Richard Guenther 2b3c0885d9 re PR middle-end/50712 (invalid argument to gimple call)
2011-10-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50712
	* ipa-split.c (split_function): Always re-gimplify parameters
	when they are not gimple vals before passing them.  Properly
	check for type compatibility.

	* gcc.target/i386/pr50712.c: New testcase.

From-SVN: r179919
2011-10-13 12:07:44 +00:00
Arnaud Charlet 4c8933bce9 Remove Packages_To_Check parameter.
From-SVN: r179918
2011-10-13 13:12:07 +02:00
Arnaud Charlet 4b8b7784ed Remove default for argument Packages_To_Check.
From-SVN: r179917
2011-10-13 13:11:37 +02:00
Tom de Vries 0626faca27 Fix PR middle-end/50527 ChangeLog entry
From-SVN: r179916
2011-10-13 11:10:01 +00:00
Arnaud Charlet 2fcc44fae4 [multiple changes]
2011-10-13  Robert Dewar  <dewar@adacore.com>

	* sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
	sem_ch6.adb, exp_ch3.adb: Minor reformatting.

2011-10-13  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.

2011-10-13  Jerome Guitton  <guitton@adacore.com>

	* sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads

2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>

	* a-convec.ads (Cursor): Minor reformatting.
	* a-convec.adb (Next): Fix minor inconsistencies.
	(Previous): Likewise.

From-SVN: r179915
2011-10-13 13:09:11 +02:00
Arnaud Charlet 9b62eb3214 [multiple changes]
2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
	New predicate to determine whether some operations on an array
	type are available when the full view of its component may differ
	from the view of the point of the array declaration.
	* sem_ch4.adb (Find_Equality_Types): Use
	Available_Full_View_Of_Component.
	* sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb: Analyze aspects while discriminants of protected
	type are visible.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
	a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
	longer depend on an external library.
	* gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
	a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
	Update dependencies.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r179914
2011-10-13 13:05:50 +02:00
Arnaud Charlet 1a36a0cd69 [multiple changes]
2011-10-13  Cyrille Comar  <comar@adacore.com>

	* gnat_ugn.texi: Minor editing.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* projects.texi: Add documentation on packages and attributes
	that are inherited from a project being extended into the
	extended project.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Master): Rewritten.
	(Expand_N_Full_Type_Declaration): Reformat the declarative
	region. Update the call to Build_Master_Renaming.
	(Expand_Previous_Access_Type): Rewritten.
	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
	Add local constant Result_Subt and update related usage.
	(Expand_N_Extended_Return_Statement): Add local constant
	Result_Subt and update related usage.
	* exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
	new context detection mechanism.
	(Build_Class_Wide_Master):
	Use Insert_Action to add the renaming into the tree.
	(Build_Master_Entity): Rewritten to use the new context detection
	mechanism.
	(Build_Master_Renaming): Add formal parameter Ins_Nod
	and related usage. Use Insert_Action to add the renaming into the
	tree.
	(Find_Enclosing_Context): New subsidiary routine. Rather
	than relying on enclosing scopes, this routine looks at the
	tree structure to figure out the proper context for a _master
	or a _chain. This approach eliminates the issues with transient
	scopes which have not been converted into blocks.
	* exp_ch9.ads (Build_Master_Entity): Change parameter profile
	to better reflect the new usage. Update the related comment.
	(Build_Master_Renaming): Add formal parameter Ins_Nod. Update
	the comment on usage.
	* sem_ch3.adb (Access_Definition): Update the calls to
	Build_Master_Entity and Build_Master_Renaming.
	* sem_ch6.adb (Create_Extra_Formals): Add local variable
	Full_Subt. Code reformatting.
	* sem_util.adb (Is_Iterator): Alphabetized.
	(Is_LHS): Alphabetized.
	(Is_Limited_Class_Wide_Type): New routine.
	* sem_util.ads (Is_Limited_Class_Wide_Type): New routine.

From-SVN: r179913
2011-10-13 13:00:13 +02:00
Geert Bosch a5917ffb2c a-ngrear.adb (Solve): Make generic and move to System.Generic_Array_Operations.
2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb (Solve): Make generic and move to
	System.Generic_Array_Operations.
	* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
	New generic solvers to	compute a vector resp. matrix Y such
	that A * Y = X, approximately.
	* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
	Implement using Forward_Eliminate and Back_Substitute
	* a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
	on BLAS and LAPACK.
	* a-ngcoar.ads ("abs"): Fix return type to be real.

From-SVN: r179912
2011-10-13 12:56:08 +02:00
Eric Botcazou 574ec9452d re PR ada/50589 ([4.7] Ada bootstrap failure on sparc-linux)
PR ada/50589
	* s-linux-alpha.ads: Do not "with" Interfaces.C.
	* s-linux-sparc.ads: Likewise.

From-SVN: r179911
2011-10-13 10:54:19 +00:00
Geert Bosch 8668ea361d s-gearop.ads (Forward_Eliminate): Add "abs" formal function returning a Real.
2011-10-13  Geert Bosch  <bosch@adacore.com>

	* s-gearop.ads (Forward_Eliminate): Add "abs" formal function
	returning a Real.
	* s-gearop.adb (Forward_Eliminate): Remove local "abs" function
	and use formal.
	* a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
	new profile.

From-SVN: r179910
2011-10-13 12:52:59 +02:00
Geert Bosch edcf5983b6 a-ngrear.adb, [...] (Sqrt): Make generic and move to System.Generic_Array_Operations.
2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
	move to System.Generic_Array_Operations.

From-SVN: r179909
2011-10-13 12:51:39 +02:00
Geert Bosch a4935dea3f a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
	* s-gearop.ads (L2_Norm): Change profile to be suitable for
	Complex_Vector
	* s-gearop.adb (L2_Norm): Reimplement using direct definition,
	not inner product

From-SVN: r179908
2011-10-13 12:49:57 +02:00
Arnaud Charlet 3e7302c3cb [multiple changes]
2011-10-13  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
	prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
	sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
	par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
	par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
	exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* s-gearop.adb: Minor comment additions.

From-SVN: r179907
2011-10-13 12:47:00 +02:00
Arnaud Charlet 8417f4b28e [multiple changes]
2011-10-13  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Add gnattest section.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb: Do not create body of renaming if declaration has
	errors.

2011-10-13  Olivier Hainque  <hainque@adacore.com>

	* init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
	further, to the ppc+kernel case only.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
	Do not create a pool formal on .NET/JVM.
	(Expand_N_Extended_Return_Statement): Alphabetize local
	variables. Do not create a renaming of the build-in-place pool
	parameter on .NET/JVM.	(Make_Build_In_Place_Call_In_Allocator):
	Add the user-defined pool only on non-VM targets.
	(Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
	local variables.  Do not add a pool actual on .NET/JVM.
	* sem_ch6.adb: Add with and use clause for Targparm.
	(Create_Extra_Formals): Add build-in-place pool formal only on
	non-VM targets.
	* rtsfind.ads: Alphabetize entries.

From-SVN: r179906
2011-10-13 12:43:52 +02:00
Arnaud Charlet 4674dd2104 [multiple changes]
2011-10-13  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi: Minor correction.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb: Minor error message improvement.

2011-10-13  Robert Dewar  <dewar@adacore.com>

	* a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.

From-SVN: r179905
2011-10-13 12:40:53 +02:00
Gary Dismukes 95aeda7948 exp_ch5.adb (Expand_N_Loop_Statement): For the transformation of a for loop for an enumeration type with an...
2011-10-13  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
	of a for loop for an enumeration type with an enumeration rep
	clause, which involves moving the original loop parameter into
	a nested block, the loop parameter's entity must be removed from
	the entity list of the loop scope.

From-SVN: r179904
2011-10-13 12:39:15 +02:00
Bob Duff 200b7162a5 exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter" that gets passed in the same cases where...
2011-10-13  Bob Duff  <duff@adacore.com>

	* exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
	that gets passed in the same cases where BIP_Alloc_Form is passed
	(caller-unknown-size results). BIP_Storage_Pool is used when
	BIP_Alloc_Form = User_Storage_Pool.  In that case, a pointer
	to the user-defined storage pool is passed at the call site,
	and this pool is used in callee to allocate the result.
	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
	version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
	the additional BIP_Storage_Pool actual.
	(Expand_N_Extended_Return_Statement): Allocate the function
	result using the user-defined storage pool, if BIP_Alloc_Form =
	User_Storage_Pool.
	* sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
	* exp_ch4.adb: Don't overwrite storage pool set by
	Expand_N_Extended_Return_Statement.
	* s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
	for use in build-in-place function calls within allocators
	where the access type has a user-defined storage pool.

From-SVN: r179903
2011-10-13 12:37:33 +02:00
Arnaud Charlet 9f8d1e5ca5 [multiple changes]
2011-10-13  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
	literal casing.

2011-10-13  Nicolas Roche  <roche@adacore.com>

	* gnatlink.adb: Ensure that -mrtp is passed when
	runtime name ends with 'rtp'.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): an
	unchecked union type can be limited.

2011-10-13  Olivier Hainque  <hainque@adacore.com>

	* init.c (__gnat_error_handler) <VxWorks version>: Add comments on
	the use of the signal trampoline for PPC in the sjlj case as well.
	Add legitimate casts, preventing compile time warnings on the
	(sighandler *) profile.

2011-10-13  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic
	analysis in Alfa mode.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
	expressions are legal limited return values if each one of their
	dependent expressions are legal.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
	if the prefix of the call is a qualified expression, rewrite as
	a code statement.
	* sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
	code statement is legal if it is a rewriting of a procedure call.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Flatten): If a component association has a box,
	assume that aggregate is not static.
	(Safe_Aggregate): If a component association in a non-limited
	aggregate has a box, assume that it cannot be expanded in place.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Get_Or_Create_Configuration_File): Call
	Process_Project_Tree_Phase_1 with Packages_To_Check.
	(Process_Project_And_Apply_Config): Ditto
	* prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
	Remove default for argument Packages_To_Check.
	* prj-proc.adb (Recursive_Process): New argument
	Packages_To_Check.
	(Process): Ditto.
	(Process_Project_Tree_Phase_1): Ditto.
	(Recursive_Project.Process_Aggregated_Projects): Call
	Prj.Part.Parse and Process_Project_Tree_Phase_1 with
	Packages_To_Check.
	* prj-proc.ads (Process): New argument Packages_To_Check
	(Process_Project_Tree_Phase_1): Ditto

From-SVN: r179902
2011-10-13 12:32:13 +02:00
Tom de Vries c28f4b5c26 function.c (gimplify_parameters): Set number of arguments of call to BUILT_IN_ALLOCA_WITH_ALIGN to 2.
2011-10-13  Tom de Vries  <tom@codesourcery.com>

	* function.c (gimplify_parameters): Set number of arguments of call to
	BUILT_IN_ALLOCA_WITH_ALIGN to 2.

From-SVN: r179901
2011-10-13 10:24:47 +00:00
Arnaud Charlet 46f8e1ac8c * gcc-interface/Makefile.in: Fix typo.
From-SVN: r179900
2011-10-13 12:23:36 +02:00
Arnaud Charlet 8097203fc3 [multiple changes]
2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Formal_{Floating_Type,
	Signed_Integer_Type,  Decimal_Fixed_Point_Type, Discrete_Type}):
	Use sloc of defining identifier of farmal type declaration,
	as sloc of generated internal entity, to prevent misplaced
	references in ali.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_intr.adb (Check_Intrinsic_Operator): Check that type
	is fully defined before checking that it is a numeric type.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): If a component
	association for component X has a box, then X is covered in the
	aggregate even if there is not default value for X in the type
	declaration, and X has to be default-initialized.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Check_Enum_Image, Analyze_Attribute case
	'Value): Mark literals as referenced only if reference is in
	current source unit.

2011-10-13  Matthew Heaney  <heaney@adacore.com>

	* a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.

2011-10-13  Olivier Hainque  <hainque@adacore.com>

	* sigtramp.h: New file.  Prototype and spec of the signal
	trampoline to be called by an established handler to provide
	dwarf call frame info before the real signal processing code.
	* sigtramp-ppcvxw.c: New file.	Implementation of the signal
	trampoline for ppc-vxworks.
	* init.c (vxworks section): Use it for ppc.

From-SVN: r179899
2011-10-13 12:22:28 +02:00
Arnaud Charlet e192a2cd62 [multiple changes]
2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
	(Check_Future_Identifier): New subprogram,
	factors duplicated code from Par.Ch2.P_Identifier and
	Par.Ch3.P_Defining_Identifier.

2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* s-taprop-posix.adb (Initialize): Always raise Storage_Error
	if we fail to initialize CV attributes or CV.

2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* s-tasren.adb (Timed_Selective_Wait, case
	Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
	we know abortion is already deferred.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
	(Build_Master_Renaming (function)): Removed.
	(Build_Master_Renaming (procedure)): Moved to exp_ch9.
	(Expand_Full_Type_Declaration): Alphabetize
	variables. Reformatting of code and comments. Rewrite the
	section on processing of anonymous access-to-task types in
	record components.
	* exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
	(Build_Master_Renaming): Moved to exp_ch9.
	* exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
	(Build_Master_Entity): Add formal parameter
	Use_Current. Reformatting of code and comments.
	(Build_Master_Renaming): Moved from exp_ch3.
	* exp_ch9.ads (Build_Class_Wide_Master): Moved from
	exp_ch3. Update comment on usage.
	(Build_Master_Entity):
	Add formal parameter Use_Current. Update comment on usage.
	(Build_Master_Renaming): Moved from exp_ch3.
	* sem_ch3.adb (Access_Definition): Remove redundant code to
	create a _master and a renaming.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb: Do no emit reference to overridden operation,
	if it is internally generated.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* bindgen.adb: Remove any processing related to g-trasym
	* Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
	* mlib-prj.adb: Remove any processing related to g-trasym.

From-SVN: r179898
2011-10-13 12:13:36 +02:00
Tom de Vries 54c42edf79 memcpy-4.c: New test.
2011-10-13  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/memcpy-4.c: New test.

From-SVN: r179897
2011-10-13 09:54:58 +00:00
Tom de Vries ba30e50da2 emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P for static const strings.
2011-10-13  Tom de Vries  <tom@codesourcery.com>

	* emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P
	for static const strings.
	* varasm.c (build_constant_desc): Generate the memory location of the
	constant using gen_const_mem.

From-SVN: r179896
2011-10-13 09:54:50 +00:00
Richard Guenther 6c9fbfa72e re PR tree-optimization/50698 (pretending to create versioning for alias when not required)
2011-10-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50698
	* tree-data-ref.c (split_constant_offset_1): Also process
	offsets of &MEM.

	* g++.dg/vect/pr50698.cc: New testcase.

From-SVN: r179895
2011-10-13 09:00:01 +00:00
GCC Administrator ee9488e6a2 Daily bump.
From-SVN: r179885
2011-10-13 00:18:35 +00:00
Eric Botcazou 0cfaf83fd2 Makefile.in (LOOSE_WARN): Delete.
gnattools/
	* Makefile.in (LOOSE_WARN): Delete.
	(GCC_WARN_CFLAGS): Set to -W -Wall.
	(TOOLS_FLAGS_TO_PASS_1): Delete.
	(TOOLS_FLAGS_TO_PASS_1re): Rename into...
	(TOOLS_FLAGS_TO_PASS_RE): ...this.
	(gnattools-native): Use TOOLS_FLAGS_TO_PASS_NATIVE.
	(regnattools): Use TOOLS_FLAGS_TO_PASS_RE.
libada/
	* Makefile.in (LOOSE_WARN): Delete.
	(GCC_WARN_CFLAGS): Likewise.
	(WARN_CFLAGS): Likewise.
	(GNATLIBFLAGS): Add -nostdinc.
	(GNATLIBCFLAGS_FOR_C): Add -W -Wall.
 	(LIBADA_FLAGS_TO_PASS): Remove WARN_CFLAGS.
	* configure.ac (warn_cflags): Delete.
	* configure: Regenerate.
gcc/ada/
	* sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
	* gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
	(ALL_ADAFLAGS): Include WARN_ADAFLAGS.
	(ADA_FLAGS_TO_PASS): Likewise.
	(COMMON_FLAGS_TO_PASS): New.
	(ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS.  In the regular
	native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
	(gnatlib): Use COMMON_FLAGS_TO_PASS.
	(ada.install-common): Likewise.
	(install-gnatlib): Likewise.
	(install-gnatlib-obj): Likewise.
	(gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
	(gnat-cross): Delete.
	(gnatboot): Likewise.
	(gnatboot2): Likewise.
	(gnatboot3): Likewise.
	(gnatstage1): Likewise.
	(gnatstage2): Likewise.
	* gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
	(MOST_ADAFLAGS): Likewise.
	(LOOSE_CFLAGS): Likewise.
 	(gnat-cross): Likewise.
	(GNATLIBFLAGS): Add -W -Wall.
	(GNATLIBCFLAGS_FOR_C): Likewise.
	* gcc-interface/lang.opt: Remove C-specific warnings.  Add doc lines.
	* gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.

From-SVN: r179878
2011-10-12 22:41:57 +00:00
Janis Johnson 53778c2d88 warn-1.c: Skip if not powerpc_vsx_ok.
* gcc.target/powerpc/warn-1.c: Skip if not powerpc_vsx_ok.
	* gcc.target/powerpc/warn-2.c: Ditto.

From-SVN: r179877
2011-10-12 22:41:18 +00:00
Janis Johnson 5239de8faf ppc-fma-3.c: Require powerpc_fprs.
* gcc.target/powerpc/ppc-fma-3.c: Require powerpc_fprs.
	* gcc.target/powerpc/ppc-fma-4.c: Likewise.
	* gcc.target/powerpc/ppc-fma-5.c: Likewise.
	* gcc.target/powerpc/ppc-fma-7.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
	* gcc.target/powerpc/ppc-pow.c: Likewise.
	* gcc.target/powerpc/recip-1.c: Likewise.
	* gcc.target/powerpc/recip-2.c: Likewise.
	* gcc.target/powerpc/recip-3.c: Likewise.
	* gcc.target/powerpc/recip-4.c: Likewise.
	* gcc.target/powerpc/recip-5.c: Likewise.

From-SVN: r179876
2011-10-12 22:38:57 +00:00
David S. Miller fad034a760 Fix sparc when assembler lacks support for vis3/fmaf instructions.
gcc/

	* config/sparc/sparc.h: Do not force TARGET_VIS3 and TARGET_FMAF
	to zero when assembler lacks support for such instructions.
	* config/sparc/sparc.c (sparc_option_override): Clear MASK_VIS3
	and MASK_FMAF in defaults when assembler lacks necessary support.

gcc/testsuite/

	* gcc.target/sparc/cmask.c: Remove 'vis3' target check and specify
	'-mvis3' instead of 'mcpu=niagara3' in options.
	* gcc.target/sparc/fhalve.c: Likewise.
	* gcc.target/sparc/fnegop.c: Likewise.
	* gcc.target/sparc/fpadds.c: Likewise.
	* gcc.target/sparc/fshift.c: Likewise.
	* gcc.target/sparc/fucmp.c: Likewise.
	* gcc.target/sparc/lzd.c: Likewise.
	* gcc.target/sparc/vis3misc.c: Likewise.
	* gcc.target/sparc/xmul.c: Likewise.

From-SVN: r179875
2011-10-12 15:32:23 -07:00
Eric Botcazou 722356ce27 trans.c (Attribute_to_gnu): Use remove_conversions.
* gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
	(push_range_check_info): Likewise.
	(gnat_to_gnu) <N_Code_Statement>: Likewise.
	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
	(gnat_invariant_expr): Likewise.
	* gcc-interface/utils.c (compute_related_constant): Likewise.
	(max_size): Fix handling of SAVE_EXPR.
	(remove_conversions): Fix formatting.

From-SVN: r179873
2011-10-12 22:09:21 +00:00
Jakub Jelinek 4eb20b036e sse.md (vec_unpacks_lo_<mode>, [...]): Change VI124_128 mode to VI124_AVX2.
* config/i386/sse.md (vec_unpacks_lo_<mode>,
	vec_unpacks_hi_<mode>, vec_unpacku_lo_<mode>,
	vec_unpacku_hi_<mode>): Change VI124_128 mode to
	VI124_AVX2.
	* config/i386/i386.c (ix86_expand_sse_unpack): Handle
	V32QImode, V16HImode and V8SImode for TARGET_AVX2.

From-SVN: r179872
2011-10-13 00:07:24 +02:00
Jakub Jelinek f228967232 sse.md (vec_avx2): New mode_attr.
* config/i386/sse.md (vec_avx2): New mode_attr.
	(mulv16qi3): Macroize to cover also mulv32qi3 for
	TARGET_AVX2 into ...
	(mul<mode>3): ... this.

From-SVN: r179871
2011-10-13 00:06:45 +02:00
Jakub Jelinek 0c7189ae2d i386.md (UNSPEC_VPERMDI): Remove.
* config/i386/i386.md (UNSPEC_VPERMDI): Remove.
	* config/i386/i386.c (ix86_expand_vec_perm): Handle
	V16QImode and V32QImode for TARGET_AVX2.
	(MAX_VECT_LEN): Increase to 32.
	(expand_vec_perm_blend): Add support for 32-byte integer
	vectors with TARGET_AVX2.
	(valid_perm_using_mode_p): New function.
	(expand_vec_perm_pshufb): Add support for 32-byte integer
	vectors with TARGET_AVX2.
	(expand_vec_perm_vpshufb2_vpermq): New function.
	(expand_vec_perm_vpshufb2_vpermq_even_odd): New function.
	(expand_vec_perm_even_odd_1): Handle 32-byte integer vectors
	with TARGET_AVX2.
	(ix86_expand_vec_perm_builtin_1): Try expand_vec_perm_vpshufb2_vpermq
	and expand_vec_perm_vpshufb2_vpermq_even_odd.
	* config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Add for TARGET_AVX2
	32-byte integer vector modes.
	(vec_pack_trunc_<mode>): Use VI248_AVX2 instead of VI248_128.
	(avx2_interleave_highv32qi, avx2_interleave_lowv32qi): Remove pasto.
	(avx2_pshufdv3, avx2_pshuflwv3, avx2_pshufhwv3): Generate
	4 new operands.
	(avx2_pshufd_1, avx2_pshuflw_1, avx2_pshufhw_1): Don't use
	match_dup, instead add 4 new operands and require they have
	right cross-lane values.
	(avx2_permv4di): Change into define_expand.
	(avx2_permv4di_1): New instruction.
	(avx2_permv2ti): Use nonimmediate_operand instead of register_operand
	for "xm" constrained operand.
	(VEC_PERM_AVX2): Add V32QI and V16QI for TARGET_AVX2.

From-SVN: r179870
2011-10-13 00:05:58 +02:00
Jakub Jelinek 9d901b0e8f sse.md (avx2_gathersi<mode>, [...]): Add clobber of match_scratch...
* config/i386/sse.md (avx2_gathersi<mode>,
	avx2_gatherdi<mode>, avx2_gatherdi<mode>256): Add clobber of
	match_scratch, change memory_operand to register_operand,
	add (mem:BLK (scratch)) use.
	(*avx2_gathersi<mode>, *avx2_gatherdi<mode>,
	*avx2_gatherdi<mode>256): Add clobber of match_scratch,
	add earlyclobber to the output operand and match_scratch,
	add (mem:BLK (scratch)) use, change the other mem to match_operand.
	Use %p6 instead of %c6 in the pattern.
	* config/i386/i386.c (ix86_expand_builtin): Adjust for
	operand 2 being a Pmode register_operand instead of memory_operand.

From-SVN: r179869
2011-10-13 00:05:00 +02:00