* gcc.dg/pr44194-1.c: Tweak regexp.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206791 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/59880
	* config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
	if operands[1] is a REG or ZERO_EXTEND of a REG.

	* gcc.target/i386/pr59880.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206792 138bc75d-0d04-0410-961f-82ee72b054a4
c-family/
	* c-ada-spec.h (dump_ada_specs): Revert prototype change.
	* c-ada-spec.c (dump_ads): Likewise.
	(cpp_check): Likewise.
	(dump_ada_specs): Likewise.
cp/
	* decl2.c (cpp_check): Revert prototype change.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206793 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove
	obsolete code for type_annotate_only mode, simplify code and slightly
	improve wording of comments.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206794 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>:
	Tidy up.  For a subtype with discriminants and variant part, if a
	variant is statically selected and the fields all have a constant
	position, put them in order of increasing position.  Likewise if
	no variant part but representation clause is present.
	* gcc-interface/utils.c (make_packable_type): Robustify.
	(maybe_pad_type): Use local variable and tidy up condition.  If no
	alignment is specified, use the original one.
	(create_type_stub_decl): Minor tweak.
	(convert) <case VECTOR_CST>: Fix typo.
	<case CONSTRUCTOR>: Deal with padding types around the same type.
	Do not punt on missing fields.
	(unchecked_convert): Call finish_record_type to lay out the special
	record types made for conversions from/to problematic integer types.
	Bump the alignment of CONSTRUCTORs before converting them to a more
	aligned type.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206796 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Make -mcpu, -march and -mtune case-insensitive.

gcc/

	* config/aarch64/aarch64.opt
	(mcpu, march, mtune): Make case-insensitive.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206797 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests
	for aliased objects with an unconstrained nominal subtype.
	* gcc-interface/trans.c (Call_to_gnu): Likewise.
	(gnat_to_gnu) <case N_Op_Not>: Robustify test for private type.
	<case N_Op_Minus>: Remove useless code.
	(Exception_Handler_to_gnu_zcx): Minor tweaks.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206798 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/59860
	* builtins.c (fold_builtin_strcat): Remove case better handled
	by tree-ssa-strlen.c.

	* gcc.dg/pr59860.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206799 138bc75d-0d04-0410-961f-82ee72b054a4
gcc:

	PR bootstrap/59496
	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
	warning.  Amend comment to reflect current functionality.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206802 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Fix behaviour of -mcpu option to match ARM.

gcc/

	* common/config/aarch64/aarch64-common.c
	(aarch64_handle_option): Don't handle any option order logic here.
	* config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
	selected_cpu, warn on architecture version mismatch.
	(aarch64_override_options): Fix parsing order for option strings.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206803 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Relax CANNOT_CHANGE_MODE_CLASS

