Commit Graph

138521 Commits

Author SHA1 Message Date
Arnaud Charlet
167b47d9da [multiple changes]
2015-05-22  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
	package instantiations. Holds the list of actuals in the instance
	that are incomplete types, to determine where the corresponding
	instance body must be placed.
	* sem_ch6.adb (Conforming_Types): An incomplete type used as an
	actual in an instance matches an incomplete formal.
	* sem_disp.adb (Check_Dispatching_Call): Handle missing case of
	explicit dereference.
	(Inherited_Subprograms): In the presence of a limited view there
	are no subprograms to inherit.
	* sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
	actuals of instance, for later placement of instance body and
	freeze nodes for actuals.
	(Install_Body): In the presence of actuals that incomplete types
	from a limited view, the instance body cannot be placed after
	the declaration because full views have not been seen yet. Any
	use of the non-limited views in the instance body requires
	the presence of a regular with_clause in the enclosing unit,
	and will fail if this with_clause is missing.  We place the
	instance body at the beginning of the enclosing body, which is
	the unit being compiled, and ensure that freeze nodes for the
	full views of the incomplete types appear before the instance.

2015-05-22  Pascal Obry  <obry@adacore.com>

	* makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
	(In_Place_Option): Removed.
	(Relocate_Build_Tree_Option): New constant.
	(Root_Dir_Option): New constant.
	(Obj_Root_Dir): Removed.
	(Build_Tree_Dir): New variable.
	(Root_Src_Tree): Removed.
	(Root_Dir): New variable.
	* prj-conf.adb (Get_Or_Create_Configuration_File): Add check
	for improper relocation.
	* prj-nmsc.adb (Locate_Directory): Add check for improper
	relocation.

From-SVN: r223553
2015-05-22 14:42:05 +02:00
Richard Biener
7ac5a14092 re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484)
2015-05-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66251
	* tree-vect-stmts.c (vectorizable_conversion): Properly
	set STMT_VINFO_VEC_STMT even for the SLP case.

	* gfortran.fortran-torture/compile/pr66251.f90: New testcase.

