122851 Commits

Author SHA1 Message Date
Janus Weil
9c9c61994c re PR fortran/55959 ([OOP] ICE in in gfc_simplify_expr, at fortran/expr.c:1920)
2013-04-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55959
	* expr.c (gfc_simplify_expr): Branch is not unreachable.


2013-04-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55959
	* gfortran.dg/typebound_proc_29.f03: New.

From-SVN: r197943
2013-04-13 12:52:31 +02:00
Steven Bosscher
1f397f45b3 emit-rtl.c (remove_insn): Do not call df_insn_delete here.
* emit-rtl.c (remove_insn): Do not call df_insn_delete here.
	* cfgrtl.c (delete_insn): Call it here instead.
	* lra-spills.c (lra_final_code_change): Use delete_insn.
	* haifa-sched.c (sched_remove_insn): Likewise.
	* sel-sched-ir.c (return_nop_to_pool): Clear INSN_DELETED_P for nops
	returning to the nop pool.
	(sel_remove_insn): Simplify the only_disconnect case via remove_insn,
	use delete_insn for definitive removal.  Clear BLOCK_FOR_INSN.

From-SVN: r197942
2013-04-13 10:04:09 +00:00
GCC Administrator
0e50ab072a Daily bump.
From-SVN: r197940
2013-04-13 00:16:43 +00:00
Steven Bosscher
58a5136910 tm.texi.in (LOOP_ALIGN): Remove loop note references.
* doc/tm.texi.in (LOOP_ALIGN): Remove loop note references.
	* doc/tm.texi: Regenerated.

From-SVN: r197937
2013-04-12 23:32:28 +00:00
Janus Weil
236e381528 re PR fortran/56266 ([OOP] ICE on invalid in gfc_match_varspec)
2013-04-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/56266
	* primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.


2013-04-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/56266
	* gfortran.dg/typebound_proc_28.f03: New.

From-SVN: r197936
2013-04-12 23:41:50 +02:00
Jeff Law
701de10f52 vrp87.c: Do not run test on ppc and xtensa either.
* gcc.dg/tree-ssa/vrp87.c: Do not run test on ppc and xtensa
        either.

From-SVN: r197935
2013-04-12 15:08:13 -06:00
Uros Bizjak
331598668d i386.c (ix86_hard_regno_mode_ok): Use ANY_QI_REGNO_P in QImode checks.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Use ANY_QI_REGNO_P in
	QImode checks.

From-SVN: r197933
2013-04-12 20:23:27 +02:00
Tobias Burnus
14c96bcafd re PR fortran/56929 ([OOP] [F08] ICE on dummy argument child class with coarray inside parent)
2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56929
        * trans-array.c (duplicate_allocatable): Fix handling
        of scalar coarrays.

2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56929
        * gfortran.dg/coarray/alloc_comp_2.f90: New.

From-SVN: r197930
2013-04-12 19:55:48 +02:00
Steven Bosscher
226e378f4d df-core.c (df_find_def): Compare register numbers.
* df-core.c (df_find_def): Compare register numbers.
	(df_find_use): Likewise.

From-SVN: r197929
2013-04-12 17:53:55 +00:00
Vladimir Makarov
fafb9b1865 re PR rtl-optimization/56903 (gcc is 4.8.0 fails to compile netdev.c from the linux kernel [internal compiler error: Maximum number of LRA constraint passes is achieved])
2013-04-12  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/56903
	* config/i386/i386.c (ix86_hard_regno_mode_ok): Add
	lra_in_progress for return.

2013-04-12  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/56903
	* gcc.target/i386/pr56903.c: New test.

From-SVN: r197927
2013-04-12 17:09:10 +00:00
Greta Yorsh
9a946fd66c arm.md (mov_scc,mov_negscc,mov_notscc): Convert define_insn into define_insn_and_split and emit movsicc patterns.
2013-04-12  Greta Yorsh  <Greta.Yorsh@arm.com>

	* config/arm/arm.md (mov_scc,mov_negscc,mov_notscc): Convert
	define_insn into define_insn_and_split and emit movsicc patterns.

From-SVN: r197925
2013-04-12 16:22:06 +01:00
Jakub Jelinek
0ea6237867 crontab: Disable snapshots from gcc-4_6-branch.
* crontab: Disable snapshots from gcc-4_6-branch.
	* update_version_svn: Ignore gcc-4_6-branch.

