Commit Graph

128545 Commits

Author SHA1 Message Date
Jan Hubicka 39434bce6c lto-partition.c (add_symbol_to_partition_1, [...]): Aliases have no defined size.
* lto-partition.c (add_symbol_to_partition_1,
	undo_partition, lto_balanced_map): Aliases have no
	defined size.
	(lto_balanced_map): Do not follow refering variables
	if they can be optimized out.

From-SVN: r207967
2014-02-20 19:40:14 +00:00
Richard Henderson 672ce9397b re PR c++/60272 (atomic<>::compare_exchange_weak has spurious store and can cause race conditions)
PR c++/60272

gcc/
	* builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
	on failure the store back into EXPECT.
libatomic/
	* cas_n.c (libat_compare_exchange): Conditionalize on failure
	the store back to EPTR.

From-SVN: r207966
2014-02-20 09:43:53 -08:00
Chung-Lin Tang 95ce7613d5 nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
	* config/nios2/nios2.c (nios2_function_profiler):
	Add -fPIC (flag_pic == 2) support.
	(nios2_handle_custom_fpu_cfg): Fix warning parameter.
	(nios2_large_offset_p): New function.
	(nios2_unspec_reloc_p): Move up position, update to use
	nios2_large_offset_p.
	(nios2_unspec_address): Remove function.
	(nios2_unspec_offset): New function.
	(nios2_large_got_address): New function.
	(nios2_got_address): Add large offset support.
	(nios2_legitimize_tls_address): Update usage of removed and new
	functions.
	(nios2_symbol_binds_local_p): New function.
	(nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
	(nios2_legitimize_address): Update to use nios2_large_offset_p.
	(nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
	(nios2_print_operand): Merge H/L processing, add hiadj/lo
	processing for (const (unspec ...)).
	(nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.

	gcc/testsuite/
	* gcc.target/nios2/biggot-1.c: New.
	* gcc.target/nios2/biggot-2.c: New.

	libgcc/
	* config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt.
	* config/nios2/crti.S: Remove .file directive.
	* config/nios2/crtn.S: Likewise.

From-SVN: r207965
2014-02-20 16:35:10 +00:00
Ed Smith-Rowland 4bbfc5fa4d Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
	* include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
	* testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
	* testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
	* testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
	* testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
	* testsuite/30_threads/shared_lock/requirements/
	explicit_instantiation.cc: Ditto.
	* testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
	* testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
	* testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
	* testsuite/30_threads/shared_mutex/requirements/
	standard_layout.cc: Ditto.
	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
	* testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.

From-SVN: r207964
2014-02-20 16:06:40 +00:00
Kai Tietz f1dbbe422e re PR c++/58873 ([c++11] ICE with __underlying_type for broken enum)
PR c++/58873
	* parser.c (cp_parser_functional_cast): Treat NULL_TREE
	valued type argument as error_mark_node.

From-SVN: r207961
2014-02-20 17:02:24 +01:00
Ian Lance Taylor 7f5e818877 re PR go/60288 (gccgo crashes compiling '*func_ptr(0)')
PR go/60288
compiler: Avoid crash, give error for *&x when x is not addressable.

From-SVN: r207960
2014-02-20 15:20:26 +00:00
Richard Biener efd2d3c8c4 tree-cfg.c (replace_uses_by): Mark altered BBs before doing the substitution.
2014-02-20  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (replace_uses_by): Mark altered BBs before
	doing the substitution.
	(verify_gimple_assign_single): Also verify bare MEM_REFs
	on the lhs.

From-SVN: r207958
2014-02-20 14:56:27 +00:00
Kai Tietz f238107464 re PR c++/58835 (ICE with __PRETTY_FUNCTION__ in broken function)
PR c++/58835
	* semantics.c (finish_fname): Handle error_mark_node.

From-SVN: r207955
2014-02-20 15:28:16 +01:00
Arnaud Charlet 350b83cc91 2014-02-20 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads (gnatelim): Add description of
	project-specific options.

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

	* a-cbdlli.adb (Insert): When capacity exceeded, raise Capacity_Error,
	not Constraint_Error.
	* a-cbmutr.adb (Append_Child, Insert_Child, Prepend_Child): Ditto.
	* sem_ch5.adb: Code clean up.

From-SVN: r207954
2014-02-20 15:21:35 +01:00
Arnaud Charlet 8880426d05 [multiple changes]
2014-02-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Usage_Error): Remove local
	constant Typ. Remove the specialized diagnostics for unconstrained
	or tagged items as those are not part of the explicit input set
	of the related subprogram and should not be flagged.

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

	* sem_attr.adb: Add guard to preserve all errors.

2014-02-20  Vincent Celier  <celier@adacore.com>

	* switch-m.adb (Normalize_Compiler_Switches): Take into account
	switches that are recorded in ALI files: -gnateA, -gnateE,
	-gnateF, -gnateinn, -gnateu, -gnateV and -gnateY.

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

	* sem_ch5.adb (Analyze_Iterator_Specification): Check legality
	of an element iterator form over a formal container with an
	Iterable aspect.
	* exp_ch5.adb (Build_Formal_Container_Iteration): Utility
	to create declaration and loop statements for both forms of
	container iterators.
	(Expand_Formal_Container_Element_Iterator): New procedure
	to handle loops of the form  "for E of C" when C is a formal
	container.
	(Expand_Formal_Container_Iterator): Code cleanup.

From-SVN: r207953
2014-02-20 15:19:23 +01:00
Arnaud Charlet 46de64cad1 [multiple changes]
2014-02-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Add_Item_To_Name_Buffer): New routine.
	(Analyze_Contract_Case): Remove the use of
	"may". Replace "aspect Contract_Cases" to avoid categorization
	of aspect vs pragma.
	(Analyze_External_Property_In_Decl_Part): Remove the use of "formal".
	(Analyze_Global_Item): Remove
	the use of "formal", specify the subprogram.  Split the
	error message about a state with visible refinement into
	two. Remove the use of "global" from "volatile global item".
	(Analyze_Initialization_Item): Ensure that the SPARK RM reference
	is on one line.
	(Analyze_Input_Output): Update the call to
	Check_Mode. Specify the duplicated item. Reword the error
	message concerning an input of a null output list. Use "\"
	for error message continuation.
	(Analyze_Part_Of): Remove
	the use of "may". Use "\" for error message continuation.
	(Analyze_Refined_Depends_In_Decl_Part): Update the error
	message concerning a useless refinement to match the format
	of Refined_Global.
	(Analyze_Refined_Global_In_Decl_Part): Reword the error message
	concerning a useless refinement.
	(Analyze_Refinement_Clause): Use "\" for error message continuation.
	(Check_Constituent_Usage): Use "\" for error message continuation.
	(Check_Dependency_Clause): Use "\" for error message continuation.
	(Check_Matching_Constituent): Use "\" for error message continuation.
	(Check_Missing_Part_Of): Use "\" for error message continuation.
	(Check_Mode): Renamed to
	Check_Role. Update the comment on usage. Redo the error reporting
	to use Role_Error.
	(Check_Mode_Restriction_In_Enclosing_Context): Use "\" for error
	message continuation.
	(Find_Mode): Renamed to Find_Role. Update the parameter profile along
	with comment on usage. Update all occurrences of Is_Input and Is_Output.
	(Inconsistent_Mode_Error): Use "\" for error message continuation.
	(Input_Match): Use "\" for error message continuation.
	(Role_Error): New routine.
	(Set_Convention_From_Pragma): Use "\" for error message continuation.
	(Usage_Error): Add local variable Error_Msg. Build specialized error
	message showcasing the offending item kind. Redo the diagnostics for
	unconstrained types.

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

	* exp_util.adb (Is_Iterated_Container): Use high-level primitives
	to determine whether a type is a container type, rather than
	examining only its type declaration, so that subtypes and derived
	types are handled properly.

2014-02-20  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi: gnatmetric: add description of project-specific
	options.

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

	* sem_attr.adb (Analyze_Attribute, case 'Update): Verify that
	all choices in an association for a record type have the same
	type, as is done for record aggregates.

From-SVN: r207952
2014-02-20 15:08:31 +01:00
Rainer Orth 923e95e777 XFAIL sourcelocation (PR libgcj/55637)
PR libgcj/55637
	* testsuite/libjava.lang/sourcelocation.xfail: New file.

From-SVN: r207951
2014-02-20 14:04:53 +00:00
Arnaud Charlet 3e586e100a [multiple changes]
2014-02-20  Robert Dewar  <dewar@adacore.com>

	* a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma
	Unmodified rather than Warnings (Off). Make comments
	uniform in the four affected units.

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

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	Object_Size): For non-scalar types allow any value that is a
	multiple of 8.
	* gnat_rm.texi: Document Object_Size for composites more clearly.

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

	* sem_util.ads, sem_util.adb (Default_Initialization): Remove function.

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

	* stand.ads: Raise_Type: new predefined entity, used as the type
	of a Raise_Expression prior to resolution.
	* cstand.adb: Build entity for Raise_Type.
	* sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the
	initial type of the node.
	* sem_type.adb (Covers): Raise_Type is compatible with all
	other types.
	* sem_res.adb (Resolve): Remove special handling of Any_Type on
	Raise_Expression nodes.
	(Resolve_Raise_Expression): Signal ambiguity if the type of the
	context is still Raise_Type.

From-SVN: r207950
2014-02-20 15:04:38 +01:00
Arnaud Charlet 7f568bfad3 [multiple changes]
2014-02-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb (Validate_Access_Type_Instance): Add message if
	mismatching predicates.
	* sem_ch6.adb (Check_Conformance): Give better messages on
	predicate mismatch.
	* sem_eval.adb (Predicates_Match): Move to spec.
	* sem_eval.ads (Predicates_Match): Moved here from body.

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

	* a-cbmutr.adb: Use default value in Insert_Child.

From-SVN: r207949
2014-02-20 15:02:27 +01:00
Arnaud Charlet 308aab0bb6 [multiple changes]
2014-02-20  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Call
	Stringt.Initialize in all project aware tools.

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

	* gnat_ugn.texi: Document gnatbind -X option.
	* vms_data.ads: Minor warnings documentation reformatting.

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

	* exp_ch3.adb (Expand_Freeze_Array_Type): Only create invariant
	procedure for a base type.

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

	* sem_ch4.adb (Analyze_Case_Expression): Get type from first
	expression with type info.
	* sem_ch13.adb: Minor reformatting.
	* sem_eval.adb (Subtypes_Statically_Match): Make sure we return
	False if predicates do not match on the two types.

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

	* sem_prag.adb (Analyze_Pragma [pragma Attach_Handler]):
	In Relaxed_RM_Semantics mode, allow any static integer value,
	for compatibility with other compilers.

From-SVN: r207948
2014-02-20 14:54:18 +01:00
Arnaud Charlet 0f361206d5 [multiple changes]
2014-02-20  Vincent Celier  <celier@adacore.com>

	* errutil.adb (Initialize): Properly initialize entry in table
	Warnings when warnings are suppressed.

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

	* s-os_lib.ads: Add warning about non-portability of Rename_File.
	* sem_util.ads, sem_util.adb (Is_Junk_Name): New function.
	* sem_warn.adb: Use Is_Junk_Name to suppress some warnings.
	* gnat_ugn.texi: Document no warnings on junk variable names.
	* layout.adb: Minor code reorganization (use Ekind_In).
	* stringt.adb: Move initialization of Null_String_Id to Initialize
	routine.

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

	* sem_ch13.adb: Initialize optional Element_Id.

From-SVN: r207947
2014-02-20 14:52:08 +01:00
Arnaud Charlet c0cdbd3963 [multiple changes]
2014-02-20  Robert Dewar  <dewar@adacore.com>

	* s-os_lib.ads (Rename_File): Minor commment addition.

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

	* einfo.ads: Minor reformatting.

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

	* aspects.adb (Exchange_Aspects): New routine.
	* aspects.ads (Exchange_Aspects): New routine.
	* atree.adb (Rewrite): Do not check whether the save node has
	aspects as it never will, instead check the node about to be clobbered.
	* einfo.adb (Write_Field25_Name): Abstract_States can appear in
	entities of generic packages.
	* sem_ch6.adb (Analyze_Expression_Function): Fix the parent
	pointer of an aspect specification list after rewriting takes place.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Swap the aspect
	specifications of the generic template and the copy used for analysis.
	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Swap
	the aspect specifications of the generic template and the
	copy used for analysis.
	(Analyze_Package_Instantiation): Propagate the aspect specifications
	from the generic template to the instantiation.
	(Build_Instance_Compilation_Unit_Nodes): Propagate the aspect
	specifications from the generic template to the instantiation.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Handle aspects
	Abstract_State, Initializes and Initial_Condition when they
	apply to a package instantiation.

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

	* stringt.adb: Add call to Initialize in package initialization.

From-SVN: r207946
2014-02-20 14:48:32 +01:00
Arnaud Charlet fe4552f4aa [multiple changes]
2014-02-20  Robert Dewar  <dewar@adacore.com>

	* a-crbtgk.adb, a-cihama.adb, a-coinve.adb, a-ciorse.adb, a-crbtgo.adb,
	a-cidlli.adb, a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb,
	a-chtgke.adb, a-chtgop.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
	a-convec.adb, a-cohase.adb, a-chtgbk.adb, a-chtgbo.adb: Minor
	reformatting.

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

	* s-os_lib.ads: Minor: Remove incorrect comment.

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

	* sem_elab.adb (Check_Elab_Assign): Clearer warning message.

2014-02-20  Vincent Celier  <celier@adacore.com>

	* gnat_rm.texi: Minor syntax error fix.

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

	* a-cborma.adb (Assign): When creating a node without a specified
	element, insert an uninitialized element in the map, because
	the instance may provide an element type with a default
	initialization, e.g a scalar with a Default_Value aspect.
	* a-cbhama.adb (Assign_Key): Remove useless Allocate procedure.
	(Insert): In the version without explicit element, provide an
	uninitialized element, as above.
	* a-cbdlli.adb (Append): In the version without explicit element,
	provide an uninitalized element, as above.
	(Allocate): Remove unused version.

From-SVN: r207945
2014-02-20 14:46:15 +01:00
Arnaud Charlet 3730c4a046 [multiple changes]
2014-02-20  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb: Minor code reorganization (use Nkind_In).
	* stringt.adb: Remove temporary pragma Warnings (Off).
	* stringt.ads: Add pragma Elaborate_Body to ensure initialization
	of Null_String_Id.

2014-02-20  Matthew Heaney  <heaney@adacore.com>

	* a-chtgbk.adb (Replace): Use correct offset when calculating bucket
	index.

From-SVN: r207944
2014-02-20 14:44:20 +01:00
Arnaud Charlet 0c7e0c3254 [multiple changes]
2014-02-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Initialize
	properly the cursor type for subsequent volatile testing in SPARK
	mode, when domain is a formal container with an Iterabe aspect.

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

	* errout.adb (Set_Warnings_Mode_Off): Add Reason argument.
	(Set_Specific_Warning_Off): Add Reason argument.
	* errout.ads (Set_Warnings_Mode_Off): Add Reason argument.
	(Set_Specific_Warning_Off): Add Reason argument.
	* erroutc.adb (Warnings_Entry): Add Reason field
	(Specific_Warning_Entry): Add Reason field.
	(Warnings_Suppressed): return String_Id for Reason.
	(Warning_Specifically_Suppressed): return String_Id for Reason.
	* erroutc.ads (Warnings_Entry): Add Reason field.
	(Specific_Warning_Entry): Add Reason field.
	(Set_Specific_Warning_Off): Add Reason argument.
	(Set_Warnings_Mode_Off): Add Reason argument.
	(Warnings_Suppressed): return String_Id for Reason.
	(Warning_Specifically_Suppressed): return String_Id for Reason.
	* errutil.adb (Warnings_Suppressed): returns String_Id for Reason
	(Warning_Specifically_Suppressed): returns String_Id for Reason
	* gnat_rm.texi: Document that Warning parameter is string literal
	or a concatenation of string literals.
	* par-prag.adb: New handling for Reason argument.
	* sem_prag.adb (Analyze_Pragma, case Warning): New handling
	for Reason argument.
	* sem_util.ads, sem_util.adb (Get_Reason_String): New procedure.
	* sem_warn.ads (Warnings_Off_Entry): Add reason field.
	* stringt.adb: Set Null_String_Id.
	* stringt.ads (Null_String_Id): New constant.

From-SVN: r207943
2014-02-20 14:42:58 +01:00
Robert Dewar e449429213 einfo.ads: Minor comment addition: Etype of package is Standard_Void_Type.
2014-02-20  Robert Dewar  <dewar@adacore.com>

	* einfo.ads: Minor comment addition: Etype of package is
	Standard_Void_Type.
	* checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch13.adb,
	exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb,
	exp_ch7.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_imgv.adb,
	exp_intr.adb, exp_prag.adb, exp_sel.adb, exp_strm.adb, exp_util.adb,
	freeze.adb, rtsfind.adb, sem_aggr.adb, sem_attr.adb, sem_ch10.adb,
	sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
	sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, sem_res.adb,
	sem_util.adb, tbuild.adb, tbuild.ads: Remove New_Reference_To.
	Replace all calls with calls to New_Occurrence_Of.

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

	* par-util.adb (Ignore, case of right paren): Make this a
	serious error.

From-SVN: r207942
2014-02-20 14:38:06 +01:00
Martin Jambor 9576e7b112 re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with -O2 -fno-inline -fipa-cp-clone)
2014-02-20  Martin Jambor  <mjambor@suse.cz>

	PR ipa/55260
	* ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
	info when checking whether lattices are bottom.