From-SVN: r223552
2015-05-22 12:34:46 +00:00
Hristian Kirtchev
caef4e579d einfo.adb (Default_Init_Cond_Procedure): Code cleanup.
2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The
	attribute now applies to the base type.
	(Has_Default_Init_Cond): Now applies to the base type.
	(Has_Inherited_Default_Init_Cond): Now applies to the base type.
	(Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now
	applies to the base type.
	(Set_Has_Default_Init_Cond): Now applies to the base type.
	(Set_Has_Inherited_Default_Init_Cond): Now applies to the base type.
	* exp_ch3.adb (Expand_N_Object_Declaration): No need to use the
	base type when adding a call to the Default_Initial_Condition.

From-SVN: r223551
2015-05-22 14:34:33 +02:00
Hristian Kirtchev
57ae790f79 2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Node36 is now used as Anonymous_Master. Flag253
	is now unused.
	(Anonymous_Master): New routine.
	(Has_Anonymous_Master): Removed.
	(Set_Anonymous_Master): New routine.
	(Set_Has_Anonymous_Master): Removed.
	(Write_Entity_Flags): Remove the output for Has_Anonymous_Maser.
	(Write_Field36_Name): Add output for Anonymous_Master.
	* einfo.ads Add new attribute Anonymous_Master along with
	occurrences in nodes. Remove attribute Has_Anonymous_Master along
	with occurrences in nodes.
	(Anonymous_Master): New routine along with pragma Inline.
	(Has_Anonymous_Master): Removed along with pragma Inline.
	(Set_Anonymous_Master): New routine along with pragma Inline.
	(Set_Has_Anonymous_Master): Removed along with pragma Inline.
	* exp_ch4.adb (Create_Anonymous_Master): New routine.
	(Current_Anonymous_Master): Reimplemented.

From-SVN: r223550
2015-05-22 14:32:55 +02:00
Bob Duff
a79cdb2c62 freeze.adb (Freeze_Profile): Suppress warning if imported subprogram is not at library level.
2015-05-22  Bob Duff  <duff@adacore.com>

	* freeze.adb (Freeze_Profile): Suppress warning if imported
	subprogram is not at library level.

From-SVN: r223549
2015-05-22 14:31:03 +02:00
Arnaud Charlet
db222eadb1 [multiple changes]
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
	component of an object to which Volatile_Full_Access applies.

2015-05-22  Jerome Guitton  <guitton@adacore.com>

	* exp_dbug.ads: Add note about non bit-packed arrays.

2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_prag.adb: Fix typo.
	* einfo.ads: Grammar fixes in comments.

2015-05-22  Bob Duff  <duff@adacore.com>

	* a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
	* a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
	* a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
	* a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
	* a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
	* a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
	* a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
	Add an initialization expression "raise Program_Error". See,
	for example, RM-A.18.2(148.4).

From-SVN: r223548
2015-05-22 12:53:29 +02:00
Trevor Saunders
a2f45fe669 fix some dates in ChangeLogs
From-SVN: r223547
2015-05-22 10:50:49 +00:00
Robert Dewar
ed05b79007 debug.adb: Update documentation.
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Update documentation.
	* einfo.ads, einfo.adb (Needs_Typedef): New flag
	* exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
	typedef's in C.
	* frontend.adb: Update comments.
	* gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
	for -gnatd.V
	* opt.ads (Generate_C_Code): New switch.
	* osint-c.adb (Write_C_File_Info): Removed, not used
	(Write_H_File_Info): Removed, not used
	* osint-c.ads (Write_C_File_Info): Removed, not used
	(Write_H_File_Info): Removed, not used
	* osint.ads (Write_Info): Minor comment updates.
	(Output_FD): Moved from private part to public part of spec.
	* sem.adb (Semantics): Force expansion on if in Generate_C_Code
	mode.
	* atree.ads: minor typo in comment.
	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
	Do not allow VFA on composite object with aliased component.

From-SVN: r223546
2015-05-22 12:50:19 +02:00
Arnaud Charlet
6eb187f6f3 [multiple changes]
2015-05-22  Arnaud Charlet  <charlet@adacore.com>

	* osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec.

2015-05-22  Pascal Obry  <obry@adacore.com>

	* prj-util.adb: Minor comment editing.

From-SVN: r223545
2015-05-22 12:42:23 +02:00
Arnaud Charlet
10af62127a Minor reformatting.
From-SVN: r223544
2015-05-22 12:40:27 +02:00
Pascal Obry
65467a8a46 makeutl.ads (In_Place_Option): New constant.
2015-05-22  Pascal Obry  <obry@adacore.com>

	* makeutl.ads (In_Place_Option): New constant.
	* prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
	objects).
	(Root_Src_Tree): New variable (absolute path of root source tree).
	* prj-conf.adb (Do_Autoconf): Take into account the object root
	directory (if defined) to generate configuration project.
	* prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
	is defined.
	(Locate_Directory): Likewise.

From-SVN: r223543
2015-05-22 12:40:07 +02:00
Pascal Obry
01099e0465 prj-util.ads, [...] (Relative_Path): New routine.
2015-05-22  Pascal Obry  <obry@adacore.com>

	* prj-util.ads, prj-util.adb (Relative_Path): New routine.

From-SVN: r223542
2015-05-22 12:38:07 +02:00
Bob Duff
ca81124179 exp_utils.ads, [...] (Find_Optional_Prim_Op): New interface to return Empty when not found...
2015-05-22  Bob Duff  <duff@adacore.com>

	* exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New
	interface to return Empty when not found, so we can avoid handling
	Program_Error in that case.
	(Find_Prim_Op): Fix latent bug: raise Program_Error when there are no
	primitives.
	* exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the
	code is expecting Empty.
	* sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling
	Program_Error.

From-SVN: r223541
2015-05-22 12:36:56 +02:00
Robert Dewar
a95f708ec3 sem_ch3.adb, [...]: Remove incorrect hyphen in non-binary.
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb,
	sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in
	non-binary.
	* exp_util.adb: Add comment.
	* osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to
	body.
	(Set_File_Name): New name for the above.
	(Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info,
	Close_C_File, Close_H_File): New procedure.
	* osint.adb: Minor reformatting.
	* osint.ads: Minor comment updates.

From-SVN: r223540
2015-05-22 12:35:33 +02:00
Robert Dewar
c2b2b2d7ab exp_ch4.adb: Minor rewording.
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor rewording.
	* exp_util.ads: Clarify that Find_Prim_Op is only for
	tagged types.

