1. 27 May, 2015 30 commits
    • * warnings.m4: Fix comment. · 0e963bec
      From-SVN: r223774
      Jason Merrill committed
    • re PR c++/66270 (ICE: canonical types differ for identical types) · b6cb06b4
      	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
      Nathan Sidwell committed
    • trans.c (elaborate_all_entities): Do not elaborate an incomplete type coming… · 73b4a60f
      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
      Eric Botcazou committed
    • futex.h (sys_futex0): Change operand "op" to long. · ea023bcf
      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
      Uros Bizjak committed
    • expr.h (array_at_struct_end_p): Move to... · 8974754f
      	* 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
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Move down code applying atomic checks to the object. · e590690e
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
      	code applying atomic checks to the object.
      
      From-SVN: r223767
      Eric Botcazou committed
    • [PATCH 3/13] aarch64 musl support · b6840fb7
      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
      Gregor Richards committed
    • config.host (i[34567]86-*-freebsd*, [...]): Set md_unwind_header · 89c54dd3
              * config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Set
              md_unwind_header
              * config/i386/freebsd-unwind.h: New.
      
      From-SVN: r223765
      John Marino committed
    • re PR bootstrap/66304 (Can't bootstrap on x86_64-linux-gnu with gcc 4.3.4) · ff771de3
      	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
      Jason Merrill committed
    • auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is true. · 650a202b
      	* auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is
      	true.
      
      From-SVN: r223762
      Aditya Kumar committed
    • * statistics.c (statistics_fini_pass): Print pass name. · ec09a694
      From-SVN: r223761
      Aditya Kumar committed
    • re PR tree-optimization/66272 (wrong code at -O3 on x86_64-linux-gnu) · f3ae4add
      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
      Richard Biener committed
    • dwarf2out.c: Remove block_map. · 70660539
      	* 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
      Aldy Hernandez committed
    • slp-reduc-7.c: New testcase. · d586cedd
      2015-05-27  Richard Biener  <rguenther@suse.de>
      
      	* gcc.dg/vect/slp-reduc-7.c: New testcase.
      
      From-SVN: r223756
      Richard Biener committed
    • [multiple changes] · 50ef946c
      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
      Arnaud Charlet committed
    • [expr.c] PR target/65358 Avoid clobbering partial argument during sibcall · 99206968
      	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
      Kyrylo Tkachov committed
    • [multiple changes] · 66371f94
      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
      Arnaud Charlet committed
    • [multiple changes] · 0c6826a5
      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
      Arnaud Charlet committed
    • LTO balanced map: add stats about insns and symbols. · faae53f8
      	* 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
      Martin Liska committed
    • [PATCH 4/13] arm musl support · 4d45be53
      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
      Gregor Richards committed
    • New memory allocation statistics infrastructure. · 2d44c7de
      	* 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
      Martin Liska committed
    • stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr instead of downcasting. · 151fbaac
      	* 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
      Jonathan Wakely committed
    • re PR libstdc++/66017 (Undefined behaviour in std::set<long long>) · 2097b5b0
      	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
      Jonathan Wakely committed
    • tree-vect-stmts.c (vectorizable_load): Initialize slp_perm earlier and remove ??? comment. · b1af7da6
      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
      Richard Biener committed
    • trans-stmt.c (gfc_trans_allocate): Add missing location information for e3rhs. · d4cecb13
      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
      Andre Vehreschild committed
    • target.c (gomp_map_pointer): New function abstracting out GOMP_MAP_POINTER handling. · 1716efeb
      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
      Chung-Lin Tang committed
    • combine.c (find_split_point): Verify that the shift count is a constant when... · 7553271e
             * combine.c (find_split_point): Verify that the shift count is a
             constant when choosing (plus (ashift ...)) as a split point.
      
      From-SVN: r223736
      Jeff Law committed
    • tree-ssa-threadupdate.c: Replace 8 space sequences with tabs. · 7499cd25
              * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
              No functional changes.
      
      From-SVN: r223734
      Jeff Law committed
    • * ipa-polymorphic-call.c · 6acd8c92
      	(ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
      	case when call target is already known.
      
      From-SVN: r223733
      Jan Hubicka committed
    • Daily bump. · c6b8c3ad
      From-SVN: r223729
      GCC Administrator committed
  2. 26 May, 2015 10 commits
    • xmethods.py (UniquePtrMethodsMatcher): Add operator-> support. · 419587a0
      	* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
      	operator-> support.
      	* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
      	operator->.
      
      From-SVN: r223723
      Doug Evans committed
    • re PR target/65979 ([SH] Wrong code is generated with stage1 compiler) · afa5920a
      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
      Oleg Endo committed
    • trans.c (Attribute_to_gnu): Do not bother about NaN's if Machine_Overflows is true. · 89d5c50b
      	* 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
      Eric Botcazou committed
    • trans.c (gnat_to_gnu): Really force evaluation of the expression... · 545b4923
      	* 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
      Eric Botcazou committed
    • trans.c (Attribute_to_gnu): Do not apply extra-precision trick to literals. · c68cdfac
      	* 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
      Eric Botcazou committed
    • ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete · 241125b2
      	* 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
      Eric Botcazou committed
    • gigi.h (gnat_stabilize_reference): Adjust prototype. · 7194767c
      	* 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
      Eric Botcazou committed
    • jni.exp (gcj_jni_get_cxxflags_invocation): Add libiconv for FreeBSD to cxxflags. · 517d07c9
      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
      Andreas Tobler committed
    • line-map.c (LINE_MAP_MAX_COLUMN_NUMBER… · 815facd3
      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
      Manuel López-Ibáñez committed
    • re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484) · cee62fee
      	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
      Michael Matz committed