1. 05 Apr, 2019 10 commits
    • sched-deps.c (sched_macro_fuse_insns): Check return value of targetm.fixed_condition_code_regs. · e3671020
              * sched-deps.c (sched_macro_fuse_insns): Check return value of
              targetm.fixed_condition_code_regs.
      
      From-SVN: r270167
      Joern Rennecke committed
    • PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion. · 05564120
      	PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion. 
      	* c-warn.c (check_address_or_pointer_of_packed_member): Check the type
      	of RHS.
      
      	* g++.dg/warn/Waddress-of-packed-member2.C: New test.
      
      From-SVN: r270166
      Marek Polacek committed
    • re PR debug/89892 (gcc generates wrong debug information at -O2) · 25eafae6
      2019-04-05  Richard Biener  <rguenther@suse.de>
      
      	PR debug/89892
      	PR debug/89905
      	* tree-cfgcleanup.c (remove_forwarder_block): Always move
      	debug bind stmts but reset them if they are not valid at the
      	destination.
      
      	* gcc.dg/guality/pr89892.c: New testcase.
      	* gcc.dg/guality/pr89905.c: Likewise.
      	* gcc.dg/guality/loop-1.c: Likewise.
      
      From-SVN: r270165
      Richard Biener committed
    • Fix ChangeLog entries. · 2723350f
      contrib/ChangeLog:
      
      2019-04-03  Martin Liska  <mliska@suse.cz>
      
      	PR translation/89936
      	* check-internal-format-escaping.py: Properly detect wrong
      	apostrophes.
      
      gcc/ChangeLog:
      
      2019-04-03  Martin Liska  <mliska@suse.cz>
      
      	PR translation/89936
      	* collect-utils.c (collect_execute): Use %< and %>, or %qs in
      	order to wrap keywords or arguments.
      	* collect2.c (main): Likewise.
      	(scan_prog_file): Likewise.
      	(scan_libraries): Likewise.
      	* common/config/riscv/riscv-common.c (riscv_subset_list::parsing_subset_version): Likewise.
      	(riscv_subset_list::parse_std_ext): Likewise.
      	* config/aarch64/aarch64.c (aarch64_override_options_internal): Likewise.
      	* config/arm/arm.c (arm_option_override): Likewise.
      	* config/cris/cris.c (cris_print_operand): Likewise.
      	* config/darwin-c.c (darwin_pragma_options): Likewise.
      	(darwin_pragma_unused): Likewise.
      	(darwin_pragma_ms_struct): Likewise.
      	* config/ft32/ft32.c (ft32_print_operand): Likewise.
      	* config/i386/i386.c (print_reg): Likewise.
      	(ix86_print_operand): Likewise.
      	* config/i386/xm-djgpp.h: Likewise.
      	* config/iq2000/iq2000.c (iq2000_print_operand): Likewise.
      	* config/m32c/m32c.c (m32c_option_override): Likewise.
      	* config/msp430/msp430.c (msp430_option_override): Likewise.
      	* config/nds32/nds32.c (nds32_option_override): Likewise.
      	* config/nvptx/mkoffload.c (main): Likewise.
      	* config/rx/rx.c (rx_print_operand): Likewise.
      	(valid_psw_flag): Likewise.
      	* config/vms/vms-c.c (vms_pragma_member_alignment): Likewise.
      	(vms_pragma_nomember_alignment): Likewise.
      	(vms_pragma_extern_model): Likewise.
      	* lto-wrapper.c (compile_offload_image): Likewise.
      	* omp-offload.c (oacc_parse_default_dims): Likewise.
      	* symtab.c (symtab_node::verify_base): Likewise.
      	* tlink.c (recompile_files): Likewise.
      	(start_tweaking): Likewise.
      	* tree-profile.c (parse_profile_filter): Likewise.
      
      gcc/objc/ChangeLog:
      
      2019-04-03  Martin Liska  <mliska@suse.cz>
      
      	PR translation/89936
      	* objc-act.c (objc_add_property_declaration): Use %< and %>, or %qs in
      	order to wrap keywords or arguments.
      	(objc_add_synthesize_declaration_for_property): Likewise.
      
      From-SVN: r270164
      Martin Liska committed
    • Remove usage of apostrophes in error and warning messages (PR translation/89935). · 904f3daa
      2019-04-05  Martin Liska  <mliska@suse.cz>
      
      	PR translation/89935
      	* check-internal-format-escaping.py: Properly detect wrong
      	apostrophes.
      2019-04-05  Martin Liska  <mliska@suse.cz>
      
      	PR translation/89935
      	* collect-utils.c (collect_execute): Use %< and %>, or %qs in
      	order to wrap keywords or arguments.
      	* collect2.c (main): Likewise.
      	(scan_prog_file): Likewise.
      	(scan_libraries): Likewise.
      	* common/config/riscv/riscv-common.c (riscv_subset_list::parsing_subset_version): Likewise.
      	(riscv_subset_list::parse_std_ext): Likewise.
      	* config/aarch64/aarch64.c (aarch64_override_options_internal): Likewise.
      	* config/arm/arm.c (arm_option_override): Likewise.
      	* config/cris/cris.c (cris_print_operand): Likewise.
      	* config/darwin-c.c (darwin_pragma_options): Likewise.
      	(darwin_pragma_unused): Likewise.
      	(darwin_pragma_ms_struct): Likewise.
      	* config/ft32/ft32.c (ft32_print_operand): Likewise.
      	* config/i386/i386.c (print_reg): Likewise.
      	(ix86_print_operand): Likewise.
      	* config/i386/xm-djgpp.h: Likewise.
      	* config/iq2000/iq2000.c (iq2000_print_operand): Likewise.
      	* config/m32c/m32c.c (m32c_option_override): Likewise.
      	* config/msp430/msp430.c (msp430_option_override): Likewise.
      	* config/nds32/nds32.c (nds32_option_override): Likewise.
      	* config/nvptx/mkoffload.c (main): Likewise.
      	* config/rx/rx.c (rx_print_operand): Likewise.
      	(valid_psw_flag): Likewise.
      	* config/vms/vms-c.c (vms_pragma_member_alignment): Likewise.
      	(vms_pragma_nomember_alignment): Likewise.
      	(vms_pragma_extern_model): Likewise.
      	* lto-wrapper.c (compile_offload_image): Likewise.
      	* omp-offload.c (oacc_parse_default_dims): Likewise.
      	* symtab.c (symtab_node::verify_base): Likewise.
      	* tlink.c (recompile_files): Likewise.
      	(start_tweaking): Likewise.
      	* tree-profile.c (parse_profile_filter): Likewise.
      2019-04-05  Martin Liska  <mliska@suse.cz>
      
      	PR translation/89935
      	* objc-act.c (objc_add_property_declaration): Use %< and %>, or %qs in
      	order to wrap keywords or arguments.
      	(objc_add_synthesize_declaration_for_property): Likewise.
      
      From-SVN: r270163
      Martin Liska committed
    • Make FMA code cope with redundant negates (PR89956) · 8d6b13da
      This patch fixes a case in which, due to forced missed optimisations
      in earlier passes, we have:
      
          _1 = a * b
          _2 = -_1
          _3 = -_1
          _4 = _2 + _3
      
      and treated _4 as two FNMA candidates, once via _2 and once via _3.
      
      2019-04-05  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	PR tree-optimization/89956
      	* tree-ssa-math-opts.c (convert_mult_to_fma): Protect against
      	multiple negates of the same value.
      
      gcc/testsuite/
      	PR tree-optimization/89956
      	* gfortran.dg/pr89956.f90: New test.
      
      From-SVN: r270162
      Richard Sandiford committed
    • PR c++/89948 - ICE with break in statement-expr. · ce36ba09
      	* constexpr.c (cxx_eval_statement_list): Jumping out of a
      	statement-expr is non-constant.
      
      From-SVN: r270161
      Jason Merrill committed
    • PR c++/89966 - error with non-type auto tparm. · 950b198d
      My patch for PR 86932 broke this testcase by passing tf_partial to
      coerce_template_template_parms, which prevented do_auto_deduction from
      actually replacing the auto.
      
      	* pt.c (do_auto_deduction): Clear tf_partial.
      
      From-SVN: r270160
      Jason Merrill committed
    • PR c++/86986 - ICE with TTP with parameter pack. · 17838af9
      Three separate issues were breaking this testcase.  One, we were trying to
      look at the type of a template template parameter to see if it's a valid
      non-type template parameter.  Two, we were treating a parameter pack named
      in the type of a template parameter pack of a TTP pack as being one of the
      packs expanded by the outer pack.  Three, we weren't supplying all the
      necessary levels of template arguments when TTP matching.
      
      	* pt.c (coerce_template_parameter_pack): Only look at the type of a
      	non-type parameter pack.
      	(fixed_parameter_pack_p_1): Don't recurse into the type of a
      	non-type parameter pack.
      	(coerce_template_template_parms): Call add_outermost_template_args.
      
      From-SVN: r270159
      Jason Merrill committed
    • Daily bump. · 70604b02
      From-SVN: r270158
      GCC Administrator committed
  2. 04 Apr, 2019 11 commits
    • PR c++/89974 - ICE on a definition of a non-type specialization on a struct… · 187c6369
      PR c++/89974 - ICE on a definition of a non-type specialization on a struct object with pointer to member function
      
      PR c++/89974 - ICE on a definition of a non-type specialization on a struct object with pointer to member function
      PR c++/89878 - same specializations on a zero-initialized struct object as a non-type parameter treated as distinct
      PR c++/89833 - sorry, unimplemented: string literal in function template signature
      PR c++/47488 - sorry, unimplemented: string literal in function template signature
      
      gcc/cp/ChangeLog:
      
      	PR c++/89974
      	PR c++/89878
      	PR c++/89833
      	PR c++/47488
      	* decl.c (reshape_init_array_1): Strip trailing zero-initializers
      	from arrays of trivial type and known size.
      	* mangle.c (write_expression): Convert braced initializer lists
      	to STRING_CSTs.
      	(write_expression): Trim trailing zero-initializers from arrays
      	of trivial type.
      	(write_template_arg_literal): Mangle strings the same as braced
      	initializer lists.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/89974
      	PR c++/89878
      	PR c++/89833
      	PR c++/47488
      	* gcc/testsuite/g++.dg/abi/mangle69.C: New test.
      	* gcc/testsuite/g++.dg/abi/mangle70.C: New test.
      	* gcc/testsuite/g++.dg/abi/mangle71.C: New test.
      	* gcc/testsuite/g++.dg/abi/mangle72.C: New test.
      	* gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C: New test.
      	* gcc/testsuite/g++.dg/cpp2a/nontype-class15.C: New test.
      	* gcc/testsuite/g++.dg/cpp2a/nontype-class16.C: New test.
      	* gcc/testsuite/g++.dg/init/array51.C: New test.
      
      From-SVN: r270155
      Martin Sebor committed
    • PR middle-end/89957 - ICE calling strnlen with an int128_t bound in a known range · 1a9b15a7
      PR middle-end/89957 - ICE calling strnlen with an int128_t bound in a known range
      PR middle-end/89911 - [9 Regression] ICE in get_attr_nonstring_decl
      
      gcc/ChangeLog:
      
      	PR middle-end/89957
      	PR middle-end/89911
      	* builtins.c (expand_builtin_strnlen): Make sure wi::ltu_p operands
      	have the same precision since the function crashes otherwise.
      	* calls.c (maybe_warn_nonstring_arg): Avoid assuming strnlen() call
      	has non-zero arguments.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/89957
      	PR middle-end/89911
      	* gcc.dg/Wstringop-overflow-13.c: New test.
      
      From-SVN: r270154
      Martin Sebor committed
    • PR middle-end/89934 - ICE on a call with fewer arguments to strncpy declared without prototype · 9a0cbb60
      gcc/ChangeLog:
      
      	PR middle-end/89934
      	* gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail
      	out if the number of arguments is less than expected.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/89934
      	* gcc.dg/Wrestrict-19.c: New test.
      	* gcc.dg/Wrestrict-5.c: Add comment.  Remove unused code.
      
      From-SVN: r270152
      Martin Sebor committed
    • re PR target/89399 (ICE: RTL check: expected code 'set', 'clobber' or… · c2457887
      re PR target/89399 (ICE: RTL check: expected code 'set', 'clobber' or 'clobber_high', have 'parallel' in combine_reaching_defs, at ree.c:783)
      
      	PR rtl-optimization/89399
      	* ree.c (combine_set_extension): Use single_set rather than
      	digging into PATTERN for items on the candidate list.
      	(combine_reaching_defs): Likewise.
      
      	PR rtl-optimization/89399
      	* gcc.c-torture/compile/pr89399.c: New test.
      
      From-SVN: r270151
      Jeff Law committed
    • re PR fortran/89904 (ICE in gfortran starting with r270045) · aace91e2
      2019-04-04  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/89004
      	* check.c (gfc_check_transfer): Reject procedures as actual
      	arguments for SOURCE and MOLD of TRANSFER intrinsic.
      
      	PR fortran/89004
      	* gfortran.dg/pr85797.f90: Adjust testcase.
      
      From-SVN: r270150
      Harald Anlauf committed
    • re PR c++/65619 (friend declaration with template template parameter not recognized) · 3a36c180
      2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65619
      	* g++.dg/template/friend67.C: New.
      
      From-SVN: r270146
      Paolo Carlini committed
    • re PR c++/61327 (Problem with friend template object) · a7f70a09
      2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/61327
      	* g++.dg/cpp0x/friend4.C: New.
      	* g++.dg/cpp0x/friend5.C: Likewise.
      
      From-SVN: r270145
      Paolo Carlini committed
    • re PR c++/56643 (Failure to match noexcept specifier of friend template function in template class) · 7b74bfb1
      2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56643
      	* g++.dg/cpp0x/noexcept40.C: New.
      
      From-SVN: r270144
      Paolo Carlini committed
    • Fix typo in ChangeLog · f97cd76e
      From-SVN: r270143
      Christophe Lyon committed
    • DF usage in loop-invariant.c (PR46590) · 6541e97d
      - df_live is already present at -O2, so we only need to add it and
        mark all blocks dirty for -O
      
      - df_process_deferred_rescans should be enough to force a rescan of
        blocks affected by moving invariants, but calling it in find_defs
        means that we don't do any rescans for the final loop
      
      2019-04-04  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	PR rtl-optimization/46590
      	* loop-invariant.c (find_defs): Move df_remove_problem and
      	df_process_deferred_rescans to move_invariants.
      	Move df_live_add_problem and df_live_set_all_dirty calls
      	to move_invariants.
      	(move_invariants): Likewise.
      	(move_loop_invariants): Likewise, making the df_live calls
      	conditional on -O.  Remove the problem again if we added it
      	locally.
      
      From-SVN: r270142
      Richard Sandiford committed
    • Daily bump. · 325d3f46
      From-SVN: r270141
      GCC Administrator committed
  3. 03 Apr, 2019 19 commits