From-SVN: r223539
2015-05-22 12:32:15 +02:00
Robert Dewar
b502ba3c7b atree.adb, [...]: Change name Needs_Actuals_Check to Check_Actuals.
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to
	Check_Actuals.
	* exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular
	and overflow cases.

From-SVN: r223538
2015-05-22 12:30:37 +02:00
Arnaud Charlet
fd95743405 [multiple changes]
2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_pakd.adb (Install_PAT): Propagate representation aspects
	from the original array type to the PAT.

2015-05-22  Robert Dewar  <dewar@adacore.com>

	* treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check.

From-SVN: r223537
2015-05-22 12:28:06 +02:00
Robert Dewar
a02c5a694e atree.adb, atree.ads (Needs_Actuals_Check): New flag.
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* atree.adb, atree.ads (Needs_Actuals_Check): New flag.

From-SVN: r223536
2015-05-22 12:25:20 +02:00
Hristian Kirtchev
7a391e42e7 sem_prag.adb (Analyze_Pragma): Remove the detection of a useless Part_Of indicator when...
2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Remove the detection
	of a useless Part_Of indicator when the related item is a constant.
	(Check_Matching_Constituent): Do not emit an error on a constant.
	(Check_Missing_Part_Of): Do not check for a missing Part_Of indicator
	when the related item is a constant.
	(Collect_Body_States): Code cleanup.
	(Collect_Visible_States): Code cleanup.
	(Report_Unused_States): Do not emit an error on a constant.
	* sem_util.ads, sem_util.adb (Has_Variable_Input): Removed.

From-SVN: r223535
2015-05-22 12:23:39 +02:00
Arnaud Charlet
c2cfccb1cf [multiple changes]
2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch8.adb (Analyze_Object_Renaming): Copy
	Has_Volatile_Full_Access from renamed to renaming entities.
	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
	Tidy up and remove redundant setting of Has_Volatile_Full_Access.

2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* ghost.adb (Check_Ghost_Completion): Update references to SPARK
	RM 6.9 rules.
	(Check_Ghost_Policy): Update references to SPARK RM 6.9 rules.
	* sem_ch3.adb (Analyze_Object_Declaration): Update references
	to SPARK RM 6.9 rules.
	(Check_Completion): Ghost entities do not require a special form of
	completion.
	* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
	to SPARK RM 6.9 rules.
	(Analyze_Subprogram_Body_Helper): Update references to SPARK RM 6.9
	rules.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Update references
	to SPARK RM 6.9 rules.
	(Requires_Completion_In_Body): Ghost entities do not require a special
	form of completion.

2015-05-22  Robert Dewar  <dewar@adacore.com>

	* a-csquin.ads: Use Ada 2012 notation.
	* sem_ch8.adb: Minor reformatting.

2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Import
	acts as a completion.

From-SVN: r223534
2015-05-22 12:20:00 +02:00
Arnaud Charlet
30fc80cfa6 [multiple changes]
2015-05-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Minor reformatting.

2015-05-22  Jose Ruiz  <ruiz@adacore.com>

	* a-reatim.adb: Minor change, fix typo.

From-SVN: r223533
2015-05-22 12:15:47 +02:00
Robert Dewar
90d6b7bc3a sem_util.ads: Minor addition of ??? comment.
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* sem_util.ads: Minor addition of ??? comment.
	* sem_prag.adb, sem_util.adb: Minor reformatting.
	* sem_ch13.adb: minor reformatting.

From-SVN: r223532
2015-05-22 12:14:35 +02:00
Arnaud Charlet
eb9008b755 [multiple changes]
2015-05-22  Robert Dewar  <dewar@adacore.com>

	* a-reatim.ads: Add Compile_Time_Error to ensure Duration
	is 64-bits.
	* sem_ch13.adb: Improve error message.
	* exp_ch4.adb: Minor reformatting.

2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Constants without variable
	input do not require indicator Part_Of.
	(Check_Missing_Part_Of): Constants without variable input do not
	requrie indicator Part_Of.
	(Collect_Visible_States): Constants without variable input are
	not part of the hidden state of a package.
	* sem_util.ads, sem_util.adb (Has_Variable_Input): New routine.