From-SVN: r197924
2013-04-12 17:07:38 +02:00
Janus Weil
96486998bc re PR fortran/56261 ([OOP] seg fault call procedure pointer on polymorphic array)
2013-04-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/56261
	* gfortran.h (gfc_explicit_interface_required): New prototype.
	* expr.c (gfc_check_pointer_assign): Check if an explicit interface is
	required in a proc-ptr assignment.
	* interface.c (check_result_characteristics): Extra check.
	* resolve.c (gfc_explicit_interface_required): New function.
	(resolve_global_procedure): Use new function
	'gfc_explicit_interface_required'. Do a full interface check.


2013-04-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/56261
	* gfortran.dg/auto_char_len_4.f90: Add -pedantic. Changed error.
	* gfortran.dg/assumed_rank_4.f90: Modified error wording.
	* gfortran.dg/block_11.f90: Fix invalid test case.
	* gfortran.dg/function_types_3.f90: Add new error message.
	* gfortran.dg/global_references_1.f90: Ditto.
	* gfortran.dg/import2.f90: Remove unneeded parts.
	* gfortran.dg/import6.f90: Fix invalid test case.
	* gfortran.dg/proc_decl_2.f90: Ditto.
	* gfortran.dg/proc_decl_9.f90: Ditto.
	* gfortran.dg/proc_decl_18.f90: Ditto.
	* gfortran.dg/proc_ptr_40.f90: New.
	* gfortran.dg/whole_file_7.f90: Modified error wording.
	* gfortran.dg/whole_file_16.f90: Ditto.
	* gfortran.dg/whole_file_17.f90: Add -pedantic.
	* gfortran.dg/whole_file_18.f90: Modified error wording.
	* gfortran.dg/whole_file_20.f03: Ditto.
	* gfortran.fortran-torture/execute/intrinsic_associated.f90: Fix
	invalid test case.

From-SVN: r197922
2013-04-12 16:21:39 +02:00
Greta Yorsh
41b83758ed arm.c (gen_operands_ldrd_strd): Initialize "base".
2013-04-12  Greta Yorsh  <Greta.Yorsh@arm.com>

	* config/arm/arm.c (gen_operands_ldrd_strd): Initialize "base".

From-SVN: r197921
2013-04-12 15:19:10 +01:00
Robert Dewar
5bd66d23fc makeutl.adb, [...]: Minor reformatting.
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* makeutl.adb, prj-nmsc.adb: Minor reformatting.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Make_Invariant_Call): Use Check_Kind instead
	of Check_Enabled.
	* gnat_rm.texi (Check_Policy): Update documentation for new
	Check_Policy syntax.
	* sem_prag.adb (Check_Kind): Replaces Check_Enabled
	(Analyze_Pragma, case Check_Policy): Rework to accomodate new
	syntax (like Assertion_Policy).
	* sem_prag.ads (Check_Kind): Replaces Check_Enabled.

From-SVN: r197920
2013-04-12 15:45:25 +02:00
Arnaud Charlet
e952150cf6 Update dependencies.
From-SVN: r197919
2013-04-12 15:43:43 +02:00
Arnaud Charlet
4bc0caddeb [multiple changes]
2013-04-12  Doug Rupp  <rupp@adacore.com>

	* init.c (SS$_CONTROLC, SS$_CONTINUE) [VMS]: New macros.
	(__gnat_handle_vms_condition) [VMS]: Dispatch on the Crtl/C user
	handler if installed.
	* ctrl_c.c (__gnat_install_int_handler)
	[VMS]: Install a dummy sigaction handler to trigger the real
	user handler dispatch in init.c/__gnat_handle_vms_condition.
	(__gnat_uninstall_int_handler) [VMS]: Likewise.

2013-04-12  Vincent Celier  <celier@adacore.com>

	* clean.adb (Parse_Cmd_Line): Set Directories_Must_Exist_In_Projects
	to False if switch is specified.
	* makeutl.adb (Initialize_Source_Record): Do not look for the
	object file if there is no object directory.
	* opt.ads (Directories_Must_Exist_In_Projects): New Boolean
	variable, defaulted to True.
	* prj-nmsc.adb (Check_Library_Attributes): Do not fail if library
	directory does not exist when Directories_Must_Exist_In_Projects is
	False.
	(Get_Directories): Do not fail when the object or the exec directory
	do not exist when Directories_Must_Exist_In_Projects is False.

