Commit Graph

127751 Commits

Author SHA1 Message Date
Arnaud Charlet
c2e5400135 [multiple changes]
2014-01-20  Pascal Obry  <obry@adacore.com>

	* s-win32.ads (FreeLibrary): New import.

2014-01-20  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb, sem_cat.adb: Minor reformatting.
	* sem_ch11.adb (Analyze_Raise_Statement): Only give warning about
	assigning to OUT parameters for the current subprogram scope.
	* exp_ch4.adb: Minor reformatting.

2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Process_Transient_Object,
	Find_Enclosing_Contexts): If the top-level if-expression that
	generated the transient object is an actual in a call, the proper
	Hook_Context is a construct enclosing the call.
	* einfo.ads: Indicate that Related_Expression is used to link a
	loop variable to the container expression over which the loop
	takes place.
	(Analyze_Iterator_Specification): Set the Related_Expression of
	the loop variable in a container element iterator.
	(Note_Possible_Modification): If the variable is the loop
	variable in a container element iterator, indicate that the
	enclosing container is also modified.

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

	* aspects.adb (Move_Or_Merge_Aspects): Reimplemented.

From-SVN: r206824
2014-01-20 16:29:06 +01:00
Arnaud Charlet
90b51aaf63 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads:
	Minor reformatting and code clean up.

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

	* sem_cat.adb (Validate_Object_Declaration): Relax semantics
	of objects of private type if Relaxed_RM_Semantics.

From-SVN: r206823
2014-01-20 16:25:44 +01:00
Arnaud Charlet
2838fa930c [multiple changes]
2014-01-20  Claire Dross  <dross@adacore.com>

	* a-cofove.ads (Vector): Capacity discriminant
	should be in range of the index.

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

	* a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue):
	Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for
	possible difference between epoch of Ada.Calendar clock and Ada
	real-time/tasking clock.
	* s-taprop-posix.adb: Minor comment fix.

2014-01-20  Doug Rupp  <rupp@adacore.com>

	* sysdep.c [vxworks]: Remove Vxworks version noise for RTP.

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

	* exp_attr.adb (Expand_N_Attribute_Reference): Generate validity
	checks on the prefix of attribute 'Old.
	* sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the
	generation of validity checks on a range that belongs to the
	iteration scheme of a quantified expression.
	* sem_ch5.adb (One_Bound): Suppress the generation of validity
	checks on a bound that belongs to the iteration scheme of a
	quantified expression, generate the check in all other cases.

2014-01-20  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Enable --pp-new by default. Minor reorganization.

2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve): When compiling a predefined unit, ignore
	interpretations that do not come from other predefined units,
	to prevent spurious ambiguities in the presence of user-defined
	operators in the context of (an instance of) a predefined unit.

From-SVN: r206822
2014-01-20 16:23:37 +01:00
Arnaud Charlet
1e56920493 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document that Loop_Variant is included in
	Statement_Assertions.
	* sem_prag.adb (Check_Kind): Add Loop_Variant to
	Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
	to Statement_Assertions.

2014-01-20  Doug Rupp  <rupp@adacore.com>

	* sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
	for errno ENOENT from RTP on NFS mounted file system.

From-SVN: r206821
2014-01-20 16:21:18 +01:00
Arnaud Charlet
0969e96dcb [multiple changes]
2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
	examine code that does not come from source. The check does not
	apply to code generated for constraint checks, and such code may
	generate spurious error messages when compiled with expansion
	disabled (as in a generic unit) because side effects may not
	have been removed.
	2) Make error messages more explicit: indicate the component
	of the	construct whose value is indeterminate because of a
	call to a function with in-out parameter in another component,
	when there is no mandated order of execution between the two
	components (actuals, aggregate components, alternatives).

2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor cleanup.

From-SVN: r206820
2014-01-20 16:19:15 +01:00
Arnaud Charlet
36eef04a24 [multiple changes]
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result
	can now apply to a refined postcondition.
	* sem_ch6.adb (Analyze_Subprogram_Contract): Remove local
	variable Result_Seen. Add variables Case_Prag, Post_Prag,
	Seen_In_Case and Seen_In_Post. Update the mechanism that detects
	whether postconditions and/or constract-cases mention attribute
	'Result and introduce a post-state when applied to functions.
	(Check_Result_And_Post_State): Removed.
	* sem_prag.adb (Analyze_Pragma): Add local variable
	Result_Seen. Verify that the expression of pragma Refined_Post
	mentions attribute 'Result and introduces a post-state.
	* sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine.

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

	* exp_ch7.adb (Is_Subprogram_Call): New routine.
	(Process_Transient_Objects): Make variable Must_Hook global with
	respect to all locally declared subprograms. Search the context
	for at least one subprogram call.
	(Requires_Hooking): Removed.