From-SVN: r223531
2015-05-22 12:11:36 +02:00
Marek Polacek
b7f016cb22 * doc/extend.texi: Use @pxref instead of @xref.
From-SVN: r223530
2015-05-22 09:27:35 +00:00
Aditya Kumar
9dbe0d83c8 gimple.h (gimple_expr_type): Refactor to make it concise.
2015-05-22  hiraditya  <hiraditya@msn.com>

        * gimple.h (gimple_expr_type): Refactor to make it concise.
        Remove redundant if.

From-SVN: r223529
2015-05-22 09:10:29 +00:00
Richard Biener
476c12802d re PR ipa/65701 (r221530 makes 187.facerec drop with -Ofast -flto on bdver2)
2015-05-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65701
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
	Move peeling cost models into one place.  Peel for alignment
	for single loads only if an aligned load is cheaper than
	an unaligned load.

From-SVN: r223528
2015-05-22 09:08:46 +00:00
Marek Polacek
fd5c817a24 re PR c/47043 (allow deprecating enum values)
PR c/47043
	* c-common.c (handle_deprecated_attribute): Allow CONST_DECL.

	* c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
	attributes.

	* cp-tree.h (build_enumerator): Update declaration.
	* decl.c (build_enumerator): Add attributes parameter.  Call
	cplus_decl_attributes.
	* init.c (constant_value_1): Pass tf_none to mark_used.
	* parser.c (cp_parser_enumerator_definition): Parse attributes and
	pass them down to build_enumerator.
	* pt.c (tsubst_enum): Pass decl attributes to build_enumerator.
	* semantics.c (finish_id_expression): Don't warn_deprecated_use here.

	* doc/extend.texi (Enumerator Attributes): New section.
	Document syntax of enumerator attributes.

	* c-c++-common/attributes-enum-1.c: New test.
	* c-c++-common/attributes-enum-2.c: New test.
	* g++.dg/cpp0x/attributes-enum-1.C: New test.
	* g++.dg/cpp1y/attributes-enum-1.C: New test.

Co-Authored-By: Edward Smith-Rowland <3dw4rd@verizon.net>

From-SVN: r223527
2015-05-22 09:07:31 +00:00
Richard Biener
afbe632536 tree-vect-loop.c (get_reduction_op): New function.
2015-05-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (get_reduction_op): New function.
	(vect_model_reduction_cost): Use it, add reduc_index parameter.
	Make ready for BB reductions.
	(vect_create_epilog_for_reduction): Use get_reduction_op.
	(vectorizable_reduction): Init reduc_index to a valid value.
	Adjust vect_model_reduction_cost call.
	* tree-vect-slp.c (vect_get_constant_vectors): Use the proper
	operand for reduction defaults.  Add SAD_EXPR support.
	Assert we have a neutral op for SLP reductions.
	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
	walking pattern stmt ops only recurse to SSA names.

From-SVN: r223526
2015-05-22 09:00:28 +00:00
Richard Biener
328dc4771b tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace assert with guard, remove check on detected reduction.
2015-05-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
	assert with guard, remove check on detected reduction.
	(vect_recog_sad_pattern): Likewise.
	(vect_recog_widen_sum_pattern): Likewise.

From-SVN: r223525
2015-05-22 08:55:59 +00:00
Arnaud Charlet
6333ad3d45 [multiple changes]
2015-05-21  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Activate_Atomic_Synchronization): Do not set
	Atomic_Sync_Required for an object renaming declaration.
	* sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and
	Is_Independent to renaming object.

2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Diagnose
	various illegalities in iterators over arrays and containers:
	a) New function Get_Cursor_Type, to verify that the cursor is
	not a limited type at the point of iteration.
	b) If the container is a constant, an element_iterator is illegal
	if the container type does not have a Constant_Indexing aspect.
	c) If the iterate function has an in-out controlling parameter,
	the container cannot be a constant object.
	d) Reject additional cases of iterators over a
	discriminant-dependent component of a mutable object.

From-SVN: r223524
2015-05-22 10:52:17 +02:00
Kyrylo Tkachov
44ae5cd22f [AArch64] Add __extension__ and __always_inline__ to crypto intrinsics
* config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
	__always_inline__ attribute.
	(vaesdq_u8): Likewise.
	(vaesmcq_u8): Likewise.
	(vaesimcq_u8): Likewise.
	(vsha1cq_u32): Likewise.
	(vsha1mq_u32): Likewise.
	(vsha1pq_u32): Likewise.
	(vsha1h_u32): Likewise.
	(vsha1su0q_u32): Likewise.
	(vsha1su1q_u32): Likewise.
	(vsha256hq_u32): Likewise.
	(vsha256h2q_u32): Likewise.
	(vsha256su0q_u32): Likewise.
	(vsha256su1q_u32): Likewise.
	(vmull_p64): Likewise.
	(vmull_high_p64): Likewise.

