Commit Graph

138684 Commits

Author SHA1 Message Date
John David Anglin
225f474784 re PR target/66148 (build/genpreds: Internal error: abort in choose_enum_order, at genpreds.c:1006)
PR target/66148
	* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
	REG_EQUAL note when doing insert.

From-SVN: r223791
2015-05-28 01:09:59 +00:00
John David Anglin
34319f9aa5 pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of "%d" for 'o' operand.
* config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
	instead of "%d" for 'o' operand.

From-SVN: r223790
2015-05-28 00:36:08 +00:00
GCC Administrator
854440ccdb Daily bump.
From-SVN: r223788
2015-05-28 00:16:14 +00:00
Jeff Law
b60685a379 re PR target/39726 ([cond-optab] ColdFire pessimizations on QImode/HImode tests)
PR target/39726
        * gcc.dg/target/m68k/pr39726-1.c: New test.

From-SVN: r223781
2015-05-27 15:13:25 -06:00
Uros Bizjak
8ed501f167 wait.h (gomp_futex_wait, [...]): Declare as int.
2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
	Declare as int.
	(FUTEX_PRIVATE_FLAG): Remove L suffix.
	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
	Declare as int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	Revert:
	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
	Change operand "op" to long.

From-SVN: r223780
2015-05-27 23:07:09 +02:00
Jason Merrill
cba16cca62 decl.c (check_redeclaration_exception_specification): Depend on -Wsystem-headers rather than -pedantic.
* decl.c (check_redeclaration_exception_specification): Depend on
	-Wsystem-headers rather than -pedantic.

From-SVN: r223778
2015-05-27 16:53:06 -04:00
Jason Merrill
f425298902 decl.c (warn_extern_redeclared_static): Use the location of newdecl in diagnostics, not input_location.
* decl.c (warn_extern_redeclared_static): Use the location of
	newdecl in diagnostics, not input_location.
	(validate_constexpr_redeclaration): Likewise.
	(check_redeclaration_no_default_args): Likewise.
	(duplicate_decls): Likewise.
	(check_redeclaration_exception_specification): Likewise.
	Change second diagnostic to inform.

From-SVN: r223777
2015-05-27 16:52:55 -04:00
Nathan Sidwell
929614bf0e apply to correct changelog
From-SVN: r223775
2015-05-27 20:42:29 +00:00
Jason Merrill
0e963becfe * warnings.m4: Fix comment.
From-SVN: r223774
2015-05-27 16:40:38 -04:00
Nathan Sidwell
b6cb06b486 re PR c++/66270 (ICE: canonical types differ for identical types)
PR c++/66270
	* tree.c (build_pointer_type_for_mode): Canonical type does not
	inherit can_alias_all.
	(build_reference_type_for_mode): Likewise.

	PR c++/66270
	* g++.dg/ext/alias-canon3.C: New.

From-SVN: r223773
2015-05-27 20:36:14 +00:00
Eric Botcazou
73b4a60f5c trans.c (elaborate_all_entities): Do not elaborate an incomplete type coming from a limited_with and whose...
* gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
	incomplete type coming from a limited_with and whose non-limited view
	comes from the main unit.

From-SVN: r223772
2015-05-27 19:57:43 +00:00
Uros Bizjak
ea023bcfd8 futex.h (sys_futex0): Change operand "op" to long.
libgomp/ChangeLog:

	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
	Change operand "op" to long.
	[__PIC__]: Remove sys_futex0 function.

libitm/ChangeLog:

	* config/linux/x86/futex_bits.h (sys_futex0) [!__x86_64__]:
	Change operand "op" to long.
	[__PIC__]: Remove sys_futex0 function.

From-SVN: r223771
2015-05-27 21:35:58 +02:00
Eric Botcazou
8974754f6f expr.h (array_at_struct_end_p): Move to...
* expr.h (array_at_struct_end_p): Move to...
	(array_ref_element_size): Likewise.
	(component_ref_field_offset): Likewise.
	* tree.h (array_ref_element_size): ...here.
	(array_at_struct_end_p): Likewise.
	(component_ref_field_offset): Likewise.
	* expr.c (array_ref_element_size): Move to...
	(array_ref_low_bound): Likewise.
	(array_at_struct_end_p): Likewise.
	(array_ref_up_bound): Likewise.
	(component_ref_field_offset): Likewise.
	* tree.c (array_ref_element_size): ...here.
	(array_ref_low_bound): Likewise.
	(array_ref_up_bound): Likewise.
	(array_at_struct_end_p): Likewise.
	(component_ref_field_offset): Likewise.