2014-01-20  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads
	* a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove,
	External_Axiomatization);

From-SVN: r206819
2014-01-20 16:17:29 +01:00
Robert Dewar
65441a1ec0 sem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow
	Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
	* sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume):
	Allow Loop_Entry to be used in these pragmas if they appear in
	an appropriate context.
	(Placement_Error): Specialize error
	message for pragma Assert[_And_Cut] or pragma Assume containing
	Loop_Entry attribute.
	* a-exexpr-gcc.adb, sinput.adb: Minor reformatting.
	* s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting
	and code clean ups.

From-SVN: r206818
2014-01-20 16:15:34 +01:00
Arnaud Charlet
800da97743 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb: Minor comment update.

2014-01-20  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused
	variables, comment out unused code.
	* a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads
	* s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb
	* s-excmac-arm.ads: New file.

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

	* exp_ch4.adb (Expand_N_Slice): Remove constant D and variables
	Drange and Index_Typ. Remove the circuitry which creates a
	range check to compare the index type of the array against the
	discrete_range.
	* sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update
	the circuitry which creates a range check to handle a
	discrete_range denoted by a subtype indication.

2014-01-20  Pierre-Marie Derodat  <derodat@adacore.com>

	* sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original
	nodes to get the original sloc range.

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

	* sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the
	entity of a [library level] package.