testsuite/
	* gcc.dg/ipa/pr55260.c: New test.

From-SVN: r207941
2014-02-20 14:28:34 +01:00
Bin Cheng 8c4d420528 crossmodule-indircall-1.c: Return 0 for execution test case.
* gcc.dg/tree-prof/crossmodule-indircall-1.c: Return 0
	for execution test case.

From-SVN: r207939
2014-02-20 10:41:03 +00:00
Richard Biener 25fe40b0f2 re PR middle-end/60221 (gcc -fexceptions generates unnecessary cleanup code)
2014-02-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/60221
	* tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
	regions at -O0.

From-SVN: r207937
2014-02-20 09:00:23 +00:00
Richard Biener 1f58214aa2 re PR java/60261 (Weird java install with --enable-version-specific-runtime-libs)
2014-02-20  Richard Biener  <rguenther@suse.de>

	PR libjava/60261
	* configure.ac (dbexecdir): Remove redundant multilib addition.
	* Makefile.am (gcc_version): Export.
	* configure: Regenerate.
	* Makefile.in: Likewise.

From-SVN: r207936
2014-02-20 08:43:04 +00:00
Jan Hubicka bd93695145 re PR middle-end/58555 (Floating point exception in want_inline_self_recursive_call_p)
PR ipa/58555
	* ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale parameter
	specifying the scaling.
	(inline_call): Update.
	(want_inline_recursively): Guard division by zero.
	(recursive_inlining): Update.
	* ipa-inline.h (clone_inlined_nodes): Update.
	* testsuite/g++.dg/torture/pr58555.C: New testcase.