From-SVN: r223523
2015-05-22 08:21:22 +00:00
Trevor Saunders
d87834de87 always define HAVE_peephole
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* final.c (final_scan_insn): Don't check HAVE_peephole with the
	preprocessor.
	* output.h: Likewise.
	* genconfig.c (main): Alwways define HAVE_peephole.
	* genpeep.c: Don't emit checks of HAVE_peephole.

From-SVN: r223519
2015-05-22 01:04:24 +00:00
Trevor Saunders
692e031294 remove #if HAVE_conditional_move
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
	check HAVE_conditional_move with the preprocessor.

From-SVN: r223518
2015-05-22 01:04:17 +00:00
Trevor Saunders
759df569f1 always define HAVE_conditional_move
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* genconfig.c (main): Always define HAVE_conditional_move.
	* combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
	toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
	is defined.

From-SVN: r223517
2015-05-22 01:04:09 +00:00
Trevor Saunders
3f393fc679 don't compare ARG_FRAME_POINTER_REGNUM and FRAME_POINTER_REGNUM with the preprocessor
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
	reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
	and FRAME_POINTER_REGNUM with the preprocessor.

From-SVN: r223516
2015-05-22 01:03:59 +00:00
Trevor Saunders
dfed696157 move default for STACK_PUSH_CODE to defaults.h
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h: Add default for STACK_PUSH_CODE.
	* expr.c: Don't redefine STACK_PUSH_CODE.
	* recog.c: Likewise.

From-SVN: r223515
2015-05-22 01:03:51 +00:00
Trevor Saunders
581edfa33d remove most ifdef STACK_GROWS_DOWNWARD
gcc/c-family/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
	STACK_GROWS_DOWNWARD.

gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
	sched-deps.c: Use if instead of preprocessor checks with
	STACK_GROWS_DOWNWARD.

From-SVN: r223514
2015-05-22 01:03:42 +00:00
Trevor Saunders
62f9f30bfb always define STACK_GROWS_DOWNWARD
gcc/c-family/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* c-cppbuiltin.c (c_cpp_builtins): Check the value of
	STACK_GROWS_DOWNWARD rather than if it is defined.

gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
	is defined.
	* config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
	* defaults.h: Provide default for STACK_GROWS_DOWNWARD.
	* doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
	* doc/tm.texi: Regenerate.