From-SVN: r223768
2015-05-27 18:00:15 +00:00
Eric Botcazou
e590690ef2 decl.c (gnat_to_gnu_entity): Move down code applying atomic checks to the object.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
	code applying atomic checks to the object.

From-SVN: r223767
2015-05-27 17:57:01 +00:00
Gregor Richards
b6840fb7da [PATCH 3/13] aarch64 musl support
gcc/Changelog:

2015-05-27  Gregor Richards  <gregor.richards@uwaterloo.ca>
	    Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.


Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>

From-SVN: r223766
2015-05-27 16:46:39 +00:00
John Marino
89c54dd357 config.host (i[34567]86-*-freebsd*, [...]): Set md_unwind_header
* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Set
        md_unwind_header
        * config/i386/freebsd-unwind.h: New.

From-SVN: r223765
2015-05-27 10:14:10 -06:00
Jason Merrill
ff771de3b4 re PR bootstrap/66304 (Can't bootstrap on x86_64-linux-gnu with gcc 4.3.4)
PR bootstrap/66304
config/
	* warnings.m4 (ACX_PROG_CXX_WARNING_OPTS)
	(ACX_PROG_CXX_WARNINGS_ARE_ERRORS)
	(ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC): New.
	(ACX_PROG_CC_WARNING_OPTS, ACX_PROG_CC_WARNING_ALMOST_PEDANTIC)
	(ACX_PROG_CC_WARNINGS_ARE_ERRORS): Push into C language context.
gcc/
	* configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
	ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
	ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
	* configure: Regenerate.

From-SVN: r223763
2015-05-27 12:09:18 -04:00
Aditya Kumar
650a202b47 auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is true.
* auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is
	true.

From-SVN: r223762
2015-05-27 09:06:25 -06:00
Aditya Kumar
ec09a694b3 * statistics.c (statistics_fini_pass): Print pass name.
From-SVN: r223761
2015-05-27 09:06:10 -06:00
Richard Biener
f3ae4add6c re PR tree-optimization/66272 (wrong code at -O3 on x86_64-linux-gnu)
2015-05-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66272
	Revert parts of
	2014-08-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62031
	* tree-data-ref.c (dr_analyze_indices): Do not set
	DR_UNCONSTRAINED_BASE.
	(dr_may_alias_p): All indirect accesses have to go the
	formerly DR_UNCONSTRAINED_BASE path.
	* tree-data-ref.h (struct indices): Remove
	unconstrained_base member.
	(DR_UNCONSTRAINED_BASE): Remove.

	* gcc.dg/torture/pr66272.c: New testcase.

From-SVN: r223759
2015-05-27 14:20:48 +00:00
Aldy Hernandez
70660539ce dwarf2out.c: Remove block_map.
* dwarf2out.c: Remove block_map.
	(gen_call_site_die): Replace block_map use with BLOCK_DIE.
	(gen_lexical_block_die): Same.
	(dwarf2out_function_decl): Remove block_map use.
	(dwarf2out_c_finalize): Same.
	* tree-core.h (struct tree_block): Add die field.
	* tree.h (BLOCK_DIE): New.

From-SVN: r223758
2015-05-27 14:09:58 +00:00
Richard Biener
d586cedd4c slp-reduc-7.c: New testcase.
2015-05-27  Richard Biener  <rguenther@suse.de>

	* gcc.dg/vect/slp-reduc-7.c: New testcase.

From-SVN: r223756
2015-05-27 13:50:50 +00:00
Arnaud Charlet
50ef946c45 [multiple changes]
2015-05-27  Robert Dewar  <dewar@adacore.com>

	* sem_aux.adb: Minor rewording.

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

	* exp_prag.adb (Expand_Pragma_Abort_Defer): Make
	pragma Abort_Defer do nothing if Abort_Allowed is False.

2015-05-27  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads,
	sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb,
	opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads,
	sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments.

2015-05-27  Doug Rupp  <rupp@adacore.com>

	* adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as
	well as kernel.

2015-05-27  Pierre-Marie de Rodat  <derodat@adacore.com>

	* par_sco.adb (Process_Decision): Store sloc to
	condition/pragmas SCOs associations into a temporary table before
	moving them to the SCO_Raw_Hash_Table so that we can back them
	out just like we do for SCO entries that are simple decisions
	in an expression context.

From-SVN: r223754
2015-05-27 15:26:16 +02:00
Kyrylo Tkachov
99206968a8 [expr.c] PR target/65358 Avoid clobbering partial argument during sibcall
PR target/65358
	* expr.c (memory_load_overlap): New function.
	(emit_push_insn): When pushing partial args to the stack would
	clobber the register part load the overlapping part into a pseudo
	and put it into the hard reg after pushing.  Change return type
	to bool.  Add bool argument.
	* expr.h (emit_push_insn): Change return type to bool.
	Add bool argument.
	* calls.c (expand_call): Cancel sibcall optimization when encountering
	partial argument on targets with ARGS_GROW_DOWNWARD and
	!STACK_GROWS_DOWNWARD.
	(emit_library_call_value_1): Update callsite of emit_push_insn.
	(store_one_arg): Likewise. 

	PR target/65358
	* gcc.dg/pr65358.c: New test.

From-SVN: r223753
2015-05-27 13:25:01 +00:00
Arnaud Charlet
66371f94f5 [multiple changes]
2015-05-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Process_Formals): A non-private formal type that
	is a limited view does not have a list of private dependents.

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

	* exp_ch5.adb (Expand_N_Case_Statement): If the expression in
	the case statement is a compile-time known value, we look for a
	corresponding alternative to optimize the case statement into a
	single case. If the type has a static predicate and the expression
	does not satisfy the predicate, there is no legal alternative and
	this optimization is not applicable.  Excecution is erroneous,
	or else if assertions are enabled, an exception will be raised
	earlier, at the point the expression is elaborated.

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

	* sem_elab.adb (Check_Internal_Call_Continue): Suppress
	warning on Finalize, Adjust, or Initialize if type involved has
	Warnings_Off set.

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

	* sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when
	applied to a type with no known discriminants.