From-SVN: r207934
2014-02-20 06:40:07 +00:00
Ilya Tocar 3c898e1acb re PR target/60204 (struct with __m512i is mishandled in function parameter passing and return)
gcc/
	PR target/60204
	* config/i386/i386.c (classify_argument): Pass structures of size
	64 bytes or less in register.

tessuite/gcc/
	PR target/60204
	* gcc.target/x86_64/abi/avx512f/test_passing_structs.c: Update to
	reflect abi fix.
	* gcc.target/x86_64/abi/avx512f/test_passing_unions.c: Ditto.

From-SVN: r207933
2014-02-20 06:32:21 +00:00
Ilya Tocar df62b4af2e avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
gcc/
	* config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
	(_mm_rcp28_round_ss): Ditto.
	(_mm_rsqrt28_round_sd): Ditto.
	(_mm_rsqrt28_round_ss): Ditto.
	* config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
	(_mm_rcp14_round_ss): Ditto.
	(_mm_rsqrt14_round_sd): Ditto.
	(_mm_rsqrt14_round_ss): Ditto.
	* config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
	the first input operand, get rid of match_dup.
	(avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
	attribute to sse.
	(<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
	Ditto.
	(avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
	operand as the first input operand, set type attribute.
	(<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
	Set type attribute.
	(avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
	operand as the first input operand, set type attribute.


testsuite/gcc/
	* gcc.target/i386/avx512er-vrcp28sd-2.c: Distinguish src1 and src2.
	* gcc.target/i386/avx512er-vrcp28ss-2.c: Call correct intrinsic.
	* gcc.target/i386/avx512er-vrsqrt28sd-2.c: Distinguish src1 and src2.
	* gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14sd-2.c: Fix reference calculation.
	* gcc.target/i386/avx512f-vrcp14ss-2.c: Fix reference calculation.


Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>

From-SVN: r207932
2014-02-20 06:26:38 +00:00
GCC Administrator a13cfd3e9b Daily bump.
From-SVN: r207930
2014-02-20 00:17:08 +00:00
Jakub Jelinek cca615afc0 re PR c/37743 (Bogus printf format warning with __builtin_bswap32.)
PR c/37743
	* c-common.c (c_common_nodes_and_builtins): When initializing
	c_uint{16,32,64}_type_node, also set corresponding
	uint{16,32,64}_type_node to the same value.

	* g++.dg/ext/builtin-bswap1.C: New test.
	* c-c++-common/pr37743.c: New test.

From-SVN: r207924
2014-02-19 23:27:40 +01:00
Bill Schmidt 9254148e5b rs6000.c (vspltis_constant): Fix most significant bit of zero.
2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (vspltis_constant): Fix most significant
	bit of zero.

From-SVN: r207919
2014-02-19 19:43:13 +00:00
Jason Merrill 55694175e2 re PR c++/60046 (internal compiler error: in nothrow_spec_p, at cp/except.c:1280)
PR c++/60046
	* pt.c (maybe_instantiate_noexcept): Don't instantiate exception
	spec from template context.

From-SVN: r207917
2014-02-19 14:03:19 -05:00
Prathamesh Kulkarni 1c9f5f333a c-parser.c (c_parser_declspecs): Replace call to error by error_at.
* c-parser.c (c_parser_declspecs): Replace call to error by error_at.
	(c_parser_parameter_declaration): Likewise.

From-SVN: r207916
2014-02-19 18:51:57 +00:00
Jakub Jelinek 128ed0903f re PR debug/56563 (no debuginfo for "explicit" operator)
PR debug/56563
	* cp-objcp-common.c (cp_function_decl_explicit_p): Remove
	FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check.

From-SVN: r207915
2014-02-19 19:12:31 +01:00
Jakub Jelinek 4998d6669f re PR c++/60267 (ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE in tsubst_copy, at cp/pt.c:12887)
PR c++/60267
	* pt.c (tsubst_expr): Handle ANNOTATE_EXPR.

	* g++.dg/ext/ivdep-1.C: New test.

From-SVN: r207914
2014-02-19 19:11:54 +01:00
H.J. Lu fff917933f Remove TFmode check for X86_64_INTEGER_CLASS
PR target/60207
	* config/i386/i386.c (construct_container): Remove TFmode check
	for X86_64_INTEGER_CLASS.

From-SVN: r207913
2014-02-19 10:10:04 -08:00
Jakub Jelinek 28e4187469 re PR c++/60267 (ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE in tsubst_copy, at cp/pt.c:12887)
PR c++/60267
	* c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
	for PRAGMA_IVDEP if flag_preprocess_only.

	* gcc.dg/pr60267.c: New test.

From-SVN: r207911
2014-02-19 17:45:21 +01:00
Uros Bizjak 6aa5b4b87e re PR target/59794 (i386 backend fails to detect MMX/SSE/AVX ABI changes)
PR target/59794
	* config/i386/i386.c (type_natural_mode): Warn for ABI changes
	only when -Wpsabi is enabled.

testsuite/ChangeLog:

	PR target/59794
	* gcc.target/i386/pr39162.c: Add dg-prune-output.
	(dg-options): Remove -Wno-psabi.
	* gcc.target/i386/59794-2.c: Ditto.
	* gcc.target/i386/60205-1.c: Ditto.
	* gcc.target/i386/sse-5.c: Ditto.

From-SVN: r207910
2014-02-19 16:53:59 +01:00
Nick Clifton 7531103aca pr46966.c: Only run on 32-bit+ targets.
* gcc.dg/graphite/pr46966.c: Only run on 32-bit+ targets.
	* gcc.dg/pr23623.c: Likewise.
	* gcc.dg/pr48784-1.c: Likewise.
	* gcc.dg/pr48784-2.c: Likewise.
	* gcc.dg/pr56997-2.c: Likewise.
	* gcc.dg/sms-6.c: Likewise.
	* gcc.dg/torture/pr60183.c: Likewise.
	* gcc.dg/torture/vec-cvt-1.c: Likewise.
	* gcc.c-torture/execute/20061220-1.x: New.
	* gcc.c-torture/execute/pr43220.x: New.
	* gcc.c-torture/execute/pr51581-1.x: New.
	* gcc.c-torture/execute/pr51581-2.x: New.
	* gcc.c-torture/execute/pr58570.x: New.
	* gcc.c-torture/unsorted/DFcmp.x: New.
	* gcc.c-torture/unsorted/SFset.x: New.

From-SVN: r207909
2014-02-19 15:44:11 +00:00
Michael Hudson-Doyle aadc1c4315 re PR target/59799 (aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation)
2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>

	 PR target/59799
	* config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
	passing arrays in registers are the same as for structs, so remove the
	special case for them.

From-SVN: r207908
2014-02-19 15:32:54 +00:00
Arnaud Charlet d7cb47b448 [multiple changes]
2014-02-19  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb, sem_prag.adb, sem_attr.adb: Minor reformatting.
	* debug.adb: Remove -gnatd.X switch, no longer used.
	* styleg.adb (Check_Then): Remove check of -gnatd.X, check is
	now always made.

2014-02-19  Bob Duff  <duff@adacore.com>

	* g-socket.ads: Minor: Correct some comments.

From-SVN: r207907
2014-02-19 16:05:43 +01:00
Arnaud Charlet 53f697ee80 [multiple changes]
2014-02-19  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: Inhibit iterator rewriting in ASIS mode.

2014-02-19  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Do not generate
	an error on out of range priorities if Relaxed_RM_Semantics.
	* sem_prag.adb (Analyze_Pragma): Ditto.

2014-02-19  Bob Duff  <duff@adacore.com>

	* sem_attr.adb (Resolve_Attribute): Detect the case of F'Access
	where F denotes the renaming of an enumeration literal, and
	issue a specialized error message.

From-SVN: r207906
2014-02-19 16:04:08 +01:00
Arnaud Charlet 47fb6ca83f [multiple changes]
2014-02-19  Matthew Heaney  <heaney@adacore.com>

	* a-chtgop.ads (Checked_Index): New operation.
	(Next): Changed mode of hash table.
	* a-chtgop.adb (Adjust, Delete_Node_Sans_Free): Detect tampering
	(Generic_Read, Reserve_Capacity): Ditto.
	(Generic_Equal): Detect tampering.
	(Next): Changed mode of hash table, detect tampering.
	* a-chtgke.ads (Checked_Index, Checked_Equivalent_Keys): New
	operation.
	(Find): Changed mode of hash table.
	* a-chtgke.adb (Checked_Equivalent_Keys): New operation
	(Delete_Key_Sans_Free, Generic_Conditional_Insert): Detect
	tampering.
	(Find): Changed mode of hash table, check for tampering.
	(Generic_Replace_Element): Check for tampering.
	* a-chtgbk.ads (Checked_Index, Checked_Equivalent_Keys): New operation.
	* a-chtgbk.adb (Checked_Index, Checked_Equivalent_Keys): New
	operation (Delete_Key_Sans_Free, Generic_Conditional_Insert):
	Detect tampering.
	(Find, Generic_Replace_Element): Check for tampering.
	* a-chtgbo.ads (Checked_Index): New operation.
	* a-chtgbo.adb (Checked_Index): New operation
	(Delete_Node_Sans_Free, Generic_Equal): Detect tampering.
	(Generic_Read, Next): Ditto.
	* a-cohase.adb, a-cihase.adb (Is_In): Changed mode of hash
	table (Difference, Intersection): Use variable view of
	source, detect tampering (Find, Is_Subset, Overlap): Use
	variable view of container (Symmetric_Difference, Union):
	Detect tampering (Vet): Use Checked_Index to detect tampering
	(Constant_Reference, Element, Find): Use variable view of
	container.
	(Update_Element_Preserving_Key): Detect tampering.
	* a-cbhase.adb (Difference, Find, Is_In): Use variable view
	of container.
	(Is_Subset): Ditto.
	(Equivalent_Sets, Overlap): Use Node's Next component.
	(Vet): Use Checked_Index to detect tampering.
	(Constant_Reference, Element, Find): Use variable view of container.
	(Update_Element_Preserving_Key): Detect tampering.
	* a-cohama.adb, a-cihama.adb, a-cbhama.adb (Constant_Reference,
	Element, Find): Use variable view of container.
	(Reference): Rename hash table component.
	(Vet): Use Checked_Index to detect tampering.

2014-02-19  Arnaud Charlet  <charlet@adacore.com>

	* adabkend.adb (Scan_Compiler_Arguments): Add missing handling
	of -nostdinc.

2014-02-19  Thomas Quinot  <quinot@adacore.com>

	* tbuild.adb (New_Occurrence_Of, New_Rerefence_To): Guard
	against calls without Def_Id.

2014-02-19  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
	a-cofove.ads: Add global annotations to subprograms.

2014-02-19  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Remove
	constants Errors, Pack_Id and Pack_Init. Remove variable Vars.
	Initial_Condition no longer requires the presence of pragma
	Initialized. Do not try to diagnose whether all variables mentioned in
	pragma Initializes also appear in Initial_Condition.
	(Collect_Variables): Removed.
	(Match_Variable): Removed.
	(Match_Variables): Removed.
	(Report_Unused_Variables): Removed.

2014-02-19  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi (pragma Stream_Convert): Minor rewording.

From-SVN: r207905
2014-02-19 15:59:32 +01:00
Arnaud Charlet 13f39091ea [multiple changes]
2014-02-19  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, sem_util.ads, prj-conf.adb, s-os_lib.adb: Minor
	reformatting.

2014-02-19  Vincent Celier  <celier@adacore.com>

	* prj-part.adb (Parse_Single_Project): Use the fully resolved
	project path, with all symbolic links resolved, to check if the
	same project is imported with a different unresolved path.
	* prj-tree.ads (Project_Name_And_Node): Component Canonical_Path
	changed to Resolved_Path to reflect that all symbolic links
	are resolved.

From-SVN: r207904
2014-02-19 15:48:32 +01:00
Arnaud Charlet 110e2969e0 [multiple changes]
2014-02-19  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads, sem_util.adb (Get_Cursor_Type): Moved to sem_util
	from sem_ch13, for use elsewhere.
	* sem_ch13.adb (Get_Cursor_Type): Moved to sem_util.
	* sem_ch5.adb (Analyze_Iterator_Specification): Set properly the
	cursor type on the loop variable when the iteration is over o
	formal container.

2014-02-19  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Add declaration
	for an empty Target (Check_Target): Never fail when an empty
	target is declared in the configuration project.

2014-02-19  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Check_Arg_Is_Local_Name): Argument is local if
	the pragma comes fron a predicate aspect and the context is a
	record declaration within the scope that declares the type.

2014-02-19  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor clarifications.
	* expander.adb, sem_aggr.adb: Add comments.

From-SVN: r207903
2014-02-19 15:46:15 +01:00
Eric Botcazou 322913f876 expr.c (expand_expr_real_1): For a bit-field destination type...
* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
	destination type, extract only the valid bits if the source type is not
	integral and has a different mode.

From-SVN: r207902
2014-02-19 14:45:16 +00:00
Arnaud Charlet ffdeb7023f [multiple changes]
2014-02-19  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Check_Arg_Is_Local_Name): For an aspect that
	applies to a subprogram body, the name is the current scope,
	rather than being declared in the current scope.
	(Analyze_Pragma, case No_Return): Handle properly a No_Return
	aspect applied to a subprogram body.

2014-02-19  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Resolve_Iterable_Operation): Improve resolution
	of overloaded subprograms, and fix bug in handling of primitive
	operation Element.

2014-02-19  Pascal Obry  <obry@adacore.com>

	* s-os_lib.adb: Minor reformatting.

2014-02-19  Yannick Moy  <moy@adacore.com>

	* expander.adb (Expand): Do nothing inside generics.
	* sem_aggr.adb (Aggregate_Constraint_Checks): Do nothing inside
	generics.

2014-02-19  Yannick Moy  <moy@adacore.com>

	* exp_ch2.adb: Remove useless 'with' of unit Uintp.

From-SVN: r207901
2014-02-19 15:42:55 +01:00
Arnaud Charlet edbd98c4cb [multiple changes]
2014-02-19  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, style.adb, sem_prag.adb, sem_ch13.adb: Minor reformatting
	* a-sequio.adb: Remove useless pragma Extensions_Allowed (no
	longer needed).

2014-02-19  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
	a-cforse.ads, a-cofove.ads: Add Iterable aspect to formal containers.

From-SVN: r207900
2014-02-19 15:40:26 +01:00
Richard Biener fd9710dc68 re PR ipa/60243 (IPA is slow on large cgraph tree)
2014-02-19  Richard Biener  <rguenther@suse.de>

	PR ipa/60243
	* tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
	for all calls.

From-SVN: r207899
2014-02-19 14:25:47 +00:00
Rainer Orth 73cc5f9192 XFAIL gcc.dg/torture/pr60092.c execution on Solaris 11
* gcc.dg/torture/pr60092.c: xfail execution on *-*-solaris2.11* at -O0.

From-SVN: r207898
2014-02-19 12:28:15 +00:00