gcc/
	* config/aarch64/aarch64-protos.h
	(aarch64_cannot_change_mode_class_ptr): Declare.
	* config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
	aarch64_cannot_change_mode_class_ptr): New.
	* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
	backend hook aarch64_cannot_change_mode_class.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206804 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Yannick Moy  <moy@adacore.com>

	* adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb,
	* exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb,
	* sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb,
	* sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into
	GNATprove_Mode.
	* sem_ch13.adb: Remove blank.
	* exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace
	subprograms by alias for renamings, not for inherited primitive
	operations.
	* exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion
	in GNATprove mode.
	(Remove_Side_Effects): Apply the removal in
	GNATprove mode, for the full analysis of expressions.
	* expander.adb (Expand): Call the light SPARK expansion in GNATprove
	mode.
	(Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore
	save/restore actions for Expander_Active flag in GNATprove mode,
	similar to what is done in ASIS mode.
	* frontend.adb (Frontend): Generic bodies are instantiated in
	GNATprove mode.
	* gnat1drv.adb (Adjust_Global_Switches): Set operating
	mode to Check_Semantics in GNATprove mode, although a light
	expansion is still performed.
	(Gnat1drv): Set Back_End_Mode to
	Declarations_Only in GNATprove mode, and later on special case
	the GNATprove mode to continue analysis anyway.
	* lib-writ.adb (Write_ALI): Always generate ALI files in
	GNATprove mode.
	* opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to
	Expander_Active.
	(SPARK_Mode): Renamed as GNATprove_Mode.
	* sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the
	tree in GNATprove_Mode.
	* sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate
	body in GNATprove mode.
	(Need_Subprogram_Instance_Body): Always instantiate body in GNATprove
	mode.
	* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
	Make sure side effects are removed in GNATprove mode.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206805 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Yannick Moy  <moy@adacore.com>

	* exp_spark.adb (Expand_SPARK_Call): Remove procedure.
	* opt.adb, opt.ads (Full_Expander_Active): Remove function.
	* checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb,
	* sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb,
	* sem_disp.adb, sem_res.adb Replace Full_Expander_Active by
	Expander_Active.

2014-01-20  Yannick Moy  <moy@adacore.com>

	* sinfo.ads Update documentation of GNATprove mode.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206806 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Bob Duff  <duff@adacore.com>

	* sem_ch10.adb (Expand_With_Clause): Don't
	recurse on the prefix if the current with-ed name refers to a
	package that renames its own parent, eg "package P.Q renames P;".



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206807 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Non_Limited_View): Applies to abstract states.
	(Set_From_Limited_With): Applies to abstract states.
	(Set_Non_Limited_View): Applies to abstract states.
	(Write_Field17): Output the non-limited view of an abstract state.
	* einfo.ads: Update the comment on usage and occurrences in
	nodes for attributes From_Limited_With and Non_Limited_View.
	* sem_aux.adb (Available_View): This routine can now handle
	abstract states.
	* sem_aux.ads (Available_View): This routine can now handle
	abstract states. Update the comment on usage.
	* sem_ch8.adb (Find_Expanded_Name): Handle abstract views
	of states and variables.
	(In_Pragmas_Depends_Or_Global): New routine.
	* sem_ch10.adb (Build_Limited_Views): Implement
	abstract (limited) views of variables and states.
	(Build_Shadow_Entity): This routine is now a procedure. Add
	formal parameter Shadow. Update the comment on usage. Add
	context-specific decoration for states and variables.
	(Decorate_State): New routine.	(Decorate_Variable): New routine.
	(Find_And_Process_States): New routine.
	(Process_Declarations): Renamed to Process_Declarations_And_States.
	(Process_Declarations_And_States): Add formal parameters
	Pack and Create_Abstract_Views. Update the comment on usage.
	(Process_States): New routine.
	* sem_prag.adb (Check_Dependency_Clause): Handle abstract
	views of states and variables. Match the abstract view of a state
	against its corresponding non-abstract view.
	(Is_Matching_Input):
	Handle abstract views of states and variables. Match the abstract
	view of a state against its corresponding non-abstract view.
	(Process_Global_Item): Handle abstract views of states and
	variables.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206808 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.ads: E_Abstract_State is now part of the entities that
	can be overloaded. Update type Overloadable_Kind to reflect the
	inclusion of abstract states.
	* sem_ch6.adb (New_Overloaded_Entity): A function can now
	overload an abstract state.
	* sem_prag.adb (Analyze_Constituent): Handle the overloading
	of states by functions. Use Entity_Of to obtain the entity of
	a constituent.	(Analyze_Global_Item): Handle the overloading of
	states by functions.
	(Analyze_Initialization_Item): Handle the
	overloading of states by functions.  Use Entity_Of to obtain the
	entity of an item.
	(Analyze_Input_Item): Handle the overloading
	of states by functions. Use Entity_Of to obtain the entity of an item.
	(Analyze_Input_Output): Handle the overloading of states by functions.
	(Analyze_Refinement_Clause): Handle the overloading
	of states by functions.  Use Entity_Of to obtain the entity of an item.
	(Appears_In): Use Entity_Of to obtain the entity of an element.
	(Check_Usage): Use Entity_Of to obtain the entity of
	an item. Add a guard to prevent a crash due to a previous error.
	(Resolve_State): New routine.

2014-01-20  Yannick Moy  <moy@adacore.com>

	* spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads,
	opt.ads: Minor comments updates.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206809 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): In
	Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
	(Analyze_Pragma): Ditto for pragma Export.
	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma
	Import style.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206810 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove
	mode.

2014-01-20  Pascal Obry  <obry@adacore.com>

	* g-arrspl.ads (Slice_Set): New definition (will use a copy on
	write scheme).
	* g-arrspl.adb: Adapt all routine to this new implementation.
	(Set): Copy the Slice_Set definition before reusing it.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206812 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb,
	checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb,
	expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb,
	sem_ch8.adb, exp_dist.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206813 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Slice): Relocate some variables and
	constants to the "Local variables" area. Add new constant D. Add
	new variables Drange and Index_Typ.  Rename Pfx to Rep and Ptp
	to Pref_Typ and update all occurrences. Add circuitry to extract
	the discrete_range and the index type and build a range check.

2014-01-20  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Enable
	Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics
	is set.

2014-01-20  Thomas Quinot  <quinot@adacore.com>

	* sem_ch5.adb, sem_ch4.adb: Minor reformatting.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	When aspect SPARK_Mode appears on a package body, insert the
	generated pragma at the top of the body declarations.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206814 138bc75d-0d04-0410-961f-82ee72b054a4