From-SVN: r223752
2015-05-27 15:21:36 +02:00
Arnaud Charlet
0c6826a523 [multiple changes]
2015-05-26  Robert Dewar  <dewar@adacore.com>

	* errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting.

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

	* sem_elab.adb (Check_A_Call): In the case where we're
	calling something in an instance of a generic package that is
	within this same unit (as the call), make sure we treat it
	as a call to an entity within the same unit. That is, call
	Check_Internal_Call, rather than putting "Elaborate_All(X)"
	on X, which would necessarily result in an elaboration cycle in
	static-elaboration mode.

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

	* freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile.
	* freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity
	parameter into Node parameter and remove Type parameter.
	Look at Is_Atomic_Or_VFA both on the type and on the object.
	(Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate.
	* exp_aggr.adb (Expand_Record_Aggregate): Likewise.
	(Process_Atomic_Independent_Shared_Volatile): Remove code
	propagating Atomic or VFA from object to locally-defined type.

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

	* exp_ch7.adb: Minor comment fix.

From-SVN: r223751
2015-05-27 15:19:35 +02:00
Martin Liska
faae53f8ca LTO balanced map: add stats about insns and symbols.
* lto-partition.c (new_partition): Reset number of symbols.
	(add_symbol_to_partition_1): Increment number of symbols.
	(undo_partition): Decrement number of symbols.
	(lto_balanced_map): Dump number of symbols and insns that
	belong to a partition.
	* lto-partition.h (struct ltrans_partition_def): Add symbol counter.

From-SVN: r223750
2015-05-27 13:17:13 +00:00
Gregor Richards
4d45be537b [PATCH 4/13] arm musl support
On behalf of szabolcs.nagy@arm.com

2015-05-27  Gregor Richards  <gregor.richards@uwaterloo.ca>

	* config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.

From-SVN: r223749
2015-05-27 13:17:11 +00:00
Martin Liska
2d44c7dea7 New memory allocation statistics infrastructure.
* Makefile.in: Add additional dependencies related to memory report
	enhancement.
	* alloc-pool.c (allocate_pool_descriptor): Use new ctor.
	* bitmap.c (struct bitmap_descriptor_d): Remove.
	(struct loc): Likewise.
	(struct bitmap_desc_hasher): Likewise.
	(bitmap_desc_hasher::hash): Likewise.
	(bitmap_desc_hasher::equal): Likewise.
	(get_bitmap_descriptor): Likewise.
	(bitmap_register): User new memory descriptor API.
	(register_overhead): Likewise.
	(bitmap_find_bit): Register nsearches and search_iter statistics.
	(struct bitmap_output_info): Remove.
	(print_statistics): Likewise.
	(dump_bitmap_statistics): Use new memory descriptor.
	* bitmap.h (struct bitmap_usage): New class.
	* genmatch.c: Extend header file inclusion.
	* genpreds.c: Likewise.
	* ggc-common.c (struct ggc_usage): New class.
	(struct ggc_loc_desc_hasher): Remove.
	(ggc_loc_desc_hasher::hash): Likewise.
	(ggc_loc_desc_hasher::equal): Likewise.
	(struct ggc_ptr_hash_entry): Likewise.
	(struct ptr_hash_hasher): Likewise.
	(ptr_hash_hasher::hash): Likewise.
	(ptr_hash_hasher::equal): Likewise.
	(make_loc_descriptor): Likewise.
	(ggc_prune_ptr): Likewise.
	(dump_ggc_loc_statistics): Use new memory descriptor.
	(ggc_record_overhead): Likewise.
	(ggc_free_overhead): Likewise.
	(final_cmp_statistic): Remove.
	(cmp_statistic): Likewise.
	(ggc_add_statistics): Liekwise.
	(ggc_prune_overhead_list): Likewise.
	* hash-map-traits.h: New file.
	* hash-map.h (struct default_hashmap_traits): Move the traits to a
	separate header file.
	* hash-set.h: Pass memory statistics info to ctor.
	* hash-table.c (void dump_hash_table_loc_statistics): New function.
	* hash-table.h (hash_table::hash_table): Add new ctor arguments.
	(hash_table::~hash_table): Register memory release operation.
	(hash_table::alloc_entries): Handle memory allocation operation.
	(hash_table::expand): Likewise.
	* inchash.c (iterative_hash_hashval_t): Move implementation to header
	file.
	(iterative_hash_host_wide_int): Likewise.
	* inchash.h (class hash): Likewise.
	* mem-stats-traits.h: New file.
	* mem-stats.h: New file.
	(mem_location): Add new class.
	(mem_usage): Likewise.
	(mem_alloc_description): Likewise.
	* sese.c: Add new header file inclusision.
	* toplev.c (dump_memory_report): Add report for hash_table, hash_map
	and hash_set.
	* tree-sra.c: Add new header file inclusision.
	* vec.c (struct vec_descriptor): Remove.
	(hash_descriptor): Likewise.
	(struct vec_usage): Likewise.
	(struct ptr_hash_entry): Likewise.
	(hash_ptr): Likewise.
	(eq_ptr): Likewise.
	(vec_prefix::register_overhead): Use new memory descriptor API.
	(vec_prefix::release_overhead): Likewise.
	(add_statistics): Remove.
	(dump_vec_loc_statistics): Use new memory descriptor API.
	* vec.h (struct vec_prefix): Likewise.
	(va_heap::reserve): Likewise.
	(va_heap::release): Likewise.
	* emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.

From-SVN: r223748
2015-05-27 12:47:22 +00:00
Jonathan Wakely
151fbaac5c stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr instead of downcasting.
* include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
	instead of downcasting.
	(_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
	(_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
	(_Rb_tree::_S_iter): Remove.
	(_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
	(_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
	instead of _S_lower_bound_tr
	(_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
	(_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
	instead of calling _S_lower_bound_tr.
	(_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
	(_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
	instead of calling _S_upper_bound_tr.
	(_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
	(_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
	(_Rb_tree::equal_range): Use _Base_ptr for end pointer.
	(_Rb_tree::_M_get_insert_unique_pos): Likewise.
	(_Rb_tree::_M_get_insert_equal_pos): Likewise.
	(_Rb_tree::_M_insert_equal_lower_node): Likewise.
	(_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
	_Rb_tree::_M_emplace_hint_unique): Remove static_cast.

From-SVN: r223746
2015-05-27 12:18:44 +01:00
Jonathan Wakely
2097b5b029 re PR libstdc++/66017 (Undefined behaviour in std::set<long long>)
PR libstdc++/66017
	* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
	(_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
	from _Base_ptr.
	(_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
	(_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
	* include/ext/aligned_buffer.h (__aligned_membuf): New type using
	alignment of _Tp as a member subobject, not as a complete object.
	* python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
	_Link_type manually as it might not be in the debug info.

From-SVN: r223745
2015-05-27 12:18:37 +01:00
Richard Biener
b1af7da612 tree-vect-stmts.c (vectorizable_load): Initialize slp_perm earlier and remove ??? comment.
2015-05-27  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
	earlier and remove ??? comment.
	(vect_analyze_stmt): If we are analyzing a pure SLP stmt
	and got called from loop analysis bail out.  Always pass the SLP
	node to the vectorizable_* functions.
	* tree-vect-loop.c (vect_analyze_loop_operations): Remove
	the premature SLP check here.
	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
	detected SLP stmts.
	(vect_detect_hybrid_slp_1): Likewise.

From-SVN: r223743
2015-05-27 10:31:11 +00:00
Andre Vehreschild
d4cecb1341 trans-stmt.c (gfc_trans_allocate): Add missing location information for e3rhs.
gcc/fortran/ChangeLog:

2015-05-27  Andre Vehreschild  <vehre@gmx.de>

	* trans-stmt.c (gfc_trans_allocate): Add missing location
	information for e3rhs.

gcc/testsuite/ChangeLog:

2015-05-27  Andre Vehreschild  <vehre@gmx.de>

	* gfortran.dg/allocate_with_source_5.f90: Correct errorneous
	semantic.
	* gfortran.dg/allocate_with_source_6.f90: New test.

From-SVN: r223738
2015-05-27 10:48:51 +02:00
Chung-Lin Tang
1716efeb6d target.c (gomp_map_pointer): New function abstracting out GOMP_MAP_POINTER handling.
2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>

	libgomp/
	* target.c (gomp_map_pointer): New function abstracting out
	GOMP_MAP_POINTER handling.
	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
	gomp_map_pointer().

From-SVN: r223737
2015-05-27 06:16:37 +00:00
Jeff Law
7553271edd combine.c (find_split_point): Verify that the shift count is a constant when...
* combine.c (find_split_point): Verify that the shift count is a
       constant when choosing (plus (ashift ...)) as a split point.

From-SVN: r223736
2015-05-26 22:59:42 -06:00
Jeff Law
7499cd25dc tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
* tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
        No functional changes.

From-SVN: r223734
2015-05-26 22:42:23 -06:00
Jan Hubicka
6acd8c92ef * ipa-polymorphic-call.c
(ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
	case when call target is already known.

From-SVN: r223733
2015-05-27 04:37:48 +00:00
GCC Administrator
c6b8c3adf9 Daily bump.
From-SVN: r223729
2015-05-27 00:16:16 +00:00
Doug Evans
419587a0bb xmethods.py (UniquePtrMethodsMatcher): Add operator-> support.
* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
	operator-> support.
	* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
	operator->.

From-SVN: r223723
2015-05-26 23:06:55 +00:00
Oleg Endo
afa5920a97 re PR target/65979 ([SH] Wrong code is generated with stage1 compiler)
PR target/65979
* config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and take into
  account the case that operands[1] and operands[2] are the same register.

From-SVN: r223721
2015-05-26 22:32:11 +00:00
Eric Botcazou
89d5c50bd1 trans.c (Attribute_to_gnu): Do not bother about NaN's if Machine_Overflows is true.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
	bother about NaN's if Machine_Overflows is true.

From-SVN: r223717
2015-05-26 20:42:20 +00:00
Eric Botcazou
545b492365 trans.c (gnat_to_gnu): Really force evaluation of the expression...
* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
	force evaluation of the expression, if any, when the object has its
	elaboration delayed.  Do not create a variable at global level.

From-SVN: r223716
2015-05-26 20:37:29 +00:00
Eric Botcazou
c68cdfac5b trans.c (Attribute_to_gnu): Do not apply extra-precision trick to literals.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
	extra-precision trick to literals.  Build SAVE_EXPR manually.

	* gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64.

From-SVN: r223715
2015-05-26 20:19:55 +00:00
Eric Botcazou
241125b2a1 ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
* gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
	(DECL_RENAMED_OBJECT): Adjust comment.
	* gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete.
	(invalidate_global_nonconstant_renamings): Likewise.
	(gnat_constant_reference_p): Likewise.
	(rewrite_fn): New function type.
	(gnat_rewrite_reference): Declare.
	(call_is_atomic_load): New inline predicate.
	* gcc-interface/decl.c (elaborate_reference_1): New function.
	(elaborate_reference): Likewise.
	(gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings
	and simplify associated code.  Set const_flag to true consistently in
 	conjunction with used_by_ref.
	* gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming
	pointers by renamed objects.
	(outer_atomic_access_required_p): Deal with renamings.
	(Compilation_Unit_to_gnu): Do not call
	invalidate_global_nonconstant_renamings.
	(gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment.
	(gnat_gimplify_expr): Deal with atomic loads.
	* gcc-interface/utils.c (global_nonconstant_renamings): Delete.
	(destroy_gnat_utils): Do not call
	invalidate_global_nonconstant_renamings.
	(record_global_nonconstant_renaming): Delete.
	(invalidate_global_nonconstant_renamings): Likewise.
	* gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h.
	(build_load_modify_store): Build a copy of the destination.
	(gnat_stabilize_reference_1): Adjust.
	(gnat_stabilize_reference): Call gnat_stabilize_reference_1 through
	gnat_rewrite_reference and move bulk of code to...
	(gnat_rewrite_reference): ...here.  New global function.
	(gnat_constant_reference_p): Delete.

From-SVN: r223709
2015-05-26 19:40:18 +00:00
Eric Botcazou
7194767cdf gigi.h (gnat_stabilize_reference): Adjust prototype.
* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag
 	to detect constant renamings.  Be prepared for specific pattern of
	renamed object based on function calls.  Create a constant object
	for the renaming of a NULL_EXPR or of a CONSTRUCTOR.  Adjust calls
	to gnat_stabilize_reference and tidy up.  Remove redundant tests.
	(elaborate_expression_1): Remove obsolete test and tidy up.
	* gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out
	parameters passed by reference.
	(gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again
	side-effects.
	Use gnat_protect_expr instead of gnat_stabilize_reference for general
	protection against side-effects.
	* gcc-interface/utils2.c (gnat_stable_expr_p): New predicate.
	(gnat_save_expr): Invoke it.
	(gnat_protect_expr): Likewise.
	(gnat_stabilize_reference_1): Likewise.  Remove useless propagation
	of TREE_THIS_NOTRAP.
	(gnat_stabilize_reference): Remove parameter and adjust throughout.
	Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases.
	Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case.

From-SVN: r223708
2015-05-26 19:18:15 +00:00
Andreas Tobler
517d07c980 jni.exp (gcj_jni_get_cxxflags_invocation): Add libiconv for FreeBSD to cxxflags.
2015-05-26  Andreas Tobler  <andreast@gcc.gnu.org>

    * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add
    libiconv for FreeBSD to cxxflags.

From-SVN: r223706
2015-05-26 20:31:49 +02:00
Manuel López-Ibáñez
815facd36d line-map.c (LINE_MAP_MAX_COLUMN_NUMBER LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION): New constants.
libcpp/ChangeLog:

2015-05-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* line-map.c (LINE_MAP_MAX_COLUMN_NUMBER
	LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION):
	New constants.
	(linemap_line_start): Use them.
	(linemap_position_for_column): Use them.

From-SVN: r223705
2015-05-26 17:12:28 +00:00
Michael Matz
cee62feed1 re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484)
PR middle-end/66251

	* tree-vect-stmts.c (vect_model_store_cost): Handled strided group
	stores.
	(vect_create_vectorized_demotion_stmts): Always set
	STMT_VINFO_VEC_STMT, also with SLP.
	(vectorizable_store): Handle strided group stores.

testsuite/:
	PR middle-end/66251
	* gcc.dg/vect/pr66251.c: New test.

From-SVN: r223704
2015-05-26 16:00:32 +00:00
Venkataramanan Kumar
dd1bdce418 re PR target/66049 (Few AArch64 extend and add with shift tests generates sub optimal code with trunk gcc 6.0.)
2015-05-26  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        PR target/66049
        * config/aarch64/aarch64.md
        (*adds_shift_imm_<mode>):  New pattern.
        (*subs_shift_imm_<mode>):  Likewise.
        (*adds_<optab><ALLX:mode>_shift_<GPI:mode>):  Likewise.
        (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
        (*add_uxt<mode>_shift2): Likewise.
        (*add_uxtsi_shift2_uxtw): Likewise.
        (*sub_uxt<mode>_shift2): Likewise.
        (*sub_uxtsi_shift2_uxtw): Likewise.

From-SVN: r223703
2015-05-26 15:32:02 +00:00
David Edelsohn
efac9d455f * config/rs6000/constraints.md (Y, U): Use match_test.
From-SVN: r223702
2015-05-26 11:16:35 -04:00