From-SVN: r223513
2015-05-22 01:03:11 +00:00
GCC Administrator
47d30549f5 Daily bump.
From-SVN: r223512
2015-05-22 00:16:18 +00:00
Sandra Loosemore
a506dee682 simd.exp: Skip all tests if no arm_neon_ok effective target support.
2015-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/arm/simd/simd.exp: Skip all tests if no arm_neon_ok
	effective target support.  If no arm_neon_hw support, do not attempt
	to execute the tests; only compile them.
	* gcc.target/arm/simd/vextf32_1.c: Remove explicit "dg-do run"
	and "dg-require-effective-target arm_neon_ok".
	* gcc.target/arm/simd/vextp16_1.c: Likewise.
	* gcc.target/arm/simd/vextp64_1.c: Likewise.
	* gcc.target/arm/simd/vextp8_1.c: Likewise.
	* gcc.target/arm/simd/vextQf32_1.c: Likewise.
	* gcc.target/arm/simd/vextQp16_1.c: Likewise.
	* gcc.target/arm/simd/vextQp64_1.c: Likewise.
	* gcc.target/arm/simd/vextQp8_1.c: Likewise.
	* gcc.target/arm/simd/vextQs16_1.c: Likewise.
	* gcc.target/arm/simd/vextQs32_1.c: Likewise.
	* gcc.target/arm/simd/vextQs64_1.c: Likewise.
	* gcc.target/arm/simd/vextQs8_1.c: Likewise.
	* gcc.target/arm/simd/vextQu16_1.c: Likewise.
	* gcc.target/arm/simd/vextQu32_1.c: Likewise.
	* gcc.target/arm/simd/vextQu64_1.c: Likewise.
	* gcc.target/arm/simd/vextQu8_1.c: Likewise.
	* gcc.target/arm/simd/vexts16_1.c: Likewise.
	* gcc.target/arm/simd/vexts32_1.c: Likewise.
	* gcc.target/arm/simd/vexts64_1.c: Likewise.
	* gcc.target/arm/simd/vexts8_1.c: Likewise.
	* gcc.target/arm/simd/vextu16_1.c: Likewise.
	* gcc.target/arm/simd/vextu32_1.c: Likewise.
	* gcc.target/arm/simd/vextu64_1.c: Likewise.
	* gcc.target/arm/simd/vextu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16p8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16qp8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16qs8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16qu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16s8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16u8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32p16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32p8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qp16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qp8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qs16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qs8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qu16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32s16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32s8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32u16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32u8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64f32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64p16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64p8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qf32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qp16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qp8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qs16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qs32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qs8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qu16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qu32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64s16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64s32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64s8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64u16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64u32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64u8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnf32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnp16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnp8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqf32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqp16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqp8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqs16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqs32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqs8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqu16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqu32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqu8_1.c: Likewise.
	* gcc.target/arm/simd/vtrns16_1.c: Likewise.
	* gcc.target/arm/simd/vtrns32_1.c: Likewise.
	* gcc.target/arm/simd/vtrns8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnu16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnu32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnu8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpf32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpp16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpp8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqf32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqp16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqp8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqs16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqs32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqs8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqu16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqu32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqu8_1.c: Likewise.
	* gcc.target/arm/simd/vuzps16_1.c: Likewise.
	* gcc.target/arm/simd/vuzps32_1.c: Likewise.
	* gcc.target/arm/simd/vuzps8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpu16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpu32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpu8_1.c: Likewise.
	* gcc.target/arm/simd/vzipf32_1.c: Likewise.
	* gcc.target/arm/simd/vzipp16_1.c: Likewise.
	* gcc.target/arm/simd/vzipp8_1.c: Likewise.
	* gcc.target/arm/simd/vzipqf32_1.c: Likewise.
	* gcc.target/arm/simd/vzipqp16_1.c: Likewise.
	* gcc.target/arm/simd/vzipqp8_1.c: Likewise.
	* gcc.target/arm/simd/vzipqs16_1.c: Likewise.
	* gcc.target/arm/simd/vzipqs32_1.c: Likewise.
	* gcc.target/arm/simd/vzipqs8_1.c: Likewise.
	* gcc.target/arm/simd/vzipqu16_1.c: Likewise.
	* gcc.target/arm/simd/vzipqu32_1.c: Likewise.
	* gcc.target/arm/simd/vzipqu8_1.c: Likewise.
	* gcc.target/arm/simd/vzips16_1.c: Likewise.
	* gcc.target/arm/simd/vzips32_1.c: Likewise.
	* gcc.target/arm/simd/vzips8_1.c: Likewise.
	* gcc.target/arm/simd/vzipu16_1.c: Likewise.
	* gcc.target/arm/simd/vzipu32_1.c: Likewise.
	* gcc.target/arm/simd/vzipu8_1.c: Likewise.

From-SVN: r223508
2015-05-21 19:02:18 -04:00
Sandra Loosemore
413238194d bb-slp-pr65935.c: Remove explicit "dg-do run".
2015-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.dg/vect/bb-slp-pr65935.c: Remove explicit "dg-do run".
	* gcc.dg/vect/pr59354.c: Likewise.
	* gcc.dg/vect/pr64252.c: Likewise.
	* gcc.dg/vect/pr64404.c: Likewise.
	* gcc.dg/vect/pr64493.c: Likewise.
	* gcc.dg/vect/pr64495.c: Likewise.
	* gcc.dg/vect/pr64844.c: Likewise.
	* gcc.dg/vect/pr65518.c: Likewise.
	* gcc.dg/vect/vect-aggressive-1.c: Likewise.

From-SVN: r223507
2015-05-21 19:00:32 -04:00
Paolo Carlini
e5ab6728fb re PR c++/66210 (Variable template specialization does not work with alias-declarations)
2015-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/66210
	* g++.dg/cpp1y/var-templ28.C: New.

