1. 25 Nov, 2015 19 commits
    • re PR fortran/68227 (ICE on using variable limit in forall header (gfc_do_allocate)) · 55250ed7
      2015-11-25  Steven G. Kargl  <kargl@gcc.gnu.org>
      
          PR fortran/68227
          * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into 
          into part of conditional statement.
      
      From-SVN: r230873
      Steven G. Kargl committed
    • re PR fortran/63858 (fixed form OpenACC directive ICE with -fopenacc -fopenmp) · aa81272c
      	PR fortran/63858
      
      	gcc/fortran/
      	* scanner.c (skip_oacc_attribute): Remove continue_flag parameter.
      	Rename as ...
      	(skip_free_oacc_sentinel): ... this.
      	(skip_omp_attribute): Remove continue_flag parameter. Rename as ...
      	(skip_free_omp_sentinel): ... this.
      	(skip_free_comments): Update to call skip_free_oacc_sentinel and
      	skip_free_omp_sentinel.
      	(skip_fixed_omp_sentinel): New function.
      	(skip_fixed_oacc_sentinel): New function.
      	(skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in
      	continuation.
      
      	gcc/testsuite/
      	* goacc/omp-fixed.f: New test.
      	* goacc/omp.f95: Add check for mis-matched omp and acc continuations.
      
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      
      From-SVN: r230872
      Ilmir Usmanov committed
    • re PR c++/68385 (ICE building libstdc++ on arm-none-eabi) · af11fcfd
      	PR c++/68385
      
      	* tree.c (integer_zerop, integer_onep, integer_each_onep)
      	(integer_all_onesp, integer_minus_onep, integer_pow2p)
      	(integer_nonzerop, integer_truep, tree_log2, tree_floor_log2)
      	(real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS.
      
      From-SVN: r230871
      Jason Merrill committed
    • re PR middle-end/68528 ([5 Only] Wrong constant folding) · 7dd663f5
      2015-11-25  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/68528
      	* fold-const.c (fold_binary_loc): Do not call negate_expr_p
      	on stripped operands.
      
      	* gcc.dg/torture/pr68528.c: New testcase.
      
      From-SVN: r230870
      Richard Biener committed
    • nvptx.c (walk_args_for_params): Delete. · 5ab662d5
      	* config/nvptx/nvptx.c (walk_args_for_params): Delete.
      	(nvptx_declare_function_name): Move assignments next to register
      	declarations, and process params here.
      
      From-SVN: r230869
      Nathan Sidwell committed
    • Improve tests for valid values of iostream bitmask types · 75837d7b
      	* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
      	check minimum and maximum values, and size of underlying type.
      	* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
      	* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
      
      From-SVN: r230868
      Jonathan Wakely committed
    • rs6000.c (rs6000_declare_alias): Rename and globalize both the symbol and the… · 7f085caf
      rs6000.c (rs6000_declare_alias): Rename and globalize both the symbol and the "dot" symbol for function descriptors.
      
      * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
      both the symbol and the "dot" symbol for function descriptors.  Fix
      inversion for rename of symbols with dollar sign.
      
      From-SVN: r230867
      David Edelsohn committed
    • Improve verification of loop->latch in verify_loop_structure · b81b8bca
      2015-11-25  Tom de Vries  <tom@codesourcery.com>
      
      	* cfgloop.c (find_single_latch): New function, factored out of ...
      	(flow_loops_find): ... here.
      	(verify_loop_structure): Improve verification of loop->latch.
      	* cfgloop.h (find_single_latch): Declare.
      	* omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
      
      From-SVN: r230866
      Tom de Vries committed
    • Port libvtv to Solaris · e5ef217c
      	libstdc++-v3:
      	* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
      	-Wl,-R in VTV_CXXLINKFLAGS.
      	* configure: Regenerate.
      
      	* testsuite/18_support/bad_exception/23591_thread-1.c: Use
      	-fvtable-verify=none on Solaris 12+.
      
      	libgcc:
      	* Makefile.in (VTV_CFLAGS): New variable.
      	(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
      	(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
      	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
      	Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
      	to extra_parts if $enable_vtable_verify = yes.
      
      	libvtv:
      	* configure.tgt (*-*-solaris2.[1-9]*): Declare supported.
      	* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
      	<*-*-solaris2*>: Check for init priority support.
      	Check for getexecname, __fortify_fail, _obstack_begin.
      	(VTV_NO_OBSTACK): New conditional.
      	* configure: Regenerate.
      	* Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition.
      	Create empty config.h
      	* Makefile.in: Regenerate.
      
      	* vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New
      	variable.
      	(read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it.
      	(dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it.
      
      	(__fortify_fail): Wrap in HAVE___FORTIFY_FAIL
      	[!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation.
      
      	(read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE.
      	(iterate_modules): Fix typo.
      	Use VTV_PAGE_SIZE.
      	(dl_iterate_phdr_callback): Fix typo.
      	Use VTV_PAGE_SIZE.
      	(__VLTChangePermission): Fix typos.
      
      	include:
      	* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
      	__sparc__]: Define.
      
      	gcc:
      	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
      	(STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
      	(STARTFILE_SPEC): Use %(startfile_vtv).
      	(ENDFILE_SPEC): Use %(endfile_vtv).
      	(SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
      	ENDFILE_VTV_SPEC.
      
      	* gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.
      
      From-SVN: r230865
      Rainer Orth committed
    • Remove broken ifcvt code for speculating memory writes · 70927cae
      	* ifcvt.c (noce_mem_write_may_trap_or_fault_p,
      	noce_can_store_speculate): Delete.
      	(noce_process_if_block): Don't try to handle single MEM stores.
      	* rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
      	* alias.c (memory_must_be_modified_in_insn_p): Delete.
      
      From-SVN: r230864
      Bernd Schmidt committed
    • re PR c++/58910 (std::Tuple_impl is non constexpr when using identical… · 136108a1
      re PR c++/58910 (std::Tuple_impl is non constexpr when using identical userdefined structs as template-args)
      
      2015-11-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58910
      	* g++.dg/cpp0x/constexpr-tuple2.C: New.
      
      From-SVN: r230860
      Paolo Carlini committed
    • [RTL-ifcvt] PR rtl-optimization/68435 Allow (c ? x++ : x--) form · 9b71b2ab
      	PR rtl-optimization/68435
      	* ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
      	for conflicts between a, b and the set destinations.
      
      	* gcc.dg/pr68435.c: New test.
      
      From-SVN: r230859
      Kyrylo Tkachov committed
    • re PR tree-optimization/68517 (ICE in tree-vect-data-refs.c:2751) · 514c0e7c
      2015-11-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68517
      	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
      	Properly handle zero-sized types.
      
      	* gcc.dg/torture/pr68517.c: New testcase.
      
      From-SVN: r230858
      Richard Biener committed
    • ipa-inline-analysis.c: Include gimplify.h (set_cond_stmt_execution_predicate... · 80d39568
      	* ipa-inline-analysis.c: Include gimplify.h
      	(set_cond_stmt_execution_predicate,
      	set_switch_stmt_execution_predicate): Be sure to not leak locations
      	to function body.
      
      From-SVN: r230857
      Jan Hubicka committed
    • re PR target/67089 (Integer overflow checks not optimized on x86/x86_64) · 6837d899
      	PR target/67089
      	* tree-ssa-math-opts.c (uaddsub_overflow_check_p,
      	match_uaddsub_overflow): New functions.
      	(pass_optimize_widening_mul::execute): Call match_uaddsub_overflow.
      
      	* gcc.dg/pr67089-1.c: New test.
      	* gcc.dg/pr67089-2.c: New test.
      	* gcc.dg/pr67089-3.c: New test.
      	* gcc.dg/pr67089-4.c: New test.
      	* gcc.dg/pr67089-5.c: New test.
      	* gcc.dg/pr67089-6.c: New test.
      	* gcc.dg/pr67089-7.c: New test.
      
      From-SVN: r230856
      Jakub Jelinek committed
    • re PR tree-optimization/68492 (internal compiler error: in vect_is_simple_use,… · 85c69b0b
      re PR tree-optimization/68492 (internal compiler error: in vect_is_simple_use, at tree-vect-stmts.c:8266)
      
      2015-11-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68492
      	* tree-vect-slp.c (vect_build_slp_tree): Consistently build up
      	op from scalars after operand swapping.
      
      From-SVN: r230855
      Richard Biener committed
    • re PR tree-optimization/68502 ([i686] spec2000/179.art runfails after r222914) · 993a6bd9
      2015-11-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68502
      	* tree-vect-data-refs.c (vect_analyze_group_access_1): Restore
      	check that the step is a multiple of the type size.
      
      	* gcc.dg/vect/pr68502-1.c: New testcase.
      	* gcc.dg/vect/pr68502-2.c: Likewise.
      
      From-SVN: r230854
      Richard Biener committed
    • 2015-11-24 Michael Collison <michael.collison@linaro.org> · b1b49824
      	* config/aarch64/aarch64-simd.md (widen_ssum, widen_usum)
      	(aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns
      	* config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes.
      	* gcc.target/aarch64/saddw-1.c: New test.
      	* gcc.target/aarch64/saddw-2.c: New test.
      	* gcc.target/aarch64/uaddw-1.c: New test.
      	* gcc.target/aarch64/uaddw-2.c: New test.
      	* gcc.target/aarch64/uaddw-3.c: New test.
      	* lib/target-support.exp
      	(check_effective_target_vect_widen_sum_hi_to_si_pattern):
      	Add aarch64 to list of support targets.
      
      From-SVN: r230853
      Michael Collison committed
    • Daily bump. · 17a0986a
      From-SVN: r230850
      GCC Administrator committed
  2. 24 Nov, 2015 21 commits
    • Fix typos from last checkin. · 68f7710b
      From-SVN: r230847
      Steve Ellcey committed
    • frame-header-4.c: New test. · 4607d370
      2015-11-24  Steve Ellcey  <sellcey@imgtec.com>
      
      	* gcc.target/mips/frame-header-4.c: New test.
      
      From-SVN: r230846
      Steve Ellcey committed
    • frame-header-opt.c (gate): Check for optimize > 0. · 0bfbc166
      2015-11-24  Steve Ellcey  <sellcey@imgtec.com>
      
      	* frame-header-opt.c (gate): Check for optimize > 0.
      	(has_inlined_assembly): New function.
      	(needs_frame_header_p): Remove is_leaf_function check,
      	add argument type check.
      	(callees_functions_use_frame_header): Add is_leaf_function
      	and has_inlined_assembly calls..
      	(set_callers_may_not_allocate_frame): New function.
      	(frame_header_opt): Add is_leaf_function call, add
      	set_callers_may_not_allocate_frame call.
      	* config/mips/mips.c (mips_compute_frame_info): Add check
      	to see if callee saved regs can be put in frame header.
      	(mips_expand_prologue): Add check to see if step1 is zero,
      	fix cfa restores when using frame header to store regs.
      	(mips_can_use_return_insn): Check to see if registers are
      	stored in frame header.
      	* config/mips/mips.h (machine_function): Add
      	callers_may_not_allocate_frame and
      	use_frame_header_for_callee_saved_regs fields.
      
      From-SVN: r230845
      Steve Ellcey committed
    • shrink-wrap: Fix thinko (PR68520) · 82ad5144
      Part of the shrink-wrapping algorithm has this comment:
      
        /* Now see if we can put the prologue at the start of PRO.  Putting it
           there might require duplicating a block that cannot be duplicated,
           or in some cases we cannot insert the prologue there at all.  If PRO
           wont't do, try again with the immediate dominator of PRO, and so on.
      
           The blocks that need duplicating are those reachable from PRO but
           not dominated by it.  We keep in BB_WITH a bitmap of the blocks
           reachable from PRO that we already found, and in VEC a stack of
           those we still need to consider (to find successors).  */
      
      Two of the cases that push to that stack do not actually check the
      bitmap first.  Either I thought those blocks could not be on the stack
      already, or more likely I didn't think and it just didn't crash during
      any testing.  But of course those blocks *can* already be on the stack
      (if you have a hideous loop structure), and then we end up with the
      same block on the stack more than once.  This is harmless, except that
      (like in the PR) this can overflow the stack.
      
      This fixes it, by doing the necessary bitmap checks before pushing.
      
      
      	PR rtl-optimization/68520
      	* shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if
      	its bit was already set in BB_WITH.
      
      From-SVN: r230843
      Segher Boessenkool committed
    • c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING" with "if… · 688c4de0
      c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING" with "if (ENABLE_OFFLOADING)".
      
      gcc/c/
      	* c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
      	with "if (ENABLE_OFFLOADING)".
      gcc/cp/
      	* parser.c (cp_parser_oacc_declare): replace "ifdef enable_offloading"
      	with "if (enable_offloading)".
      
      From-SVN: r230842
      Ilya Verbin committed
    • alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P double check… · ba6a6a1d
      alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P double check that type is main variant.
      
      
      	* alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
      	double check that type is main variant.
      	* tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
      	variant.
      	(verify_type_variant): Verify that variants have no
      	TYPE_ALIAS_SET_KNOWN_P set
      	* tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
      	streaming so constant fields come first; stream TYPE_ALIAS_SET==0
      	only for main variants; stream TYPE_ALIAS_SET as a bit.
      	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
      	accordingly.
      
      From-SVN: r230838
      Jan Hubicka committed
    • tree.c (make_vector_type): Properly compute canonical type of the main variant. · 0b87a9a2
      	* tree.c (make_vector_type): Properly compute canonical type of the
      	main variant.
      	(verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is
      	a main variant.
      
      From-SVN: r230837
      Jan Hubicka committed
    • nvptx.c (maybe_split_mode): Return new mode or VOIDmode, don't alter incoming mode. · d7479262
      	* config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
      	VOIDmode, don't alter incoming mode.
      	(nvptx_split_reg_p): Delete.
      	(write_one_arg, walk_args_for_param, nvptx_declare_function_name,
      	write_func_decl_from_insn, nvptx_output_call_insn): Adjust
      	maybe_split_mode calls.
      	(nvptx_print_operand): Use maybe_split_mode.
      
      From-SVN: r230836
      Nathan Sidwell committed
    • lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL only for… · aea50b45
      lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL only for types where LTO sets them.
      
      	* lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
      	only for types where LTO sets them.
      	* tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO.
      	(make_vector_type): Likewise.
      	(gimple_canonical_types_compatible_p): Use canonical_type_used_p.
      	* tree.h (canonical_type_used_p): New inline.
      	* alias.c (get_alias_set): Handle structural equality for all
      	types that pass canonical_type_used_p.
      	(record_component_aliases): Look through all types with
      	record_component_aliases for possible pointers; sanity check that
      	the alias sets match.
      
      	* lto.c (iterative_hash_canonical_type): Recruse for all types
      	which pass !canonical_type_used_p.
      	(gimple_register_canonical_type_1): Sanity check we do not compute
      	canonical type of anything with !canonical_type_used_p.
      	(gimple_register_canonical_type): Skip all types that are
      	!canonical_type_used_p
      
      From-SVN: r230835
      Jan Hubicka committed
    • rs6000.md (lround<mode>di2): Remove constraints. · 73c92330
      2015-11-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.md (lround<mode>di2): Remove constraints.
      
      From-SVN: r230834
      Michael Meissner committed
    • tree.c (free_node): New function. · deb3dae6
      	* tree.c (free_node): New function.
      	(type_hash_canon): Use it.
      	* tree.h (free_node): Declare.
      	* lto.c (unify_scc): Use free_node.
      
      From-SVN: r230833
      Jan Hubicka committed
    • re PR fortran/68486 (187.facerec in SPEC CPU 2000 failed to build) · d7dc0f80
      2015-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68486
      	* simplify.c (gfc_simplify_cshift): Allow all EXPR_*.
      
      2015-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68486
      	* gfortran.dg/simplify_cshift_3.f90
      
      From-SVN: r230832
      Steven G. Kargl committed
    • fix ChangeLog · 68ea24cb
      From-SVN: r230831
      Michael Meissner committed
    • fix ChangeLog · c30e691b
      From-SVN: r230830
      Michael Meissner committed
    • rs6000.md (UNSPEC_XSRDPI): New unspec. · b6b3661a
      2015-11-24  David Edelsohn  <dje.gcc@gmail.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
      	(Fv2): New mode attribute to be used when ISA 2.06 instructions
      	are used on SF/DF values.
      	(abs<mode>2_fpr): Use <Fv2> instead of <Fv>.
      	(nabs<mode>2_fpr): Likewise.
      	(neg<mode>2_fpr): Likewise.
      	(copysign<mode>3_fcpsgn): Likewise.
      	(smax<mode>3_vsx): Likewise.
      	(smin<mode>3_vsx): Likewise.
      	(floatsi<mode>2_lfiwax): Likewise.
      	(floatunssi<mode>2_lfiwz): Likewise.
      	(fctiwz_<mode>): Likewise.
      	(fctiwuz_<mode>): Likewise.
      	(btrunc<mode>2): Likewise.
      	(ceil<mode>2): Likewise.
      	(floor<mode>2): Likewise.
      	(xsrdpi<mode>): Add support for the lround function.
      	(lround<mode>2): Likewise.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      
      From-SVN: r230829
      David Edelsohn committed
    • re PR c++/68278 (internal compiler error with C++14 polymorphic lambda and type alias) · 4ade0d69
      2015-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/68278
      	* g++.dg/cpp1y/pr68278.C: New.
      
      From-SVN: r230828
      Paolo Carlini committed
    • re PR c++/68388 (incomplete type bug when using decltype) · 660f3dc7
      2015-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/68388
      	* g++.dg/cpp1y/pr68388.C: New.
      
      From-SVN: r230827
      Paolo Carlini committed
    • fix PR67984: check for constants in rename map · ff17c262
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r230826
      Aditya Kumar committed
    • move all declarations to a same .h file · cf98f0f4
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r230825
      Aditya Kumar committed
    • DWARF: materialize subprogram renamings in Ada as imported declarations · caadda8e
      ... so that debugger users can reference them instead of the renamed
      subprograms.  This is in accordance with the DWARF specification: the
      section 3.2.3 (Imported (or Renamed) Declaration Entities) allows
      DW_TAG_imported_declaration DIEs to be used "as a general means to
      rename or provide an alias for an entity regardless of the context in
      which the importing declaration or the imported entity occur." (wording
      from the DWARFv3 and DWARFv4 specifications, allowed in DWARFv2).
      
      gcc/ada/ChangeLog:
      
      	* gcc-interface/utils.c (gnat_write_global_declarations): Output
      	debugging information for top-level imported declarations.
      
      gcc/ChangeLog:
      
      	* dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead
      	of DW_TAG_namespace for IMPORTED_DECL declarations.  Call
      	dwarf2out_imported_module_or_decl_1 for all DWARF versions as
      	this function already takes care of checking what it can emit.
      
      Bootstrapped, regtested and checked with GDB's testsuite on
      x86_64-linux.
      
      From-SVN: r230821
      Pierre-Marie de Rodat committed
    • [AArch64] Documentation fix for -fpic · 16a21ab3
      gcc/
      	* doc/invoke.texi (-fpic): Add the AArch64 limit.
      	(-fPIC): Add AArch64.
      
      From-SVN: r230819
      Szabolcs Nagy committed