From-SVN: r206817
2014-01-20 16:13:01 +01:00
Arnaud Charlet
51b0e05ae4 [multiple changes]
2014-01-20  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (exception_class_eq): New function.
	(is_handled_by): Use it to compare exception classes.
	(PERSONALITY_STORAGE): Define.	(continue_unwind): New function to
	be called to return URC_CONTINUE_UNWIND.
	(personality_body): New function, extracted from PERSONALITY_ROUTINE.
	(PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder.

2014-01-20  Robert Dewar  <dewar@adacore.com>

	* opt.ads: Minor comment update.

From-SVN: r206815
2014-01-20 15:00:29 +01:00
Arnaud Charlet
5ff90f08f4 [multiple changes]
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.

From-SVN: r206814
2014-01-20 14:59:08 +01:00
Robert Dewar
1f0b1e4847 sem_aggr.adb, [...]: Minor reformatting.
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.

From-SVN: r206813
2014-01-20 14:57:30 +01:00
Arnaud Charlet
c093d3cce4 [multiple changes]
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.

From-SVN: r206812
2014-01-20 14:54:43 +01:00
Arnaud Charlet
0bd75e44cd sem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
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.

From-SVN: r206810
2014-01-20 14:53:22 +01:00
Arnaud Charlet
aca90db9e2 [multiple changes]
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.

From-SVN: r206809
2014-01-20 14:52:19 +01:00
Hristian Kirtchev
dc72675740 einfo.adb (Non_Limited_View): Applies to abstract states.
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.

From-SVN: r206808
2014-01-20 14:50:15 +01:00
Bob Duff
3a5de596b6 sem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current with-ed name refers to a package...
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;".

From-SVN: r206807
2014-01-20 14:48:45 +01:00
Yannick Moy
4460a9bcc2 exp_spark.adb (Expand_SPARK_Call): Remove procedure.
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.

From-SVN: r206806
2014-01-20 14:47:41 +01:00
Yannick Moy
f5da7a97f5 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.

From-SVN: r206805
2014-01-20 14:44:07 +01:00
Tejas Belagod
69675d50f6 [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.

From-SVN: r206804
2014-01-20 12:34:13 +00:00
James Greenhalgh
ffee7aa91a [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.

From-SVN: r206803
2014-01-20 11:32:32 +00:00
Jan-Benedict Glaw
c716977996 re PR bootstrap/59496 (Bootstrap fails on powerpc-apple-darwin9 after r205685)
gcc:

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


Co-Authored-By: Iain Sandoe <iain@codesourcery.com>

From-SVN: r206802
2014-01-20 11:20:24 +00:00
Richard Biener
409b6ac196 re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843)
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.

From-SVN: r206799
2014-01-20 11:01:53 +00:00
Eric Botcazou
fd6e497e9c decl.c (gnat_to_gnu_entity): Robustify tests for aliased objects with an unconstrained nominal subtype.
* 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.

From-SVN: r206798
2014-01-20 10:59:26 +00:00
Alan Lawrence
608df31fde [AArch64] Make -mcpu, -march and -mtune case-insensitive.
gcc/

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

From-SVN: r206797
2014-01-20 10:57:46 +00:00
Eric Botcazou
44e9e3ec85 decl.c (gnat_to_gnu_entity): Tidy up.
* 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.

From-SVN: r206796
2014-01-20 10:51:46 +00:00
Eric Botcazou
59f5c969a5 decl.c (gnat_to_gnu_entity): Remove obsolete code for type_annotate_only mode...
* 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.

From-SVN: r206794
2014-01-20 10:29:09 +00:00
Eric Botcazou
621955cb7c c-ada-spec.h (dump_ada_specs): Revert prototype change.
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.

From-SVN: r206793
2014-01-20 10:18:49 +00:00
Jakub Jelinek
0fabe5f34f re PR target/59880 (ix86_avoid_lea_for_addr is buggy)
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.

From-SVN: r206792
2014-01-20 10:52:21 +01:00
Renlin Li
6fc00404fa * gcc.dg/pr44194-1.c: Tweak regexp.
From-SVN: r206791
2014-01-20 09:11:16 +00:00
Gerald Pfeifer
493b8af880 MAINTAINERS: Convert to UTF-8.
* MAINTAINERS: Convert to UTF-8.
	Properly sort Xinliang David Li's entry.

From-SVN: r206790
2014-01-20 03:15:26 +00:00
GCC Administrator
0cb6161665 Daily bump.
From-SVN: r206789
2014-01-20 00:17:00 +00:00
Steven G. Kargl
cd02d79342 re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
2014-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libfortran/59771
	PR libfortran/59774
	PR libfortran/59836
	* gfortran.dg/round_3.f08: New cases added.
	* gfortran.dg/fmt_g_1.f90: New test.

From-SVN: r206786
2014-01-19 23:21:10 +00:00
Jerry DeLisle
32aeb94ab1 re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
2014-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR libfortran/59771
	PR libfortran/59774
	PR libfortran/59836
	* io/write_float.def (output_float): Fix wrong handling of the
	Fw.0 format.
	(output_float_FMT_G_): Fixes rounding issues with -m32.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r206785
2014-01-19 23:17:43 +00:00
Jan Hubicka
cdafab3de6 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
From-SVN: r206784
2014-01-19 23:12:24 +00:00
Tim Shen
053eb1f31e regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**".
2014-01-19  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
	Fix parse error of multiple consecutive quantifiers like "a**".
	* include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
	Likewise.
	* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.

From-SVN: r206783
2014-01-19 21:59:20 +00:00
Uros Bizjak
e2a9b2cdf0 pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.
* g++.dg/pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.

From-SVN: r206782
2014-01-19 20:21:26 +01:00
John David Anglin
925cb97d79 pa.c (pa_attr_length_millicode_call): Correct length of long non-pic millicode calls.
* config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
	long non-pic millicode calls.

From-SVN: r206779
2014-01-19 18:09:53 +00:00
Kito Cheng
7c5425fab7 builtins.c (expand_movstr): Check movstr expand done or fail.
2014-01-19  Kito Cheng  <kito@0xlab.org>

	* gcc/builtins.c (expand_movstr): Check movstr expand done or fail.

From-SVN: r206777
2014-01-19 17:36:00 +00:00
Richard Sandiford
167492b920 pr54240.c: Add -ffat-lto-objects.
gcc/testsuite/
	* gcc.target/mips/pr54240.c: Add -ffat-lto-objects.

From-SVN: r206776
2014-01-19 17:07:11 +00:00
Jan-Benedict Glaw
f43856dba0 Since started...
Since started, the VAX backend doesn't compile with config-list.mk
because one of VAX's macros doesn't use its argument:

g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace    -o loop-invariant.o -MT loop-invariant.o -MMD -MP -MF ./.deps/loop-invariant.TPo ../../../gcc/gcc/loop-invariant.c
../../../gcc/gcc/loop-invariant.c: In function ‘bool check_dependency(basic_block, df_ref, bitmap)’:../../../gcc/gcc/loop-invariant.c:789:20: error: unused variable ‘regno’ [-Werror=unused-variable]       unsigned int regno = DF_REF_REGNO (use);
                    ^
cc1plus: all warnings being treated as errors
make[2]: *** [loop-invariant.o] Error 1


This should fix it:


2014-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.

[BR]: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00882.html

From-SVN: r206775
2014-01-19 15:52:20 +00:00
Uros Bizjak
efc90043e6 re PR target/59379 (gomp_init_num_threads is compiled into an infinite loop with --with-arch=corei7 --with-cpu=slm)
PR target/59379
	* config/i386/i386.md (*lea<mode>): Zero-extend return register
	to DImode for zero-extended addresses.

From-SVN: r206774
2014-01-19 16:48:14 +01:00
Jakub Jelinek
8fce217edc re PR rtl-optimization/57763 (comp-goto-1.c: ICE verify_flow_info failed, error: EDGE_CROSSING missing across section boundary)
PR rtl-optimization/57763
	* bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
	on the new indirect jump_insn and increment LABEL_NUSES (label).

From-SVN: r206773
2014-01-19 16:30:22 +01:00
Richard Sandiford
7d483daae9 pr57705.c: Require vect_int.
gcc/testsuite/
	* gcc.dg/vect/pr57705.c: Require vect_int.
	* gcc.dg/vect/pr58508.c: Fix order of dg-require-effective-target line.
	* gcc.dg/vect/vect-alias-check.c: Likewise.

From-SVN: r206771
2014-01-19 09:57:24 +00:00
GCC Administrator
a79ef602e0 Daily bump.
From-SVN: r206770
2014-01-19 00:16:30 +00:00
Mikael Morin
ddafd21a25 re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups does not fixup component of __class_bsr_Bsr_matrix)
fortran/
        PR fortran/58007
        * module.c (MOD_VERSION): Bump.
        (fp2, find_pointer2): Remove.
        (mio_component_ref): Don't forcedfully set the containing derived type
        symbol for loading.  Remove unused argument.
        (mio_ref): Update caller
        (mio_symbol): Dump component list earlier.
        (skip_list): New argument nest_level.  Initialize level with the new
        argument.
        (read_module): Add forced pointer components association for derived
        type symbols.

testsuite/
        PR fortran/58007
        * gfortran.dg/unresolved_fixup_1.f90: New test.
        * gfortran.dg/unresolved_fixup_2.f90: New test.

From-SVN: r206759
2014-01-18 20:05:25 +00:00
H.J. Lu
646bdeabac Update x86 --with-arch/--with-cpu= configure handling
PR bootstrap/59580
	PR bootstrap/59583
	* config.gcc (x86_archs): New variable.
	(x86_64_archs): Likewise.
	(x86_cpus): Likewise.
	Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
	--with-arch/--with-cpu= options.
	Support --with-arch=/--with-cpu={nehalem,westmere,
	sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.

From-SVN: r206756
2014-01-18 05:25:40 -08:00
Uros Bizjak
7f3af6d379 i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8 and PROCESSOR_ATHLON to simplify code.
* config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
	and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.

	* config/i386/i386.md (*swap<mode>): Rename from swap<mode>.

From-SVN: r206753
2014-01-18 13:42:10 +01:00
Jakub Jelinek
fa5d6c752e re PR target/58944 (bogus -Wunused-macros warnings when compiling Libreoffice)
PR target/58944
	* config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
	clear cpp_get_options (parse_in)->warn_unused_macros for
	ix86_target_macros_internal with cpp_define.

	* gcc.target/i386/pr58944.c: Drop -march=native from dg-options.
	Remove dg-prune-output lines.

From-SVN: r206750
2014-01-18 11:18:33 +01:00
Richard Sandiford
04da56800d jump.c (delete_related_insns): Keep (use (insn))s.
gcc/
	* jump.c (delete_related_insns): Keep (use (insn))s.
	* reorg.c (redundant_insn): Check for barriers too.

From-SVN: r206749
2014-01-18 10:12:22 +00:00
H.J. Lu
1e99bee598 Fix a comment typo in ix86_split_lea_for_addr
* config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment
	typo.

From-SVN: r206745
2014-01-17 18:49:56 -08:00