From-SVN: r223506
2015-05-21 22:39:32 +00:00
H.J. Lu
f70d27e03b Allow indirect branch via GOT slot for x32
X32 doesn't support indirect branch via 32-bit memory slot since
indirect branch will load 64-bit address from 64-bit memory slot.
Since x32 GOT slot is 64-bit, we should allow indirect branch via GOT
slot for x32.

gcc/

	PR target/66232
	* config/i386/constraints.md (Bg): New constraint for GOT memory
	operand.
	* config/i386/i386.md (*call_got_x32): New pattern.
	(*call_value_got_x32): Likewise.
	* config/i386/predicates.md (GOT_memory_operand): New predicate.

gcc/testsuite/

	PR target/66232
	* gcc.target/i386/pr66232-1.c: New test.
	* gcc.target/i386/pr66232-2.c: Likewise.
	* gcc.target/i386/pr66232-3.c: Likewise.
	* gcc.target/i386/pr66232-4.c: Likewise.
	* gcc.target/i386/pr66232-5.c: Likewise.

From-SVN: r223505
2015-05-21 14:58:57 -07:00
Nathan Sidwell
9ab2fcc16d re PR c++/60943 ([C++14] Return type deduction interferes with ref-qualifiers)
cp/
	PR c++/60943
	* decl2.c (change_return_type): Propagate FUNCTION_REF_QUALIFIED.

	testsuite/
	* g++.dg/cpp1y/pr60943.C: New.

From-SVN: r223502
2015-05-21 20:50:45 +00:00
Jakub Jelinek
d51a6714b9 re PR tree-optimization/66233 (internal compiler error: in expand_fix, at optabs.c:5358)
PR tree-optimization/66233
	* match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
	Simplify.

	* gcc.c-torture/execute/pr66233.c: New test.

From-SVN: r223500
2015-05-21 21:17:28 +02:00
Thomas Koenig
c39d5e4a6a re PR fortran/66176 (Handle conjg() in inline matmul)
2015-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66176
	* frontend-passes.c (check_conjg_variable):  New function.
	(inline_matmul_assign):  Use it to keep track of conjugated
	variables.

2015-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66176
	* gfortran.dg/inline_matmul_11.f90:  New test

From-SVN: r223499
2015-05-21 19:00:45 +00:00
Andreas Tobler
2aa3880198 pr32219-1.c: Use 'dg-require-effective-target pie' instead of listing several targets on its own.
2015-05-21  Andreas Tobler  <andreast@gcc.gnu.org>

    * gcc.target/i386/pr32219-1.c: Use 'dg-require-effective-target pie'
    instead of listing several targets on its own.
    * gcc.target/i386/pr32219-2.c: Likewise.
    * gcc.target/i386/pr32219-3.c: Likewise.
    * gcc.target/i386/pr32219-4.c: Likewise.
    * gcc.target/i386/pr32219-5.c: Likewise.
    * gcc.target/i386/pr32219-6.c: Likewise
    * gcc.target/i386/pr32219-7.c: Likewise.
    * gcc.target/i386/pr32219-8.c: Likewise.
    * gcc.target/i386/pr39013-1.c: Likewise.
    * gcc.target/i386/pr39013-2.c: Likewise.
    * gcc.target/i386/pr64317.c: Likewise.

From-SVN: r223498
2015-05-21 20:13:06 +02:00
David Edelsohn
9846edffa4 inclhack.def (aix_externc): New fix.
* inclhack.def (aix_externc): New fix.
	(aix_externcpp[12]): New fix.
	* fixincl.x: Regenerate.
	* test/base/ctype.h [AIX_EXTERNC_CHECK]: New test.
	* test/base/sys/socket.h [AIX_EXTERNCPP[12]_CHECK]: New test.
	* test/base/fcntl.h: New file.

From-SVN: r223497
2015-05-21 13:25:00 -04:00
David Edelsohn
e3592e196a re PR target/66224 (PowerPC _GLIBCXX_READ_MEM_BARRIER too weak)
PR target/66224
        * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
        Don't use isync. Use lwsync if available.
        * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
        powerpc cpu definition.

From-SVN: r223496
2015-05-21 13:18:25 -04:00
Jeff Law
f3da537516 pa.md (add-with-constant splitter): Use ASHIFT rather than MULT for shadd sequences.
* config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
	than MULT for shadd sequences.

	* gcc.target/hppa/shadd-4.c: New test.

From-SVN: r223495
2015-05-21 11:18:16 -06:00