1. 09 Oct, 2016 3 commits
    • ipa-cp.c (ipcp_alignment_lattice): Remove. · 67b97478
      2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* ipa-cp.c (ipcp_alignment_lattice): Remove.
      	(ipcp_param_lattices): Remove field alignment.
      	(print_all_lattices): Remove call to ipcp_alignment_lattice::print.
      	(set_all_contains_variable): Remove call to
      	ipcp_alignment_lattice::set_to_bottom.
      	(initialize_node_lattices): Likewise.
      	(propagate_alignment_accross_jump_function): Remove.
      	(propagate_constants_accross_call): Remove call to
      	propagate_alignment_accross_jump_function.
      	(ipcp_store_alignment_results): Remove.
      	(ipcp_driver): Remove call to ipcp_store_alignment_results.
      	(propagate_bits_accross_jump_function): Handle ancestor jump function.
      	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove
      	pretty-printing of alignment jump function.
      	(ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known.
      	(ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for
      	alignments and remove computing ipa_alignment jump function.
      	(ipa_node_params_t::duplicate): Remove copying of src_trans->alignments.
      	(ipa_write_jump_functions): Remove streaming for ipa_alignment.
      	(ipa_read_jump_function): Remove reading of ipa_alignment.
      	(write_ipcp_transformation_info): Remove streaming for alignment
      	propagation summary.
      	(read_ipcp_transformation_info): Remove reading of alignment
      	propagation summary. 
      	(ipcp_update_alignments): Remove.
      	(ipcp_update_bits): Adjust to set alignment for parameters of pointer
      	type.
      	(ipcp_transform_function): Remove call to ipcp_update_alignments()
      	and remove assignment to (*ipcp_transformations)[node->uid].alignments.
      	* ipa-prop.h (ipa_alignment): Remove.
      	(ipa_jump_func): Remove field alignment.
      	(ipcp_transformation_summary): Remove field alignments. 
      	* doc/invoke.texi: Mark fipa-cp-alignment as obsolete.
      	* opts.c (default_options_table): Remove entry for fipa-cp-alignment.
      	(enable_fdo_optimizations): Remove checking for fipa-cp-alignment.
      
      testsuite/
      	* gcc.dg/ipa/propalign-1.c: Adjust scan-ipa-dump.
      	* gcc.dg/ipa/propalign-2.c: Likewise
      	* gcc.dg/ipa/propalign-3.c: Likewise.
      	* gcc.dg/ipa/propalign-4.c: Likewise.
      	* gcc.dg/ipa/propalign-5.c: Likewise.
      
      From-SVN: r240898
      Prathamesh Kulkarni committed
    • * cp-gimplify.c (cp_fold): Add variable name. · e525cfa7
      From-SVN: r240897
      Jason Merrill committed
    • Daily bump. · 51e95f4e
      From-SVN: r240896
      GCC Administrator committed
  2. 08 Oct, 2016 11 commits
    • Delay folding of bool conversion into COND_EXPR. · 627be19f
      gcc/c-family/
      	* c-common.c (c_common_truthvalue_conversion): Don't distribute
      	into COND_EXPR in C++.
      gcc/cp/
      	* cp-gimplify.c (cp_fold): Distribute cp_truthvalue_conversion
      	into COND_EXPR.
      
      From-SVN: r240893
      Jason Merrill committed
    • sparc.h (FIXED_REGISTERS): Add %icc. · 490a6733
      	* config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.
      
      	* config/visium/visium.c (visium_expand_int_cstore): Revert latest
      	change.
      	(visium_expand_fp_cstore): Likewise.
      
      From-SVN: r240892
      Eric Botcazou committed
    • diagnostic-core.h (warning_at_rich_loc_n): Declare. · a5fb7ad2
      2016-10-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* diagnostic-core.h (warning_at_rich_loc_n): Declare.
      	* diagnostic.c (warning_at_rich_loc_n): New function.
      	(diagnostic_n_impl_richloc): Likewise.
      	(diagnostic_n_impl): Move most of the function to
      	diagnostic_n_impl_richloc and call it.
      
      From-SVN: r240891
      Prathamesh Kulkarni committed
    • utils.c (convert): Add missing break. · 9c453de7
      	* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.
      
      	Revert
      	2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	* gcc-interface/decl.c: Fix fall through comment formatting.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	* gcc-interface/utils2.c: Likewise.
      
      From-SVN: r240890
      Eric Botcazou committed
    • Further P0135 refinement. · 36cbfdb0
      	* call.c (build_user_type_conversion_1): Consider conversions from
      	a single element in an initializer-list.
      	(build_temp): Undo early_elide_copy change.
      	(build_over_call): Check that we don't try to copy a TARGET_EXPR
      	in C++17 mode.  Set user_conv_p here.
      	(convert_like_real): Not here.
      	(check_self_delegation): Split out from...
      	(build_special_member_call): ...here.  Handle C++17 copy elision.
      	* cvt.c (early_elide_copy): Remove.
      	(ocp_convert): Undo early_elide_copy change.
      	* except.c (build_throw): Likewise.
      	* init.c (expand_default_init): Likewise.
      	* typeck.c (cp_build_modify_expr): Likewise.
      
      From-SVN: r240889
      Jason Merrill committed
    • gen-pass-instances.awk: Rewritten. · 80994c46
      	* gen-pass-instances.awk: Rewritten.
      	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
      	$(PASSES_EXTRA) after passes.def to the script.
      	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
      	* config/i386/i386-passes.def: New file.
      	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
      	make_pass_stv): Declare.
      	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
      	false.
      	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
      	or !TARGET_64BIT.
      	(pass_stv::clone, pass_stv::set_pass_param): New methods.
      	(pass_stv::timode_p): New non-static data member.
      	(ix86_option_override): Don't register passes here.
      
      From-SVN: r240888
      Jakub Jelinek committed
    • gen-pass-instances.awk: Rewritten. · 478167be
      	* gen-pass-instances.awk: Rewritten.
      	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
      	$(PASSES_EXTRA) after passes.def to the script.
      	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
      	* config/i386/i386-passes.def: New file.
      	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
      	make_pass_stv): Declare.
      	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
      	false.
      	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
      	or !TARGET_64BIT.
      	(pass_stv::clone, pass_stv::set_pass_param): New methods.
      	(pass_stv::timode_p): New non-static data member.
      	(ix86_option_override): Don't register passes here.
      
      From-SVN: r240887
      Jakub Jelinek committed
    • invoke.texi: Document accepting Else, fallthrough. · ee19ef45
      	* doc/invoke.texi: Document accepting Else, fallthrough.
      
      	* lex.c (fallthrough_comment_p): Accept Else, fallthrough.
      
      	* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.
      
      From-SVN: r240886
      Jakub Jelinek committed
    • invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment style changes. · 81b02905
      	* doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
      	style changes.
      
      	* lex.c (fallthrough_comment_p): Extend to handle more common FALLTHRU
      	comment styles.
      
      	* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.
      
      From-SVN: r240885
      Jakub Jelinek committed
    • c-lex.c (c_lex_with_flags): For CPP_COMMENT token with PREV_FALLTHROUGH... · 7bad794a
      	* c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
      	token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
      	CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
      
      	* doc/invoke.texi (-Wimplicit-fallthrough): Document the accepted
      	FALLTHRU comment styles.
      
      	* lex.c (fallthrough_comment_p): Fix off-by-one size comparison
      	errors, cleanup.
      	(_cpp_lex_direct): Allow arbitrary comments in between
      	fallthrough_comment_p comment and following token.
      
      	* c-c++-common/Wimplicit-fallthrough-23.c: New test.
      	* c-c++-common/Wimplicit-fallthrough-24.c: New test.
      
      From-SVN: r240884
      Jakub Jelinek committed
    • Daily bump. · 6dc29c6d
      From-SVN: r240882
      GCC Administrator committed
  3. 07 Oct, 2016 26 commits
    • aarch64-arches.def (AARCH64_ARCH): #undef at the end. · cd8b19af
      2016-10-07  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/aarch64-arches.def (AARCH64_ARCH): #undef at the end.
              * config/aarch64/aarch64-cores.def (AARCH64_CORE): Likewise.
              * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): Likewise.
              * config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION): Likewise.
              * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): Likewise.
              * config/aarch64/aarch64-opts.h (AARCH64_CORE): Don't #undef here.
              (AARCH64_ARCH): Likewise.
              * common/config/aarch64/aarch64-common.c (AARCH64_OPT_EXTENSION): Likewise.
              (AARCH64_CORE): Likewise.
              (AARCH64_ARCH): Likewise.
              * config/aarch64/aarch64-protos.h (AARCH64_FUSION_PAIR): Likewise.
              (AARCH64_EXTRA_TUNING_OPTION): Likewise.
              * config/aarch64/aarch64.c (AARCH64_FUION_PAIR): Likewise.
              (AARCH64_EXTRA_TUNING_OPTION): Likewise.
              (AARCH64_ARCH): Likewise.
              (AARCH64_CORE): Likewise.
              * config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
              * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Likewise.
              (AARCH64_CORE): Likewise.
              (AARCH64_ARCH): Likewise.
      
      From-SVN: r240876
      Andrew Pinski committed
    • Fix ICE due to map typespecs with different sized charlens being copied. · 56d3a930
      2016-10-07  Fritz Reese  <fritzoreese@gmail.com>
      
      Fix ICE due to map typespecs with different sized charlens being copied.
      
      	gcc/fortran/
      	* interface.c (compare_components): Check charlen for BT_CHAR.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_union_11.f90: New testcase.
      
      From-SVN: r240875
      Fritz Reese committed
    • re PR c++/64433 (Segmentation fault while compiling) · 45e2bf2e
      	cp/
      	PR c++/64433
      	DR1658, DR1611
      	* init.c (emit_mem_initializers): Don't construct vbases of
      	abstract classes.
      	(push_base_cleanups): Don't push vbase cleanups for abstract class
      	when in C++14 mode.
      	* method.c (synthethesized_method_walk): Don't walk vbases of
      	abstract classes when in C++14 mode.
      
      	testsuite/
      	PR c++/66443
      	* g++.dg/cpp0x/pr66443-cxx11.C: New.
      	* g++.dg/cpp0x/pr66443-cxx11-2.C: New.
      	* g++.dg/cpp1y/pr66443-cxx14.C: New
      	* g++.dg/cpp1y/pr66443-cxx14-2.C: New.
      	* g++.dg/cpp1y/pr66443-cxx14-3.C: New.
      
      From-SVN: r240874
      Nathan Sidwell committed
    • Implement LWG2296 helper intrinsic c-family/ · be845b04
      	Implement LWG2296 helper intrinsic
      c-family/
      	* c-common.h (enum rid): Add RID_ADDRESSOF.
      	* c-common.c (c_common_reswords): Add __builtin_addressof.
      cp/
      	* parser.c (cp_parser_postfix_expression): Handle RID_ADDRESSOF.
      	* cp-objcp-common.c (cp_common_init_ts): Handle ADDRESSOF_EXPR.
      	* constexpr.c (potential_constant_expression_1): Likewise.
      	* error.c (dump_expr): Likewise.
      	* typeck.c (cp_build_addressof): New function.
      	* cp-tree.h (cp_build_addressof): Declare.
      	* cxx-pretty-print.h (pp_cxx_addressof_expression): Declare.
      	* cp-tree.def (ADDRESSOF_EXPR): New tree code.
      	* cxx-pretty-print.c (cxx_pretty_printer::primary_expression): Handle
      	ADDRESSOF_EXPR.  Add __builtin_addressof and
      	__has_unique_object_representations into syntax in function comment.
      	(pp_cxx_addressof_expression): New function.
      	* pt.c (tsubst_copy_and_build): Handle ADDRESSOF_EXPR.
      testsuite/
      	* g++.dg/cpp0x/addressof1.C: New test.
      	* g++.dg/cpp0x/addressof2.C: New test.
      
      From-SVN: r240873
      Jakub Jelinek committed
    • rs6000-c.c (rs6000_cpu_cpp_builtins): Split -mfloat128 into -mfloat128-type that… · 08213983
      rs6000-c.c (rs6000_cpu_cpp_builtins): Split -mfloat128 into -mfloat128-type that enables the IEEE 128-bit floating...
      
      [gcc]
      2016-10-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Split
      	-mfloat128 into -mfloat128-type that enables the IEEE 128-bit
      	floating point type infrastructre, and -mfloat128 that enables the
      	keyword.  Define __FLOAT128__ if -mfloat128, and __FLOAT128_TYPE__
      	if -mfloat128-type.  Define __ibm128 to be long double by default.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print whether
      	the IEEE 128-bit floating point type infrastructure should
      	automatically be enabled.
      	(rs6000_init_hard_regno_mode_ok): Switch to use -mfloat128-type
      	instead of -mfloat128 to enable KFmode.
      	(rs6000_option_override_internal): Split the option -mfloat128
      	into -mfloat128-type and -mfloat128.  On Linux PowerPC 64-bit
      	systems, automatically set -mfloat128-type, but don't enable it on
      	other operating systems.  Move setting the long double size and
      	IEEE quad support before the IEEE 128-bit floating point changes.
      	(rs6000_init_builtins): Do not create a unique type for __ibm128
      	if long double is IBM extended double, instead rely on __ibm128
      	being defined as 'long double'.  If -mfloat128-type and not
      	-mfloat128, create the KFmode type with an undocumented __ieee128
      	keyword.
      	(rs6000_init_libfuncs): Use -mfloat128-type instead of
      	-mfloat128 for tests about the types, but keep tests for
      	-mfloat128 to enable the keyword support.
      	(rs6000_complex_function_value): Likewise.
      	(rs6000_scalar_mode_supported_p): Likewise.
      	(rs6000_floatn_mode): Likewise.
      	(rs6000_c_mode_for_suffix): Likewise.
      	(rs6000_opt_masks): Add -mfloat128-type.
      	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add support for
      	-mfloat128-type being split from -mfloat128.  Add
      	-mfloat128-hardware, which was missing.
      	* config/rs6000/rs6000.opt (-mfloat128): Split -mfloat128 into
      	-mfloat128 and -mfloat128-type:
      	(-mfloat128-type): Likewise.
      	* config/rs6000/linux64.h (TARGET_FLOAT128_ENABLE_TYPE): Define so
      	that 64-bit Linux systems with enable -mfloat128-type by default
      	on VSX systems.
      	* config/rs6000/rs6000.h (TARGET_FLOAT128_ENABLE_TYPE): Likewise.
      	(FLOAT128_VECTOR_P): Switch IEEE 128-bit floating points to use
      	-mfloat128-type instead of -mfloat128.
      	(FLOAT128_2REG_P): Likewise.
      	(MASK_FLOAT128_TYPE): Likewise.
      	(ALTIVEC_ARG_MAX_RETURN): Likewise.
      	(RS6000_BTM_FLOAT128): Likewise.
      	(TARGET_FLOAT128): Poison old identifiers.
      	(OPTION_MASK_FLOAT128): Likewise.
      	(MASK_FLOAT128): Likewise.
      	* config/rs6000/rs6000.md (FP): Likewise.
      	(FLOAT128): Likewise.
      	(fix_trunc<mode>di2): Likewise.
      	(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
      	(floatdi<mode>2): Likewise.
      	(floatuns<SDI:mode><IEEE128:mode>2): Likewise.
      	(neg<mode>2, FLOAT128 iterator): Likewise.
      	(abs<mode>2, FLOAT128 iterator): Likewise.
      	(ieee_128bit_negative_zero): Likewise.
      	(ieee_128bit_vsx_neg<mode>2): Likewise.
      	(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_abs<mode>2): Likewise.
      	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
      	(extendiftf2): Likewise.
      	(extendifkf2): Likewise.
      	(extendtfkf2): Likewise.
      	(trunciftf2): Likewise.
      	(truncifkf2): Likewise.
      	(trunckftf2): Likewise.
      	(trunctfif2): Likewise.
      	(extendkftf2): Likewise.
      	(trunctfkf2): Likewise.
      
      [gcc/testsuite]
      2016-10-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/float128-type-1.c: New test to check that
      	PowerPC 64-bit Linux enables -mfloat128-type by default.
      	* gcc.target/powerpc/float128-type-2.c: Likewise.
      	* gcc.target/powerpc/float128-mix.c: Change error message to
      	reflect that __ibm128 is now #define'ed to be long double.
      
      From-SVN: r240872
      Michael Meissner committed
    • re PR fortran/77406 (ICE in generic_correspondence, at fortran/interface.c:1123) · bd845c14
      2016-10-07  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/77406
      	* interface.c (gfc_compare_interfaces): Fix detection of ambiguous
      	interface involving alternate return.
      	(check_interface1): Improve error message and loci.
      
      2016-10-07  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/77406
      	* gfortran.dg/pr77406.f90: New test.
      	* gfortran.dg/assumed_type_3.f90: Update error messages.
      	* gfortran.dg/defined_operators_1.f90: Ditto.
      	* gfortran.dg/generic_26.f90: Ditto.
      	* gfortran.dg/generic_7.f90: Ditto.
      	* gfortran.dg/gomp/udr5.f90: Ditto.
      	* gfortran.dg/gomp/udr7.f90: Ditto.
      	* gfortran.dg/interface_1.f90: Ditto.
      	* gfortran.dg/interface_37.f90: Ditto.
      	* gfortran.dg/interface_5.f90: Ditto.
      	* gfortran.dg/interface_6.f90: Ditto.
      	* gfortran.dg/interface_7.f90
      	* gfortran.dg/no_arg_check_3.f90
      	* gfortran.dg/operator_5.f90
      	* gfortran.dg/proc_ptr_comp_20.f90: Ditto.
      
      From-SVN: r240870
      Steven G. Kargl committed
    • Improve implementation-defined docs for libstdc++ · 296002c6
      	* doc/xml/manual/status_cxx1998.xml: Improve documentation of
      	implementation-defined properties.
      	* doc/xml/manual/status_cxx2011.xml: Likewise.
      	* doc/xml/manual/status_cxx2017.xml: Likewise.
      
      From-SVN: r240869
      Jonathan Wakely committed
    • Implement std::has_unique_object_representations · 873c7d5a
      	* doc/xml/manual/status_cxx2017.xml: Update status.
      	* include/std/type_traits (has_unique_object_representations): Define.
      	* testsuite/20_util/has_unique_object_representations/value.cc: New.
      	* testsuite/20_util/has_unique_object_representations/requirements/
      	explicit_instantiation.cc: New.
      	* testsuite/20_util/has_unique_object_representations/requirements/
      	typedefs.cc: New.
      
      From-SVN: r240868
      Jonathan Wakely committed
    • re PR c++/77700 (suspicios code in cp/parser.c) · c09c4992
      2016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c++/77700
              * c-common.c (c_common_truthvalue_conversion): Warn also for
              suspicious enum values in boolean context.
      
      cp:
      2016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c++/77700
              * parser.c (cp_parser_base_specifier): Fix a warning.
      
      testsuite:
      2016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c++/77700
              * c-c++-common/Wint-in-bool-context.c: Update test.
      
      From-SVN: r240867
      Bernd Edlinger committed
    • [simplify-rtx] Zero-initialise local array in simplify_immed_subreg · 125f0e39
      	* simplify-rtx.c (simplify_immed_subreg): Zero-initialize tmp array
      	before merging in bytes to pass down to real_from_target.
      
      From-SVN: r240866
      Kyrylo Tkachov committed
    • tree-ssa-propagate.c (replace_phi_args_in): Remove no longer required hack. · d7f336f8
      2016-10-07  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-propagate.c (replace_phi_args_in): Remove no longer
      	required hack.
      	(substitute_and_fold_dom_walker::before_dom_children):
      	Substitute and fold before pass specific folding to avoid
      	feeding that with SSA names that will be later released.
      	* tree-ssa-ccp.c (get_value_for_expr): Guard for new SSA names
      	introduced by folding and visited by evaluate_stmt called during
      	ccp_fold_stmt.
      	(likely_value): Likewise.
      	(evaluate_stmt): Likewise.
      	* tree-vrp.c (simplify_truth_ops_using_ranges): Fold modified stmt.
      	(simplify_div_or_mod_using_ranges): Likewise.
      	(simplify_min_or_max_using_ranges): Likewise.
      	(simplify_abs_using_ranges): Likewise.
      	(simplify_conversion_using_ranges): Likewise.
      	(simplify_float_conversion_using_ranges): Likewise.
      	(simplify_stmt_using_ranges): Likewise.
      
      	* gcc.dg/tree-ssa/vrp01.c: Adjust.
      	* gcc.dg/tree-ssa/vrp34.c: Likewise.
      
      From-SVN: r240865
      Richard Biener committed
    • gimplify.c (should_warn_for_implicit_fallthrough): Check for FALLTHROUGH_LABEL_P here... · a9172bf3
      	* gimplify.c (should_warn_for_implicit_fallthrough): Check for
      	FALLTHROUGH_LABEL_P here...
      	(warn_implicit_fallthrough_r): ...not here.
      
      	* c-c++-common/Wimplicit-fallthrough-22.c: New test.
      
      From-SVN: r240864
      Marek Polacek committed
    • re PR c++/69733 (-Wignored-qualifiers points to wrong const) · 8a14afd0
      c/
      	PR c++/69733
      	* c-decl.c (smallest_type_quals_location): New static function.
      	(grokdeclarator): Try to find the correct location for an ignored
      	qualifier.
      cp/
      	PR c++/69733
      	* decl.c (grokdeclarator): Try to find the correct location for an
      	ignored qualifier.
      testsuite/
      	PR c++/69733
      	* c-c++-common/pr69733.c: New test.
      	* gcc.dg/pr69733.c: New test.
      	* gcc.target/i386/pr69733.c: New test.
      
      From-SVN: r240863
      Bernd Schmidt committed
    • re PR tree-optimization/77880 (out of memory building recent LLVM on ppc64le with -O3) · 1edfde32
      	PR tree-optimization/77880
      	* expr.c (by_pieces_ninsns): Use unsigned HOST_WIDE_INT where
      	necessary.
      
      From-SVN: r240862
      Bernd Schmidt committed
    • re PR c++/77803 (Bogus implicit-fallthrough warning) · d4bd4646
      	PR c++/77803
      	* gimplify.c (last_stmt_in_scope): Add check for FALLTHROUGH ().
      
      	* g++.dg/warn/Wimplicit-fallthrough-1.C: New test.
      
      From-SVN: r240861
      Marek Polacek committed
    • bitmap.h: Document constraints on bitmap modification while iterating over it. · 7a18d752
      2016-10-07  Richard Biener  <rguenther@suse.de>
      
      	* bitmap.h: Document constraints on bitmap modification while
      	iterating over it.
      
      From-SVN: r240860
      Richard Biener committed
    • bitmap.c (bitmap_elem_to_freelist): Set indx to -1. · a30fe4b6
      2016-10-07  Richard Biener  <rguenther@suse.de>
      
      	* bitmap.c (bitmap_elem_to_freelist): Set indx to -1.
      	* bitmap.h (bmp_iter_set): When advancing to the next element
      	check that we didn't remove the current one.
      	(bmp_iter_and): Likewise.
      	(bmp_iter_and_compl): Likewise.
      	* tree-ssa.c (release_defs_bitset): Do not remove worklist bit
      	we currently iterate on but keep a one-level queue.
      	* sched-deps.c (remove_from_deps): Do not clear current bit
      	but keep a one-level queue.
      
      From-SVN: r240859
      Richard Biener committed
    • re PR tree-optimization/77664 (Missed optimization: signed int >= 0 && < unsigned short) · a93cdc5c
      	PR tree-optimization/77664
      	* tree-ssa-reassoc.c (update_range_test): Also clear low and high
      	for the other ranges.
      	(optimize_range_tests_diff): Fix up formatting.
      	(optimize_range_tests_var_bound): New function.
      	(optimize_range_tests): Use it.
      
      	* gcc.dg/tree-ssa/pr77664.c: New test.
      	* gcc.dg/pr77664.c: New test.
      
      From-SVN: r240858
      Jakub Jelinek committed
    • Really set priority to 99 for __gcov_exit · 533144bc
      	* coverage.c (build_gcov_exit_decl): Fix priority what
      	should be really 99.
      
      From-SVN: r240857
      Martin Liska committed
    • Fix profiled bootstrap (part 2) · 5d341f08
      	* lambda.c (maybe_add_lambda_conv_op): Set default value.
      
      From-SVN: r240856
      Martin Liska committed
    • gimple-low.c (lower_gimple_bind): Clear DECL_CHAIN of vars in gimple_bind_vars… · 014b59e6
      gimple-low.c (lower_gimple_bind): Clear DECL_CHAIN of vars in gimple_bind_vars but not in BLOCK_VARS.
      
      2016-10-07  Richard Biener  <rguenther@suse.de>
      
      	* gimple-low.c (lower_gimple_bind): Clear DECL_CHAIN of
      	vars in gimple_bind_vars but not in BLOCK_VARS.
      
      From-SVN: r240855
      Richard Biener committed
    • re PR tree-optimization/77879 (mpd gets miscompiled since r235622) · 4023bc56
      2016-10-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/77879
      	* tree-ssa-structalias.c (handle_const_call): Properly handle
      	NRV return slots.
      	(handle_pure_call): Likewise.
      
      From-SVN: r240854
      Richard Biener committed
    • compiler: stack allocate storage for temp slices. · 729232db
          
          During the lowering phase, the variable arguments to a varargs call are
          packaged up into a temporary slice object; the storage for this slice
          was being unconditionally allocated on the heap.  Heap allocation is not
          necessary, however, if the varargs call correspond to an "append", since
          the append runtime routine only reads the slice storage (as opposed to
          stashing away the storage pointer). Enhance the lowering code to keep
          the slice storage on the stack for append() calls, to improve
          performance.
          
          Addresses issue golang/go#17304.
          
          Reviewed-on: https://go-review.googlesource.com/30136
      
      From-SVN: r240853
      Ian Lance Taylor committed
    • 2016-10-06 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> · c9616e9a
      	* config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor)
      	(rs6000_elf_asm_out_destructor): increase size of buf to avoid
      	possible overflow.
      
      From-SVN: r240852
      Aaron Sawdey committed
    • [multiple changes] · 4ee822df
      2016-10-06  Louis Krupp <louis.krupp@zoho.com>
      
      	* gfortran.dg/pr69955.f90: New test.
      
      2016-10-06  Louis Krupp  <louis.krupp@zoho.com>
      
      	PR fortran/69955
      	* trans-array.c (gfc_conv_expr_descriptor): Don't allocate
      	components if it's not necessary.
      
      From-SVN: r240851
      Louis Krupp committed
    • 2016_10-06 Louis Krupp <louis.krupp@zoho.com> · ac193ee7
      	PR fortran/57910
      	* gfortran.dg/pr57910.f90: New test.
      
      2016-10-05  Louis Krupp  <louis.krupp@zoho.com>
      
      	PR fortran/57910
      	* trans-expr.c (gfc_add_interface_mapping): Don't try to
      	dereference call-by-value scalar argument
      
      From-SVN: r240850
      Louis Krupp committed