1. 01 Nov, 2016 13 commits
  2. 31 Oct, 2016 27 commits
    • driver-aarch64.c (host_detect_local_cpu): Rewrite handling of part num to handle… · bd5849af
      driver-aarch64.c (host_detect_local_cpu): Rewrite handling of part num to handle the case where multiple implementers...
      
      2016-10-31  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/driver-aarch64.c (host_detect_local_cpu):
              Rewrite handling of part num to handle the case where
              multiple implementers share the same part num.
      
      From-SVN: r241726
      Andrew Pinski committed
    • dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): Adjust for -gdwarf-5. · 8628bc67
      	* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): Adjust for -gdwarf-5.
      	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Likewise.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r241725
      Jan Kratochvil committed
    • dwarf2out.c (dwarf_AT): Handle DW_AT_dwo_name. · 13c21337
      	* dwarf2out.c (dwarf_AT): Handle DW_AT_dwo_name.
      	(use_debug_types): Adjust comment for DWARF5 DW_UT_type units.
      	(new_die): Handle DW_TAG_skeleton_unit like DW_TAG_compile_unit.
      	(is_cu_die, is_unit_die): Likewise.
      	(should_move_die_to_comdat, break_out_comdat_types): Adjust
      	comments for DWARF5 DW_UT_type units.
      	(output_compilation_unit_header): Add UT argument, output
      	start of DWARF5 .debug_info section header.
      	(output_comp_unit): Add dwo_id argument.  Adjust
      	output_compilation_unit_header caller, for DW_UT_split_compile
      	emit dwo_id field, otherwise padding1.  Emit padding2 field.
      	(add_top_level_skeleton_die_attrs): Add DW_AT_dwo_name
      	rather than DW_AT_GNU_dwo_name attr for -gdwarf-5.
      	(output_skeleton_debug_sections): Add dwo_id argument, for
      	-gdwarf-5 emit DWARF 5 DW_UT_skeleton header.
      	(output_comdat_type_unit): For -gdwarf-5 emit .debug_info
      	DW_UT_type or DW_UT_split_type units rather than .debug_types.
      	(dwarf2out_finish): Use DW_TAG_skeleton_unit rather than
      	DW_TAG_compile_unit for skeleton unit die.  Don't add
      	DW_AT_GNU_dwo_id attributes for -gdwarf-5, instead pass checksum
      	address to output_comp_unit and output_skeleton_debug_sections.
      
      From-SVN: r241724
      Jakub Jelinek committed
    • dwarf2out.c (debug_line_str_section): New variable. · 3aa46b47
      	* dwarf2out.c (debug_line_str_section): New variable.
      	(debug_line_str_hash): Likewise.
      	(DEBUG_LINE_STR_SECTION): Define.
      	(set_indirect_string): Handle DW_FORM_line_strp like
      	DW_FORM_strp.
      	(find_string_form): Fix up formatting.
      	(size_of_die): Handle DW_FORM_line_strp like DW_FORM_strp.
      	Fix up indentation.
      	(output_die): Handle DW_FORM_line_strp.
      	(DWARF5_USE_DEBUG_LINE_STR): Define.
      	(output_line_string): New function.
      	(output_file_names): Add -gdwarf-5 support.
      	(output_line_info): Likewise.
      	(init_sections_and_labels): Initialize debug_line_str_section.
      	(output_indirect_string): Change 2nd argument from void *
      	to enum dwarf_form form, compare with form rather than
      	DW_FORM_strp.
      	(output_indirect_strings): Pass DW_FORM_strp to
      	output_indirect_string traversion.
      	(dwarf2out_finish): Output .debug_line_str strings.
      	(dwarf2out_c_finalize): Clear debug_line_str_section and
      	debug_line_str_hash.
      
      From-SVN: r241723
      Jakub Jelinek committed
    • re PR debug/77315 (emit DW_OP_form_tls_address) · f3a5a02f
      	PR debug/77315:
      	* dwarf2out.c (mem_loc_descriptor): Use DW_OP_form_tls_address.
      	(resolve_args_picking_1): Move DW_OP_form_tls_address case next to
      	DW_OP_GNU_push_tls_address case.
      	(loc_list_from_tree_1): Use DW_OP_form_tls_address.
      
      From-SVN: r241721
      Tom Tromey committed
    • re PR fortran/54679 (Erroneous "Expected P edit descriptor" in conjunction with L descriptor) · 120a4c45
      2016-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/54679
      	* io.c (check_format): Adjust checks for FMT_L to treat a zero
      	width as an extension, giving warnings or error as appropriate.
      	Improve messages.
      	PR libgfortran/54679
      	* io/format.c (parse_format_list): Adjust checks for FMT_L to
      	treat a zero width as an extension, giving warnings or error
      	as appropriate. Improve messages.
      	PR fortran/54679
      	* gfortran.dg/fmt_l.f90: Update test.
      	* gfortran.dg/fmt_l0.f90: New test.
      
      From-SVN: r241720
      Jerry DeLisle committed
    • dwarf2out.h (struct dw_loc_descr_node): Adjust comment for frame_offset_rel bit. · 5cea3ad6
      	* dwarf2out.h (struct dw_loc_descr_node): Adjust comment
      	for frame_offset_rel bit.
      	(struct array_descr_info): Add rank field.
      	* dwarf2out.c (struct loc_descr_context): Add placeholder_arg
      	and placeholder_seen fields.
      	(resolve_args_picking_1): Handle also frame_offset_rel DW_OP_dup
      	and DW_OP_over.  Optimize DW_OP_pick 0 into DW_OP_dup and
      	DW_OP_pick 1 into DW_OP_over.
      	(function_to_dwarf_procedure, type_byte_size, field_byte_offset,
      	gen_variant_part): Clear placeholder_{arg,seen}.
      	(loc_list_from_tree_1): Drop const from context argument.
      	Handle integral PLACEHOLDER_EXPR if context->placeholder_arg.
      	(loc_list_for_address_of_addr_expr_of_indirect_ref,
      	loc_list_from_tree, loc_descriptor_from_tree): Drop const from
      	context argument.
      	(add_scalar_info): Drop const from context argument.  Handle
      	context->placeholder_arg.
      	(add_bound_info): Drop const from context argument.
      	(gen_descr_array_type_die): Drop const from ctx variable.
      	Initialize placeholder_arg and placeholder_seen.  Add DW_AT_rank
      	attribute and use a single DW_TAG_generic_subrange instead of
      	7 DW_TAG_subrange_type for assumed rank arrays.
      fortran/
      	* trans-types.c (gfc_get_array_descr_info): For -gdwarf-5 or
      	-gno-strict-dwarf, handle assumed rank arrays the way dwarf2out
      	expects.
      ada/
      	* gcc-interface/misc.c (gnat_get_array_descr_info): Clear rank
      	field.
      
      From-SVN: r241719
      Jakub Jelinek committed
    • dwarf2out.h (enum dw_val_class): Add dw_val_class_loclistsptr. · 2a3d56bf
      	* dwarf2out.h (enum dw_val_class): Add dw_val_class_loclistsptr.
      	* dwarf2out.c (struct dw_loc_list_struct): Change emitted field
      	from bool to 1-bit uchar bitfield.  Add num_assigned and
      	offset_emitted bitfields.
      	(dw_val_equal_p): Compare v.val_lbl_id rather than v.val_unsigned
      	for dw_val_class_lineptr and dw_val_class_macptr.  Handle
      	dw_val_class_loclistsptr.
      	(new_addr_loc_descr): Fix up formatting.
      	(DEBUG_LOCLISTS_SECTION, DEBUG_DWO_LOCLISTS_SECTION): Define.
      	(add_AT_low_high_pc): Fix up formatting.
      	(add_AT_loclistsptr): New function.
      	(AT_lbl): Allow dw_val_class_loclistsptr.
      	(print_dw_val, attr_checksum, attr_checksum_ordered, same_dw_val_p):
      	Handle dw_val_class_loclistsptr.
      	(loc_list_idx): New variable.
      	(output_loclists_offsets, assign_location_list_indexes): New
      	functions.
      	(size_of_die): For dw_val_class_loc_list -gsplit-dwarf -gdwarf-5
      	add size_of_uleb128 of the index.  Drop never used
      	dwarf_split_debug_info AT_index handling.  Handle
      	dw_val_class_loclistsptr.
      	(value_format): Return DW_FORM_loclistsx for dw_val_class_loc_list
      	if -gsplit-dwarf -gdwarf-5.  Handle dw_val_class_loclistsptr.
      	(output_loc_list): Handle DWARF 5 .debug_loclists* format.
      	(output_loc_list_offset): Handle -gsplit-dwarf -gdwarf-5
      	DW_FORM_loclistx indexes.
      	(output_attr_index_or_value): Fix up formatting.  Don't handle
      	dw_val_class_loc_list here.
      	(output_die): Formatting fixes.  Handle dw_val_class_loclistsptr.
      	For dw_val_class_loc_list call output_loc_list_offset rather than
      	output_attr_index_or_value.
      	(init_sections_and_labels): For -gdwarf-5 use .debug_loclists
      	or .debug_loclists.dwo section name for debug_loc_section.
      	(resolve_addr_in_expr): Formatting fix.
      	(index_location_lists): Likewise.
      	(dwarf2out_finish): If there are any location lists, for
      	-gsplit-dwarf -gdwarf-5 add DW_AT_loclists_base attribute.  Call
      	index_location_lists only if have_location_lists.  Call
      	assign_location_list_indexes for -gsplit-dwarf -gdwarf-5.  Emit
      	.debug_loclists{,.dwo} section header for -gdwarf-5, for -gdwarf-5
      	-gsplit-dwarf also emit offset table.
      
      From-SVN: r241718
      Jakub Jelinek committed
    • dwarf2out.c (DWARF_LARGEST_DATA_FORM_BITS): Define. · 25f40934
      	* dwarf2out.c (DWARF_LARGEST_DATA_FORM_BITS): Define.
      	(size_of_die, value_format, output_die): Use
      	DW_FORM_data16 for 128-bit dw_val_class_const_double or
      	dw_val_class_wide_int.
      
      From-SVN: r241714
      Jakub Jelinek committed
    • dwarf2out.c (dwarf_op): Renamed to ... · 7786b6ac
      	* dwarf2out.c (dwarf_op): Renamed to ...
      	(dwarf_OP): ... this.
      	(convert_descriptor_to_mode, scompare_loc_descriptor,
      	minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
      	implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr): Adjust
      	callers.
      	(dwarf_AT, dwarf_TAG): New functions.
      	(check_die): Disallow DW_AT_call_all_calls next to
      	DW_AT_GNU_all_call_sites.
      	(gen_call_site_die): Use dwarf_TAG and dwarf_AT with DWARF 5 tag
      	and attributes instead of the corresponding GNU tag and attributes.
      	(gen_subprogram_die): Likewise.  Emit call site information even
      	for -gdwarf-5 -gstrict-dwarf.  Replace DW_AT_GNU_defaulted with
      	DW_AT_defaulted in comment.
      	(resolve_addr): Handle DW_AT_call_origin attribute on
      	DW_TAG_call_site DIE like DW_AT_abstract_origin on
      	DW_TAG_GNU_call_site DIE.
      
      From-SVN: r241713
      Jakub Jelinek committed
    • dwarf2out.c (dwarf_op): New function. · 23157abc
      	* dwarf2out.c (dwarf_op): New function.
      	(size_of_loc_descr): Handle DW_OP_{implicit_pointer,entry_value},
      	DW_OP_{const,regval,deref}_type and DW_OP_{convert,reinterpret}.
      	(output_loc_operands, output_loc_operands_raw): Likewise.
      	(resolve_args_picking_1, prune_unused_types_walk_loc_descr,
      	mark_base_types, hash_loc_operands, compare_loc_operands): Likewise.
      	(resolve_addr_in_expr): Likewise.  Only punt for !dwarf_strict
      	if dwarf_version < 5.
      	(convert_descriptor_to_mode): Use dwarf_op (DW_OP_xxx) instead of
      	DW_OP_GNU_xxx.
      	(scompare_loc_descriptor, ucompare_loc_descriptor,
      	minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
      	implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr,
      	optimize_location_into_implicit_ptr): Likewise.  Only punt for
      	!dwarf_strict if dwarf_version < 5.
      	(string_cst_pool_decl): Adjust comment.
      	(non_dwarf_expression): Handle DW_OP_implicit_pointer.
      
      From-SVN: r241712
      Jakub Jelinek committed
    • re PR c++/77886 (-Wimplicit-fallthrough: breaks duff's device (in function templates)) · 9782e1ec
      	PR c++/77886
      	* pt.c (tsubst_expr) <case CASE_LABEL_EXPR> Copy over
      	FALLTHROUGH_LABEL_P flag to the new LABEL_DECL.
      	(tsubst_expr) <case LABEL_EXPR>: Likewise.
      
      	* g++.dg/warn/Wimplicit-fallthrough-2.C: New test.
      
      From-SVN: r241711
      Jakub Jelinek committed
    • re PR c++/78089 (__builtin_shuffle parsing bug) · c5fed5c6
      	PR c++/78089
      	* parser.c (cp_parser_postfix_expression): Replace return statement in
      	the first switch with setting postfix_expression to the return
      	expression and break;.
      
      	* c-c++-common/builtin-shuffle-1.c: New test.
      	* g++.dg/cpp0x/addressof3.C: New test.
      
      From-SVN: r241710
      Jakub Jelinek committed
    • dwarf2out.h (enum dw_val_class): Add dw_val_class_const_implicit... · f04c1e0a
      	* dwarf2out.h (enum dw_val_class): Add dw_val_class_const_implicit,
      	dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
      	(struct dw_val_node): Add val_file_implicit field.
      	* dwarf2out.c (dw_val_equal_p, print_dw_val, attr_checksum,
      	attr_checksum_ordered, same_dw_val_p, size_of_die, value_format,
      	output_die): Handle dw_val_class_const_implicit,
      	dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
      	(abbrev_die_table): Change into va_gc vec.
      	(abbrev_die_table_allocated, abbrev_die_table_in_use,
      	ABBREV_DIE_TABLE_INCREMENT): Remove.
      	(AT_int, AT_unsigned, AT_file): Allow dw_val_class_*_implicit.
      	(abbrev_opt_start, abbrev_usage_count, sorted_abbrev_dies): New
      	variables.
      	(build_abbrev_table): Adjust for abbrev_die_table being a va_gc vec.
      	If abbrev_opt_start, fill in abbrev_usage_count and abbrev_dies
      	vectors.
      	(die_abbrev_cmp, optimize_implicit_const, optimize_abbrev_table): New
      	functions.
      	(output_die_abbrevs): For DW_FORM_implicit_const emit sleb128 with
      	the implicit value.
      	(output_abbrev_section): Adjust for abbrev_die_table being a va_gc
      	vec.
      	(output_comp_unit): Initialize abbrev_opt_start if emitting the main
      	unit.  Call optimize_abbrev_table.
      	(dwarf2out_init, dwarf2out_finish, dwarf2out_c_finalize): Adjust for
      	abbrev_die_table being a va_gc vec.
      
      From-SVN: r241709
      Jakub Jelinek committed
    • Add tests for a const member and a reference member for launder. · aee69156
      * g++.dg/cpp1z/launder3.C: New.
      * g++.dg/cpp1z/launder4.C: Likewise.
      * g++.dg/cpp1z/launder5.C: Likewise.
      * g++.dg/cpp1z/launder5.cc: Likewise.
      * g++.dg/cpp1z/launder5.h: Likewise.
      * g++.dg/cpp1z/launder6.C: Likewise.
      * g++.dg/cpp1z/launder6.cc: Likewise.
      * g++.dg/cpp1z/launder6.h: Likewise.
      
      From-SVN: r241708
      Ville Voutilainen committed
    • re PR c++/77948 (Option processing of -std=c++11 -std=gnu++11 doesn't reset ext_numeric_literals) · dcb466ec
      	PR c++/77948
      	* c.opt (fext-numeric-literals): Add Var and Init.
      	* c-opts.c (c_common_handle_option): Don't clear
      	cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
      	(c_common_post_options): Clear it here if not set
      	explicitly.
      
      	* g++.dg/cpp0x/pr77948-1.C: New test.
      	* g++.dg/cpp0x/pr77948-2.C: New test.
      	* g++.dg/cpp0x/pr77948-3.C: New test.
      	* g++.dg/cpp0x/pr77948-4.C: New test.
      	* g++.dg/cpp0x/pr77948-5.C: New test.
      	* g++.dg/cpp0x/pr77948-6.C: New test.
      
      From-SVN: r241707
      Jakub Jelinek committed
    • re PR tree-optimization/77860 (ICE in gimple_build_assign_1, at gimple.c:420) · 1e4fa9b1
      	PR tree-optimization/77860
      	* tree-ssa-reassoc.c (eliminate_using_constants): Handle
      	also integral complex and vector constants.
      
      	* gcc.dg/pr77860.c: New test.
      
      From-SVN: r241706
      Jakub Jelinek committed
    • dwarf2out.c (dwarf2out_define, [...]): Replace DW_MACRO_GNU_* constants with… · 520c47e8
      dwarf2out.c (dwarf2out_define, [...]): Replace DW_MACRO_GNU_* constants with corresponding DW_MACRO_* constants.
      
      	* dwarf2out.c (dwarf2out_define, dwarf2out_undef, output_macinfo_op,
      	optimize_macinfo_range, save_macinfo_strings): Replace
      	DW_MACRO_GNU_* constants with corresponding DW_MACRO_* constants.
      	(output_macinfo): Likewise.  Emit .debug_macro* rather than
      	.debug_macinfo* even for -gstrict-dwarf -gdwarf-5.
      	(init_sections_and_labels): Use .debug_macro* labels rather than
      	.debug_macinfo* labels even for -gstrict-dwarf -gdwarf-5.
      	(dwarf2out_finish): Use DW_AT_macros instead of DW_AT_macro_info
      	or DW_AT_GNU_macros for -gdwarf-5.
      
      From-SVN: r241705
      Jakub Jelinek committed
    • linux.h (UCLIBC_DYNAMIC_LINKER): Define. · c667cdd7
      2016-10-31  Waldemar Brodkorb  <wbx@openadk.org>
      
      	* config/microblaze/linux.h (UCLIBC_DYNAMIC_LINKER): Define.
      
      From-SVN: r241704
      Waldemar Brodkorb committed
    • Index... · 457cc672
      Index: ChangeLog
      ===================================================================
      --- ChangeLog	(revision 241702)
      +++ ChangeLog	(working copy)
      @@ -1,5 +1,10 @@
       2016-10-27  Carl Love  <cel@us.ibm.com>
       
      +	* MAINTAINERS (Write After Approval): Fix my entry in the Write After
      +	Approval list to make it alphabetical.
      +
      +2016-10-27  Carl Love  <cel@us.ibm.com>
      +
       	* MAINTAINERS (Write After Approval): Add myself.
       
       2016-10-27  Andrew Burgess  <andrew.burgess@embecosm.com>
      Index: MAINTAINERS
      ===================================================================
      --- MAINTAINERS	(revision 241702)
      +++ MAINTAINERS	(working copy)
      @@ -477,9 +477,9 @@
       Gabor Loki					<loki@inf.u-szeged.hu>
       Sandra Loosemore				<sandra@codesourcery.com>
       Manuel López-Ibáñez				<manu@gcc.gnu.org>
      +Carl Love					<cel@us.ibm.com>
       Martin v. Löwis					<loewis@informatik.hu-berlin.de>
       H.J. Lu						<hjl.tools@gmail.com>
      -Carl Love					<cel@us.ibm.com>
       Christophe Lyon					<christophe.lyon@st.com>
       Luis Machado					<luisgpm@br.ibm.com>
       Ziga Mahkovec					<ziga.mahkovec@klika.si>
      
      From-SVN: r241703
      Carl Love committed
    • alpha-passes.def: Swap pass_convert_to_eh_region_ranges and pass_shorten_branches positions. · 85771f28
      	* config/alpha/alpha-passes.def: Swap pass_convert_to_eh_region_ranges
      	  and pass_shorten_branches positions.
      
      From-SVN: r241702
      Uros Bizjak committed
    • Skip gcc.dg/lto/pr60449_0.c for avr · dd57b05e
      The testcase requires gettimeofday to be available for the target. The avr
      target doesn't have an implementation, so the test always fails with a
      linker error.
      
      gcc/testsuite
      
      2016-10-31  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* gcc.dg/lto/pr60449_0.c: Skip for avr.
      
      From-SVN: r241701
      Senthil Kumar Selvaraj committed
    • re PR c++/77886 (-Wimplicit-fallthrough: breaks duff's device (in function templates)) · e8d8d3c8
      	PR c++/77886
      	* pt.c (tsubst_expr) <case CASE_LABEL_EXPR> Copy over
      	FALLTHROUGH_LABEL_P flag to the new LABEL_DECL.
      	(tsubst_expr) <case LABEL_EXPR>: Likewise.
      
      	* g++.dg/warn/Wimplicit-fallthrough-2.C: New test.
      
      From-SVN: r241700
      Jakub Jelinek committed
    • Add -Wshadow=global -Wshadow=local and -Wshadow=compatible-local. · 84ff4775
      This patch from Le-Chun Wu adds two new shadow warning flags for
      C and C++:
      
        -Wshadow=local which warns if a local variable shadows another local
        variable or parameter,
      
        -Wshadow=compatible-local which warns if a local variable shadows
        another local variable or parameter whose type is compatible with
        that of the shadowing variable.
      
      It is already on the google/main branch (Google ref 39127) and was
      previously submitted by Diego Novillo and reviewed on
      http://codereview.appspot.com/4452058
      
      I addressed the review comments and made the following changes:
      - Add -Wshadow=global (the default alias for -Wshadow).
      - Make the documented options -Wshadow=global, -Wshadow=local
        and -Wshadow=compatible-local (with hidden undocumented aliases
        -Wshadow-local and -Wshadow-compatible-local for compatibility).
      - The -Wshadow=global, -Wshadow=local and -Wshadow=compatible-local
        relationships are expressed in common.opt instead of in opts.c
        and documented in invoke.texi.
      - The "previous declaration" warnings were turned into notes and use
        the (now) existing infrastructure instead of duplicating the warnings.
        The testcases have been adjusted to expect the notes.
      - The conditional change in name-lookup.c for non-locals (where we
        don't want to change the warnings, but just check the global ones)
        has been dropped.
      - Use warning_at in c-decl.c (warn_if_shadowing).
      
      gcc/ChangeLog:
      2016-10-30  Le-Chun Wu  <lcwu@google.com>
                  Mark Wielaard  <mjw@redhat.com>
      
             * doc/invoke.texi: Document Wshadow-local and Wshadow-compatible-local.
             * common.opt (Wshadow=global): New option. Default for -Wshadow.
             (Wshadow=local): New option.
             (Wshadow-local): Hidden alias for -Wshadow=local.
             (Wshadow=compatible-local): New option.
             (Wshadow-compatible-local): Hidden alias for
             -Wshadow=compatible-local.
             * doc/invoke.texi: Document Wshadow=global, Wshadow=local and
             Wshadow=compatible-local.
      
      gcc/c/ChangeLog:
      2016-10-30  Le-Chun Wu  <lcwu@google.com>
                  Mark Wielaard  <mjw@redhat.com>
      
             * c-decl.c (warn_if_shadowing): Use the warning code corresponding
             to the given -Wshadow= variant. Use warning_at.
      
      gcc/cp/ChangeLog:
      2016-10-30  Le-Chun Wu  <lcwu@google.com>
                  Mark Wielaard  <mjw@redhat.com>
      
             * name-lookup.c (pushdecl_maybe_friend): When emitting a
             shadowing warning, use the code corresponding to the
             given -Wshadow= variant.
      
      gcc/testsuite/ChangeLog
      2016-10-30  Le-Chun Wu  <lcwu@google.com>
                  Mark Wielaard  <mjw@redhat.com>
      
             * gcc.dg/Wshadow-compatible-local-1.c: New test.
             * gcc.dg/Wshadow-local-1.c: Likewise.
             * gcc.dg/Wshadow-local-2.c: Likewise.
             * g++.dg/warn/Wshadow-compatible-local-1.C: Likewise.
             * g++.dg/warn/Wshadow-local-1.C: Likewise.
             * g++.dg/warn/Wshadow-local-2.C: Likewise.
      
      Co-Authored-By: Mark Wielaard <mjw@redhat.com>
      
      From-SVN: r241699
      Le-Chun Wu committed
    • re PR lto/78129 (-Werror=suggest-final-types leads to -ENOSPC.) · 65179585
      2016-10-31  Richard Biener  <rguenther@suse.de>
      
      	PR lto/78129
      	* lto.c (do_whole_program_analysis): Bail out after errors
      	from WPA analysis.
      
      From-SVN: r241698
      Richard Biener committed
    • tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP. · 4cecd659
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP.
      	Check slp defs for COND_EXPR by swapping/inverting operands if the
      	new parameter SWAP indicates so.
      	(vect_build_slp_tree_1): New parameter SWAP.  Check COND_EXPR stmt
      	is isomorphic to the first stmt via swapping/inverting.  Store swap
      	information in the new parameter SWAP.
      	(vect_build_slp_tree): New local array SWAP and pass it to function
      	vect_build_slp_tree_1.  Cleanup result handling code for function
      	call to vect_get_and_check_slp_defs.  Skip operand swapping if the
      	order of operands has been fixed as indicated by SWAP[i].
      
      From-SVN: r241697
      Bin Cheng committed
    • tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip unnecessary data… · 2c6a05b1
      tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip unnecessary data dependence check after visited store stmt.
      
      	* tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip
      	unnecessary data dependence check after visited store stmt.
      
      From-SVN: r241696
      Bin Cheng committed