From-SVN: r197918
2013-04-12 15:42:39 +02:00
Arnaud Charlet
b69cd36a46 [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* namet.adb, namet.ads: Minor addition (7 arg version of Nam_In).
	* exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb,
	sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb,
	par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb,
	sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb,
	exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb,
	prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
	sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb,
	sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In).

2013-04-12  Doug Rupp  <rupp@adacore.com>

	* init.c: Don't clobber condition code on VMS.

From-SVN: r197917
2013-04-12 15:41:03 +02:00
Robert Dewar
7893514cf6 exp_aggr.adb: Minor reformatting.
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* exp_aggr.adb: Minor reformatting.
	* namet.ads, namet.adb (Nam_In): New functions.

From-SVN: r197916
2013-04-12 15:39:09 +02:00
Arnaud Charlet
aab45d22d2 [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (Has_Dynamic_Predicate_Aspect): New flag.
	(Has_Static_Predicate_Aspect): New flag.
	* einfo.ads (Has_Dynamic_Predicate_Aspect): New flag.
	(Has_Static_Predicate_Aspect): New flag.
	* exp_ch9.adb: Minor reformatting.
	* exp_util.adb (Make_Invariant_Call): Check_Enabled now handles
	synonyms.
	* gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled,
	since this switch is gone and control of Debug is done with
	Assertions_Enabled.
	* gnat_rm.texi: Update documentation for Assertion_Policy and
	Check_Policy pragmas.
	* opt.adb (Debug_Pragmas_Disabled[_Config]): Removed
	(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
	controlled by Assertion_Enabled.
	* opt.ads (Debug_Pragmas_Disabled[_Config]): Removed
	(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
	controlled by Assertion_Enabled.
	* par-ch2.adb (Scan_Pragma_Argument_Association): Allow new
	'Class forms.
	* sem_attr.adb: Minor reformatting.
	* sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect
	if DISABLE policy applies.
	* sem_ch6.adb (Grab_PPC): Check original name of aspect for
	aspect from pragma (Process_PPCs): Properly check assertion policy.
	* sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy
	(Check_Appicable_Policy): New procedure.
	(Is_Valid_Assertion_Kind): New function.
	(Rewrite_Assertion_Kind): New procedure.
	(Analyze_Pragma): Handle case of disabled assertion pragma.
	(Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012.
	(Analyze_Pragma, case Check): Deal with 'Class possibilities.
	(Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities.
	(Analyze_Pragma, case Contract_Class): New handling of ignored pragma.
	(Analyze_Pragma, case Debug): New control with Assertion_Policy.
	(Analyze_Pragma, case Debug_Policy): Now consistent with
	Assertion_Policy.
	(Analyze_Pragma, case Loop_Invariant): New handling of ignored
	pragma.
	(Analyze_Pragma, case Loop_Variant): New handling of ignored pragma.
	(Analyze_Pragma, case Precondition): Use proper name for Check pragma.
	(Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff.
	* sem_prag.ads (Check_Enabled): Rewritten for new
	Assertion_Policy stuff.
	(Check_Appicable_Policy): New procedure.
	* sinfo.adb (Is_Disabled): New flag.
	(Is_Ignored): New flag.
	* sinfo.ads (Is_Disabled): New flag.
	(Is_Ignored): New flag.
	(N_Pragma_Argument_Association): New 'Class forms.
	* snames.ads-tmpl: New names Name_uPre, Name_uPost,
	Name_uType_Invariant, Name_uInvariant.
	* switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata.
	* tree_io.ads (ASIS_Version_Number): Updated (remove
	read write of obsolete flags Debug_Pragmas_Disabled and
	Debug_Pragmas_Enabled.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary
	of Build_Record_Aggr_Code, used to retrieve explicit values
	for inherited discriminants in an extension aggregate, when the
	ancestor type is unconstrained.

From-SVN: r197915
2013-04-12 15:35:06 +02:00
Arnaud Charlet
beaa97abbf [multiple changes]
2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Check_Stream_Attribute): If restriction
	No_Default_Stream_Attributes is active, it is illegal to use a
	predefined elementary type stream attribute either by itself,
	or more importantly as part of the attribute subprogram for a
	composite type. However, if the broader restriction No_Streams
	is active, then stream operations are not generated, and there
	is no error.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* gnatbind.adb: Minor reformatting.

From-SVN: r197914
2013-04-12 15:31:37 +02:00
Bob Duff
97b9064f51 sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a call only in the static elaboration model.
2013-04-12  Bob Duff  <duff@adacore.com>

	* sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a
	call only in the static elaboration model.

From-SVN: r197913
2013-04-12 15:24:37 +02:00
Arnaud Charlet
ce532f42a7 [multiple changes]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Input_List): Detect an illegal dependency
	clause where both input and output lists are null.
	(Analyze_Pragma): Update the grammar of pragma Depends.

2013-04-12  Vincent Celier  <celier@adacore.com>

	* gnatbind.adb (No_Restriction_List): Exclude restrictions that
	take a parameter value, not a count.
	* prj.ads, prj.adb (Remove_All_Restricted_Languages): New procedure.
	* projects.texi: Complete documentation of attribute Roots.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

	* exp_ch3.adb, exp_util.ads, checks.adb, freeze.adb, sem_attr.adb,
	sem_ch3.adb: Minor reformatting.
	* exp_ch4.adb (Size_In_Storage_Elements): Minor documentation
	improvement: note that the computation is pessimistic for bit
	packed arrays.
	* gnat_rm.texi (Range_Length): Fix minor error in description
	of attribute.

From-SVN: r197912
2013-04-12 15:23:23 +02:00
Hristian Kirtchev
d62520f3cf aspects.adb (Find_Aspect): New routine.
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb (Find_Aspect): New routine.
	(Find_Value_Of_Aspect): New routine.
	(Has_Aspect): Reimplemented.
	* aspects.ads (Find_Aspect): New routine.
	(Find_Value_Of_Aspect): New routine, previously known as Find_Aspect.
	* exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect.
	* exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect.
	* sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect.
	* sem_ch5.adb (Analyze_Iterator_Specification): Update
	the call to Find_Aspect. Use function Has_Aspect for better
	readability.
	(Preanalyze_Range): Use function Has_Aspect for better readability.
	* sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect.
	* sem_prag.adb (Analyze_Pragma): There is no longer need to
	look at the parent to extract the corresponding pragma for
	aspect Global.

From-SVN: r197911
2013-04-12 15:20:29 +02:00
Arnaud Charlet
489c6e198e [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb,
	restrict.ads: Minor reformatting.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb: Retrieve original name of classwide type if any.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

	* exp_ch11.ads: Minor reformatting.

From-SVN: r197910
2013-04-12 15:19:15 +02:00
Hristian Kirtchev
a7e68e7fa7 aspects.adb: Alphabetize subprogram bodies in this unit.
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Alphabetize subprogram bodies in this unit. Add
	an entry for Aspect_Ghost in the table of canonical aspects.
	(Has_Aspect): New routine.
	* aspects.ads: Add Aspect_Ghost to all relevant
	tables. Alphabetize subprograms in this unit.
	(Has_Aspect): New routine.
	* einfo.adb: Add with and use clauses for Aspects.
	(Is_Ghost_Function): New routine.
	* einfo.ads: Add new synthesized attribute Is_Ghost_Function and
	update the structure of the related nodes.
	(Is_Ghost_Function): New routine.
	* exp_ch4.adb (Find_Enclosing_Context): Use routine
	Is_Body_Or_Package_Declaration to terminate a search.
	(Is_Body_Or_Unit): Removed.
	* exp_util.adb (Within_Case_Or_If_Expression): Use routine
	Is_Body_Or_Package_Declaration to terminate a search.
	* par-prag.adb: Add pragma Ghost to the list of pragmas that do
	not need special processing by the parser.
	* sem_attr.adb (Analyze_Access_Attribute): Detect an
	illegal use of 'Access where the prefix is a ghost function.
	(Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration
	to terminate a search.	(Check_References_In_Prefix): Use routine
	Is_Body_Or_Package_Declaration to terminate a search.
	* sem_ch4.adb (Analyze_Call): Mark a function when it appears
	inside an assertion expression.  Verify the legality of a call
	to a ghost function.
	(Check_Ghost_Function_Call): New routine.
	* sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move
	the setting of attribute In_Assertion_Expression to Analyze_Call.
	(Check_Overriding_Indicator): Detect an illegal attempt to
	override a function with a ghost function.
	* sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of
	a ghost function as a generic actual.
	* sem_elab.adb (Check_Internal_Call_Continue): Update the call
	to In_Assertion.
	* sem_prag.adb: Add an entry for pragma Ghost in the table
	of significant arguments.
	(Analyze_Pragma): Do not analyze
	an "others" case guard. Add processing for pragma Ghost. Use
	Preanalyze_Assert_Expression when analyzing the expression of
	pragmas Loop_Invariant and Loop_Variant.
	* sem_util.adb (Get_Subprogram_Entity): Reimplemented.
	(Is_Body_Or_Package_Declaration): New routine.
	* sem_util.ads: Alphabetize subprotrams in this unit.
	(Is_Body_Or_Package_Declaration): New routine.
	* sinfo.adb (In_Assertion): Rename to In_Assertion_Expression.
	(Set_In_Assertion): Rename to Set_In_Assertion_Expression.
	* sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression
	to better reflect its use.  Update all places that mention the flag.
	(In_Assertion): Rename to In_Assertion_Expression. Update
	related pragma Inline.	(Set_In_Assertion): Rename to
	Set_In_Assertion_Expression. Update related pragma Inline.
	* snames.ads-tmpl: Add new predefined name Ghost. Add new pragma
	id Pragma_Ghost.

From-SVN: r197909
2013-04-12 15:17:28 +02:00
Arnaud Charlet
d515aef326 [multiple changes]
2013-04-12  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Set_Imported): Do not generate error for multiple
	Import in CodePeer mode.
	* s-rident.ads: Fix minor typo.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Insert_Valid_Check): Do not insert validity check
	in the body of the generated predicate function, to prevent
	infinite recursion.

From-SVN: r197908
2013-04-12 15:15:12 +02:00
Ed Schonberg
57f4c2887e s-rident.ads: Add various missing Ada 2012 restrictions...
2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* s-rident.ads: Add various missing Ada 2012 restrictions:
	No_Access_Parameter_Allocators, No_Coextensions,
	No_Use_Of_Attribute, No_Use_Of_Pragma.
	* snames.ads-tmpl: Add corresponding names.
	* restrict.ads restrict.adb: Subprograms and data structures to
	handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
	* sem_ch4.adb: Correct name of restrictions is
	No_Standard_Allocators_After_Elaboration.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
	violation of restriction No_Use_Of_Attribute.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
	(Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
	* sem_res.adb: Check restrictions No_Access_Parameter_Allocators
	and No_Coextensions.
	* bcheck.adb: Correct name of restrictions is
	No_Standard_Allocators_After_Elaboration.
	* gnatbind.adb: Correct name of restrictions is
	No_Standard_Allocators_After_Elaboration.

From-SVN: r197907
2013-04-12 15:12:02 +02:00
Arnaud Charlet
d9f8616ee4 [multiple changes]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function):
	Correct error message format.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb: Minor reformatting.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_elab.adb (Within_Elaborate_All): Do not examine a context
	item that has not been analyzed, because the unit may have errors,
	or the context item may come from a proper unit inserted at the
	point of a stub and not analyzed yet.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

	* gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info,
	List_Record_Info): Also include scalar storage order information in
	output.

2013-04-12  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (Process_Contract_Cases): Update code to apply to
	Contract_Cases instead of Contract_Case pragma.

From-SVN: r197906
2013-04-12 15:08:07 +02:00
Arnaud Charlet
2eb8701742 [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting.

2013-04-12  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Update analyse of
	Attribute_Old and Attribute_Result so they are allowed in the
	right-hand-side of an association in a Contract_Cases pragma.
	* sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of
	the expressions in a Contract_Cases pragma.

From-SVN: r197905
2013-04-12 15:04:59 +02:00
Arnaud Charlet
9686dbc79e [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* sem.ads, opt.ads: Minor comment edits.
	* sem_warn.adb, sem_ch6.adb: Minor reformatting.

2013-04-12  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate,
	Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed,
	not suitable for formal analysis.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Abstract_State): Use Defining entity
	to locate package entity, which may be a child unit.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If
	the specified timeout is 0, do not attempt to determine whether the
	connection succeeded.

2013-04-12  Doug Rupp  <rupp@adacore.com>

	* s-fileio.adb (Form_RMS Context_Key): Fix some thinkos.

From-SVN: r197904
2013-04-12 15:03:19 +02:00
Arnaud Charlet
7a1f094d68 [multiple changes]
2013-04-12  Doug Rupp  <rupp@adacore.com>

	* s-fileio.adb: Minor reformatting.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if
	the last statement in the analyzed loop is an unconditional
	exit statement.

From-SVN: r197903
2013-04-12 14:59:15 +02:00
Arnaud Charlet
7f18b29a17 [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* opt.ads (Style_Check_Main): New switch.
	* sem.adb (Semantics): Set Style_Check flag properly for new
	unit to be analyzed.
	* sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check,
	the proper setting of this flag is now part of the Semantics
	procedure.
	* switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main
	for -gnatg and -gnaty

2013-04-12  Doug Rupp  <rupp@adacore.com>

	* s-crtl.ads (fopen, freopen): Add vms_form parameter
	* i-cstrea.ads (fopen, freopen): Likewise.
	* adaint.h (__gnat_fopen, __gnat_freopen): Likewise.
	* adaint.c (__gnat_fopen, __gnat_freopen): Likewise.
	[VMS]: Split out RMS keys and call CRTL function appropriately.
	* s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New
	subprograms.
	(Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with
	vms_form
	* gnat_rm.texi: Document implemented RMS keys.

From-SVN: r197902
2013-04-12 14:58:01 +02:00
Arnaud Charlet
0c68c6135f [multiple changes]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	Insert the corresponding pragma for aspect Abstract_State at
	the top of the visible declarations of the related package.
	Previously this was only done when the package is a compilation
	unit.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi: Further menu clean ups.
	* sem_prag.adb, opt.ads: Minor reformatting.
	* sem_util.ads: Minor comment fix.

From-SVN: r197901
2013-04-12 14:55:34 +02:00
Hristian Kirtchev
fd8b40539c sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Depends is now a delayed aspect.
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect
	Depends is now a delayed aspect. The delay is required
	due to the interplay between aspects Depends and Global.
	(Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends.
	* sem_prag.adb: Reformat various error messages.
	(Add_Item): New subsidiary routine.
	(Analyze_Pragma): Add new variables
	Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The
	analysis of pragma Depends now has the capability to check
	the proper mode and usage of subprogram inputs and outputs.
	(Appears_In): New routine.
	(Check_Function_Return): New routine.
	(Check_Mode): New routine.
	(Check_Usage): New routine.
	(Collect_Subprogram_Inputs_Outputs): New routine.

From-SVN: r197900
2013-04-12 14:52:32 +02:00
Arnaud Charlet
c2658843ea [multiple changes]
2013-04-12  Bob Duff  <duff@adacore.com>

	* par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
	stack entry.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb: Minor fix to wording of error message for
	-gnatet/eT.

2013-04-12  Robert Dewar  <dewar@adacore.com>

	* impunit.adb: Add s-multip and s-mudido to list of impl defined
	system units.
	* gnat_rm.texi: Add documentation for
	System.Multiprocessors[.Dispatching_Domains].

2013-04-12  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Completion of menu cleanups.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
	in Relaxed_RM_Semantics.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

	* set_targ.adb (elab code): Add support for non gcc back-ends
	where save_argv is null.

From-SVN: r197899
2013-04-12 14:48:12 +02:00
Robert Dewar
340772c0be gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
	* opt.ads (Target_Dependent_Info_Read): Add _Name, now an access
	type (Target_Dependent_Info_Write): Add _Name, now an access type.
	* set_targ.adb (Write_Target_Dependent_Values): Use name
	from -gnatet switch stored in Target_Dependent_Info_Write_Name
	(Read_Target_Dependent_Values): Use name from -gnateT switch
	stored in Target_Dependent_Info_Read_Name.
	* switch-c.adb: New form of -gnatet and -gnateT switches.
	* usage.adb: New form of -gnatet and -gnateT switches with
	file name.

From-SVN: r197898
2013-04-12 14:44:46 +02:00
Richard Biener
d3afd9aaca tree-pass.h (TODO_do_not_ggc_collect): New.
2013-04-12  Richard Biener  <rguenther@suse.de>

	* tree-pass.h (TODO_do_not_ggc_collect): New.
	* passes.c (execute_one_ipa_transform_pass): Honor
	TODO_do_not_ggc_collect.
	(execute_one_pass): Likewise.

	Revert
	2013-04-10  Richard Biener  <rguenther@suse.de>

	* passes.c (init_optimization_passes): Remove reload pass.
	* ira.c (do_reload): Merge into ...
	(ira): ... this.
	(rest_of_handle_reload): Remove.
	(pass_reload): Likewise.
	* config/i386/i386.c (ix86_option_override): Refer to ira instead
	of reload for vzeroupper pass placement.

	* g++.dg/pr55604.C: Use -fdump-rtl-ira.

From-SVN: r197865
2013-04-12 09:50:28 +00:00
Tobias Burnus
e1e3b9d335 re PR fortran/56845 ([OOP] _vptr not set to declared type for CLASS + SAVE)
2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * trans-decl.c (gfc_trans_deferred_vars): Restrict
        static CLASS init to SAVE and -fno-automatic.

2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * gfortran.dg/class_allocate_15.f90: New.

        Revert:
        2013-04-12  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_alloc_2.f90: Update
        scan-tree-dump-times.

From-SVN: r197848
2013-04-12 10:54:15 +02:00
Jakub Jelinek
06f9b387e5 re PR tree-optimization/56918 (incorrect auto-vectorization of array initialization)
PR tree-optimization/56918
	PR tree-optimization/56920
	* fold-const.c (int_const_binop_1): Use op1.mul_with_sign (op2, ...)
	instead of op1 - op2.  Pass 2 * TYPE_PRECISION (type) as second
	argument to rshift method.  For 2 * HOST_BITS_PER_WIDE_INT precision
	use wide_mul_with_sign method.

	* gcc.dg/vect/pr56918.c: New test.
	* gcc.dg/vect/pr56920.c: New test.

From-SVN: r197846
2013-04-12 10:18:59 +02:00
Richard Biener
953094d2f8 gimple.c (is_gimple_constant): Vector CONSTRUCTORs should not be considered a gimple constant.
2013-04-12  Richard Biener  <rguenther@suse.de>

	* gimple.c (is_gimple_constant): Vector CONSTRUCTORs should
	not be considered a gimple constant.

From-SVN: r197845
2013-04-12 07:59:58 +00:00
Tobias Burnus
f118468ab6 re PR fortran/56845 ([OOP] _vptr not set to declared type for CLASS + SAVE)
2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
        allocatable static BT_CLASS.
        * trans-expr.c (gfc_class_set_static_fields): New function.
        * trans.h (gfc_class_set_static_fields): New prototype.

2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * gfortran.dg/class_allocate_14.f90: New.
        * gfortran.dg/coarray_lib_alloc_2.f90: Update
        * scan-tree-dump-times.
        * gfortran.dg/coarray_lib_alloc_3.f90: New.

From-SVN: r197844
2013-04-12 09:41:50 +02:00
Marc Glisse
bb50698284 fold-const.c (const_binop): Handle vector shifts by a scalar.
2013-04-12  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* fold-const.c (const_binop): Handle vector shifts by a scalar.
	(fold_binary_loc): Call const_binop also for mixed vector-scalar
	operations.

gcc/testsuite/
	* gcc.dg/fold-cstvecshift.c: New testcase.

From-SVN: r197843
2013-04-12 07:40:37 +00:00
Jakub Jelinek
f3065bdb6e opts.c: Include diagnostic-color.h.
* opts.c: Include diagnostic-color.h.
	(common_handle_option): Handle OPT_fdiagnostics_color_.
	* Makefile.in (OBJS-libcommon): Add diagnostic-color.o.
	(diagnostic.o, opts.o, pretty-print.o): Depend on diagnostic-color.h.
	(diagnostic-color.o): New.
	* common.opt (fdiagnostics-color, fdiagnostics-color=): New options.
	(diagnostic_color_rule): New enum.
	* dwarf2out.c (gen_producer_string): Don't print -fdiagnostics-color*.
	* langhooks.c (lhd_print_error_function): Add %r "locus" and %R around
	the location string.
	* diagnostic.def: Add 3rd argument to DEFINE_DIAGNOSTIC_KIND macros,
	either NULL, or color kind.
	* diagnostic-color.c: New file.
	* diagnostic-color.h: New file.
	* diagnostic-core.h (DEFINE_DIAGNOSTIC_KIND): Adjust macro for 3
	arguments.
	* doc/invoke.texi (-fdiagnostics-color): Document.
	* pretty-print.h (pp_show_color): Define.
	(struct pretty_print_info): Add show_color field.
	* diagnostic.c: Include diagnostic-color.h.
	(diagnostic_build_prefix): Adjust for 3 argument DEFINE_DIAGNOSTIC_KIND
	macros.  Colorize error:, warning: etc. strings and also the location
	string.
	(diagnostic_show_locus): Colorize the caret line.
	* pretty-print.c: Include diagnostic-color.h.
	(pp_base_format): Handle %r and %R format specifiers.  Colorize strings
	inside of %< %> quotes or quoted through q format modifier.
c-family/
	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
	specifiers.
cp/
	* error.c (cp_print_error_function,
	print_instantiation_partial_context_line,
	maybe_print_constexpr_context): Colorize locus strings.

From-SVN: r197842
2013-04-12 08:20:36 +02:00
Jakub Jelinek
4b84d650e8 opts.c: Include diagnostic-color.h.
* opts.c: Include diagnostic-color.h.
	(common_handle_option): Handle OPT_fdiagnostics_color_.
	* Makefile.in (OBJS-libcommon): Add diagnostic-color.o.
	(diagnostic.o, opts.o, pretty-print.o): Depend on diagnostic-color.h.
	(diagnostic-color.o): New.
	* common.opt (fdiagnostics-color, fdiagnostics-color=): New options.
	(diagnostic_color_rule): New enum.
	* dwarf2out.c (gen_producer_string): Don't print -fdiagnostics-color*.
	* langhooks.c (lhd_print_error_function): Add %r "locus" and %R around
	the location string.
	* diagnostic.def: Add 3rd argument to DEFINE_DIAGNOSTIC_KIND macros,
	either NULL, or color kind.
	* diagnostic-color.c: New file.
	* diagnostic-color.h: New file.
	* diagnostic-core.h (DEFINE_DIAGNOSTIC_KIND): Adjust macro for 3
	arguments.
	* doc/invoke.texi (-fdiagnostics-color): Document.
	* pretty-print.h (pp_show_color): Define.
	(struct pretty_print_info): Add show_color field.
	* diagnostic.c: Include diagnostic-color.h.
	(diagnostic_build_prefix): Adjust for 3 argument DEFINE_DIAGNOSTIC_KIND
	macros.  Colorize error:, warning: etc. strings and also the location
	string.
	(diagnostic_show_locus): Colorize the caret line.
	* pretty-print.c: Include diagnostic-color.h.
	(pp_base_format): Handle %r and %R format specifiers.  Colorize strings
	inside of %< %> quotes or quoted through q format modifier.
c-family/
	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
	specifiers.
cp/
	* error.c (cp_print_error_function,
	print_instantiation_partial_context_line,
	maybe_print_constexpr_context): Colorize locus strings.

From-SVN: r197841
2013-04-12 08:19:58 +02:00
Andreas Krebbel
067a1e719b ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as well.
2013-04-12  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as
	well.

From-SVN: r197839
2013-04-12 05:38:27 +00:00
Naveen H.S
b056c91039 aarch64.c (aarch64_select_cc_mode): Allow NEG code in CC_NZ mode.
gcc

2013-04-10   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Allow NEG
	code in CC_NZ mode.
	* config/aarch64/aarch64.md (*neg_<shift><mode>3_compare0): New
	pattern.

gcc/testsuite

2013-04-10   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* gcc.target/aarch64/negs.c: New.

From-SVN: r197838
2013-04-12 04:19:14 +00:00
GCC Administrator
c030f9b8f4 Daily bump.
From-SVN: r197836
2013-04-12 00:16:45 +00:00
Jason Merrill
b45dc549b0 fix changelog
From-SVN: r197827
2013-04-11 15:53:47 -04:00
Jason Merrill
e59baf0517 re PR c++/52748 ([C++11] N3276 changes to decltype)
PR c++/52748
	* parser.c (complain_flags): New.
	(cp_parser_postfix_expression): Use it.
	(cp_parser_unary_expression): Likewise.
	(cp_parser_binary_expression): Likewise.
	(cp_parser_assignment_expression): Likewise.
	(cp_parser_expression): Likewise.
	(cp_parser_postfix_open_square_expression): Take decltype_p.
	(cp_parser_builtin_offsetof): Adjust.
	(cp_convert_range_for): Pass complain to finish_unary_op_expr.
	* semantics.c (finish_unary_op_expr): Add complain parm.

From-SVN: r197826
2013-04-11 15:51:52 -04:00