gcc.git
5 years ago[ARM] Fix availability of FP16-FP64 conversion instructions
Christophe Lyon [Mon, 11 Mar 2019 21:04:02 +0000 (21:04 +0000)]
[ARM] Fix availability of FP16-FP64 conversion instructions

2019-03-11  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/arm/f16_f64_conv_no_dp.c: Add arm_fp16_ok effective
target.

From-SVN: r269596

5 years agoFix double string quoting.
Martin Liska [Mon, 11 Mar 2019 20:56:07 +0000 (21:56 +0100)]
Fix double string quoting.

2019-03-11  Martin Liska  <mliska@suse.cz>

* config/aarch64/aarch64.c (aarch64_override_options_internal):
Fix double string quoting.

From-SVN: r269595

5 years agore PR libbacktrace/89669 (/usr/ccs/bin/ld: Unsatisfied symbols: backtrace_uncompress_...
Ian Lance Taylor [Mon, 11 Mar 2019 20:40:34 +0000 (20:40 +0000)]
re PR libbacktrace/89669 (/usr/ccs/bin/ld: Unsatisfied symbols: backtrace_uncompress_zdebug)

PR libbacktrace/89669
* Makefile.am (BUILDTESTS): Only add ztest and ztest_alloc if
HAVE_ELF.
* Makefile.in: Regenerate.

From-SVN: r269594

5 years agoPR libstdc++/89460 Fix Networking TS test failures on HP-UX
Jonathan Wakely [Mon, 11 Mar 2019 16:28:11 +0000 (16:28 +0000)]
PR libstdc++/89460 Fix Networking TS test failures on HP-UX

Check for availability of POSIX sockatmark before using it.

Rename _S_ntoh overloads that are ambiguous when passed an integral type
that is neither uint16_t nor uint32_t.

PR libstdc++/89460
* configure.ac: Check for sockatmark.
* crossconfig.m4: Check for sockatmark.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/experimental/internet (address_v4::_S_hton): Rename
overloaded functions to _S_hton_16 and _S_ntoh_16.
(address_v4::_S_ntoh): Rename to _S_ntoh_16 and _S_ntoh_32.
(basic_endpoint): Adjust calls to _S_hton and _S_ntoh.
* include/experimental/socket (basic_socket::at_mark): Check
_GLIBCXX_HAVE_SOCKATMARK.

From-SVN: r269588

5 years agoWrap apostrophes in gcc internal format with %'.
Martin Liska [Mon, 11 Mar 2019 13:59:04 +0000 (14:59 +0100)]
Wrap apostrophes in gcc internal format with %'.

2019-03-11  Martin Liska  <mliska@suse.cz>

* check-internal-format-escaping.py: Uncomment apostrophes
check.
2019-03-11  Martin Liska  <mliska@suse.cz>

* collect-utils.c (collect_wait): Wrap apostrophes
in gcc internal format with %'.
* collect2.c (main): Likewise.
(scan_prog_file): Likewise.
(scan_libraries): Likewise.
* config/i386/i386.c (ix86_expand_call): Likewise.
(ix86_handle_interrupt_attribute): Likewise.
* config/nds32/nds32-intrinsic.c (nds32_expand_builtin_impl): Likewise.
* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
* config/rl78/rl78.c (rl78_handle_saddr_attribute): Likewise.
* lto-wrapper.c (find_crtoffloadtable): Likewise.
* symtab.c (symtab_node::verify_base): Likewise.
* tree-cfg.c (verify_gimple_label): Likewise.
* tree.c (verify_type_variant): Likewise.
2019-03-11  Martin Liska  <mliska@suse.cz>

* c-opts.c (c_common_post_options): Wrap apostrophes
in gcc internal format with %'.
2019-03-11  Martin Liska  <mliska@suse.cz>

* cvt.c (build_expr_type_conversion): Wrap apostrophes
in gcc internal format with %'.
* decl.c (check_no_redeclaration_friend_default_args): Likewise.
(grokfndecl): Likewise.
* name-lookup.c (do_pushtag): Likewise.
* pt.c (unify_parameter_deduction_failure): Likewise.
(unify_template_deduction_failure): Likewise.

From-SVN: r269587

5 years agoWrap option names in gcc internal messages with %< and %>.
Martin Liska [Mon, 11 Mar 2019 13:58:44 +0000 (14:58 +0100)]
Wrap option names in gcc internal messages with %< and %>.

2019-03-11  Martin Liska  <mliska@suse.cz>

* check-internal-format-escaping.py: New file.
2019-03-11  Martin Liska  <mliska@suse.cz>

* builtins.c (expand_builtin_thread_pointer): Wrap an option name
in a string format message and fix GNU coding style.
(expand_builtin_set_thread_pointer): Likewise.
* common/config/aarch64/aarch64-common.c (aarch64_rewrite_selected_cpu): Likewise.
* common/config/alpha/alpha-common.c (alpha_handle_option): Likewise.
* common/config/arc/arc-common.c (arc_handle_option): Likewise.
* common/config/arm/arm-common.c (arm_parse_fpu_option): Likewise.
* common/config/bfin/bfin-common.c (bfin_handle_option): Likewise.
* common/config/i386/i386-common.c (ix86_handle_option): Likewise.
* common/config/ia64/ia64-common.c (ia64_handle_option): Likewise.
* common/config/m68k/m68k-common.c (m68k_handle_option): Likewise.
* common/config/msp430/msp430-common.c (msp430_handle_option): Likewise.
* common/config/nds32/nds32-common.c (nds32_handle_option): Likewise.
* common/config/powerpcspe/powerpcspe-common.c (rs6000_handle_option): Likewise.
* common/config/riscv/riscv-common.c (riscv_subset_list::parsing_subset_version): Likewise.
(riscv_subset_list::parse_std_ext): Likewise.
(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
(riscv_subset_list::parse): Likewise.
* common/config/rs6000/rs6000-common.c (rs6000_handle_option): Likewise.
* config/aarch64/aarch64.c (aarch64_parse_one_option_token): Likewise.
(aarch64_override_options_internal): Likewise.
(aarch64_validate_mcpu): Likewise.
(aarch64_validate_march): Likewise.
(aarch64_validate_mtune): Likewise.
(aarch64_override_options): Likewise.
* config/alpha/alpha.c (alpha_option_override): Likewise.
* config/arc/arc.c (arc_init): Likewise.
(parse_mrgf_banked_regs_option): Likewise.
(arc_override_options): Likewise.
(arc_expand_builtin_aligned): Likewise.
* config/arm/arm-builtins.c (arm_expand_neon_builtin): Likewise.
(arm_expand_builtin): Likewise.
* config/arm/arm.c (arm_option_check_internal): Likewise.
(arm_configure_build_target): Likewise.
(arm_option_override): Likewise.
(arm_options_perform_arch_sanity_checks): Likewise.
(arm_handle_cmse_nonsecure_entry): Likewise.
(arm_handle_cmse_nonsecure_call): Likewise.
(arm_tls_referenced_p): Likewise.
(thumb1_expand_prologue): Likewise.
* config/avr/avr.c (avr_option_override): Likewise.
* config/bfin/bfin.c (bfin_option_override): Likewise.
* config/c6x/c6x.c (c6x_option_override): Likewise.
* config/cr16/cr16.c (cr16_override_options): Likewise.
* config/cris/cris.c (cris_option_override): Likewise.
* config/csky/csky.c (csky_handle_isr_attribute): Likewise.
* config/darwin-c.c (macosx_version_as_macro): Likewise.
* config/darwin.c (darwin_override_options): Likewise.
* config/frv/frv.c (frv_expand_builtin): Likewise.
* config/h8300/h8300.c (h8300_option_override): Likewise.
* config/i386/i386.c (parse_mtune_ctrl_str): Likewise.
(ix86_option_override_internal): Likewise.
(warn_once_call_ms2sysv_xlogues): Likewise.
(ix86_expand_prologue): Likewise.
(split_stack_prologue_scratch_regno): Likewise.
(ix86_warn_parameter_passing_abi): Likewise.
* config/ia64/ia64.c (fix_range): Likewise.
* config/m68k/m68k.c (m68k_option_override): Likewise.
* config/microblaze/microblaze.c (microblaze_option_override): Likewise.
* config/mips/mips.c (mips_emit_probe_stack_range): Likewise.
(mips_set_compression_mode): Likewise.
* config/mmix/mmix.c (mmix_option_override): Likewise.
* config/mn10300/mn10300.c (mn10300_option_override): Likewise.
* config/msp430/msp430.c (msp430_option_override): Likewise.
* config/nds32/nds32.c (nds32_option_override): Likewise.
* config/nios2/nios2.c (nios2_custom_check_insns): Likewise.
(nios2_option_override): Likewise.
(nios2_expand_custom_builtin): Likewise.
* config/nvptx/mkoffload.c (main): Likewise.
* config/nvptx/nvptx.c (diagnose_openacc_conflict): Likewise.
* config/pa/pa.c (fix_range): Likewise.
(pa_option_override): Likewise.
* config/riscv/riscv.c (riscv_parse_cpu): Likewise.
(riscv_option_override): Likewise.
* config/rl78/rl78.c (rl78_option_override): Likewise.
* config/rs6000/aix61.h: Likewise.
* config/rs6000/aix71.h: Likewise.
* config/rs6000/aix72.h: Likewise.
* config/rs6000/driver-rs6000.c (elf_platform): Likewise.
* config/rs6000/freebsd64.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
(rs6000_expand_zeroop_builtin): Likewise.
(rs6000_expand_mtfsb_builtin): Likewise.
(rs6000_expand_set_fpscr_rn_builtin): Likewise.
(rs6000_expand_set_fpscr_drn_builtin): Likewise.
(rs6000_invalid_builtin): Likewise.
(rs6000_expand_split_stack_prologue): Likewise.
* config/rs6000/rtems.h: Likewise.
* config/rx/rx.c (valid_psw_flag): Likewise.
(rx_expand_builtin): Likewise.
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Likewise.
* config/s390/s390.c (s390_expand_builtin): Likewise.
(s390_function_profiler): Likewise.
(s390_option_override_internal): Likewise.
(s390_option_override): Likewise.
* config/sh/sh.c (sh_option_override): Likewise.
(sh_builtin_saveregs): Likewise.
(sh_fix_range): Likewise.
* config/sh/vxworks.h: Likewise.
* config/sparc/sparc.c (sparc_option_override): Likewise.
* config/spu/spu.c (spu_option_override): Likewise.
(fix_range): Likewise.
* config/visium/visium.c (visium_option_override): Likewise.
(visium_handle_interrupt_attr): Likewise.
* config/xtensa/xtensa.c (xtensa_option_override): Likewise.
* dbgcnt.c (dbg_cnt_set_limit_by_name): Likewise.
(dbg_cnt_process_opt): Likewise.
* dwarf2out.c (output_dwarf_version): Likewise.
* except.c (expand_eh_return): Likewise.
* gcc.c (defined): Likewise.
(driver_handle_option): Likewise.
(process_command): Likewise.
(compare_files): Likewise.
(driver::prepare_infiles): Likewise.
(driver::do_spec_on_infiles): Likewise.
(driver::maybe_run_linker): Likewise.
* omp-offload.c (oacc_parse_default_dims): Likewise.
* opts-global.c (handle_common_deferred_options): Likewise.
* opts.c (parse_sanitizer_options): Likewise.
(common_handle_option): Likewise.
(enable_warning_as_error): Likewise.
* passes.c (enable_disable_pass): Likewise.
* plugin.c (parse_plugin_arg_opt): Likewise.
(default_plugin_dir_name): Likewise.
* targhooks.c (default_expand_builtin_saveregs): Likewise.
(default_pch_valid_p): Likewise.
* toplev.c (init_asm_output): Likewise.
(process_options): Likewise.
(toplev::run_self_tests): Likewise.
* tree-cfg.c (verify_gimple_call): Likewise.
* tree-inline.c (inline_forbidden_p_stmt): Likewise.
(tree_inlinable_function_p): Likewise.
* var-tracking.c (vt_find_locations): Likewise.
2019-03-11  Martin Liska  <mliska@suse.cz>

* gcc-interface/misc.c (gnat_post_options) Wrap an option name
in a string format message and fix GNU coding style.:
2019-03-11  Martin Liska  <mliska@suse.cz>

* c-attribs.c (handle_nocf_check_attribute): Wrap an option name
in a string format message and fix GNU coding style.
* c-common.c (vector_types_convertible_p): Likewise.
(c_build_vec_perm_expr): Likewise.
* c-indentation.c (get_visual_column): Likewise.
* c-opts.c (c_common_handle_option): Likewise.
(c_common_post_options): Likewise.
(sanitize_cpp_opts): Likewise.
* c-pch.c (c_common_pch_pragma): Likewise.
* c-pragma.c (handle_pragma_pack): Likewise.
2019-03-11  Martin Liska  <mliska@suse.cz>

* c-decl.c (check_for_loop_decls): Wrap an option name
in a string format message and fix GNU coding style.
* c-parser.c (c_parser_declspecs): Likewise.
2019-03-11  Martin Liska  <mliska@suse.cz>

* call.c (convert_arg_to_ellipsis): Wrap an option name
in a string format message and fix GNU coding style.
(build_over_call): Likewise.
* class.c (check_field_decl): Likewise.
(layout_nonempty_base_or_field): Likewise.
* constexpr.c (cxx_eval_loop_expr): Likewise.
* cvt.c (type_promotes_to): Likewise.
* decl.c (cxx_init_decl_processing): Likewise.
(mark_inline_variable): Likewise.
(grokdeclarator): Likewise.
* decl2.c (record_mangling): Likewise.
* error.c (maybe_warn_cpp0x): Likewise.
* except.c (doing_eh): Likewise.
* mangle.c (maybe_check_abi_tags): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
(cp_parser_userdef_numeric_literal): Likewise.
(cp_parser_primary_expression): Likewise.
(cp_parser_unqualified_id): Likewise.
(cp_parser_pseudo_destructor_name): Likewise.
(cp_parser_builtin_offsetof): Likewise.
(cp_parser_lambda_expression): Likewise.
(cp_parser_lambda_introducer): Likewise.
(cp_parser_lambda_declarator_opt): Likewise.
(cp_parser_selection_statement): Likewise.
(cp_parser_init_statement): Likewise.
(cp_parser_decomposition_declaration): Likewise.
(cp_parser_function_specifier_opt): Likewise.
(cp_parser_static_assert): Likewise.
(cp_parser_simple_type_specifier): Likewise.
(cp_parser_namespace_definition): Likewise.
(cp_parser_using_declaration): Likewise.
(cp_parser_ctor_initializer_opt_and_function_body): Likewise.
(cp_parser_initializer_list): Likewise.
(cp_parser_type_parameter_key): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_parser_try_block): Likewise.
(cp_parser_std_attribute_spec): Likewise.
(cp_parser_requires_clause_opt): Likewise.
* pt.c (check_template_variable): Likewise.
(check_default_tmpl_args): Likewise.
(push_tinst_level_loc): Likewise.
(instantiate_pending_templates): Likewise.
(invalid_nontype_parm_type_p): Likewise.
* repo.c (get_base_filename): Likewise.
* rtti.c (typeid_ok_p): Likewise.
(build_dynamic_cast_1): Likewise.
* tree.c (maybe_warn_parm_abi): Likewise.
2019-03-11  Martin Liska  <mliska@suse.cz>

* decl.c (match_record_decl): Wrap an option name
in a string format message and fix GNU coding style.
(gfc_match_pointer): Likewise.
* expr.c (find_array_section): Likewise.
* intrinsic.c (gfc_is_intrinsic): Likewise.
* options.c (gfc_post_options): Likewise.
* primary.c (match_integer_constant): Likewise.
* trans-common.c (translate_common): Likewise.
2019-03-11  Martin Liska  <mliska@suse.cz>

* lto-lang.c (lto_post_options): Wrap an option name
in a string format message and fix GNU coding style.
* lto-symtab.c (lto_symtab_merge_decls_2): Likewise.
2019-03-11  Martin Liska  <mliska@suse.cz>

* g++.dg/conversion/simd3.C (foo): Wrap option names
with apostrophe character.
* g++.dg/cpp1z/decomp3.C (test): Likewise.
(test3): Likewise.
* g++.dg/cpp1z/decomp4.C (test): Likewise.
* g++.dg/cpp1z/decomp44.C (foo): Likewise.
* g++.dg/cpp1z/decomp45.C (f): Likewise.
* g++.dg/opt/pr34036.C: Likewise.
* g++.dg/spellcheck-c++-11-keyword.C: Likewise.
* gcc.dg/c90-fordecl-1.c (foo): Likewise.
* gcc.dg/cpp/dir-only-4.c: Likewise.
* gcc.dg/cpp/dir-only-5.c: Likewise.
* gcc.dg/cpp/pr71591.c: Likewise.
* gcc.dg/format/opt-1.c: Likewise.
* gcc.dg/format/opt-2.c: Likewise.
* gcc.dg/format/opt-3.c: Likewise.
* gcc.dg/format/opt-4.c: Likewise.
* gcc.dg/format/opt-5.c: Likewise.
* gcc.dg/format/opt-6.c: Likewise.
* gcc.dg/pr22231.c: Likewise.
* gcc.dg/pr33007.c: Likewise.
* gcc.dg/simd-1.c (hanneke): Likewise.
* gcc.dg/simd-5.c: Likewise.
* gcc.dg/simd-6.c: Likewise.
* gcc.dg/spellcheck-options-14.c: Likewise.
* gcc.dg/spellcheck-options-15.c: Likewise.
* gcc.dg/spellcheck-options-16.c: Likewise.
* gcc.dg/spellcheck-options-17.c: Likewise.
* gcc.dg/tree-ssa/pr23109.c: Likewise.
* gcc.dg/tree-ssa/recip-5.c: Likewise.
* gcc.target/i386/cet-notrack-1a.c (func): Likewise.
(__attribute__): Likewise.
* gcc.target/i386/cet-notrack-icf-1.c (fn3): Likewise.
* gcc.target/i386/cet-notrack-icf-3.c (__attribute__): Likewise.
* gcc.target/powerpc/warn-1.c: Likewise.
* gcc.target/powerpc/warn-2.c: Likewise.

From-SVN: r269586

5 years agoChange test to use const variables instead of macros
Jonathan Wakely [Mon, 11 Mar 2019 13:46:09 +0000 (13:46 +0000)]
Change test to use const variables instead of macros

This is C++ so there's no reason to use macros here.

* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Use
const variables instead of macros.

From-SVN: r269585

5 years agoPR libstdc++/89629 fix _Hash_bytes for lengths > INT_MAX
Jonathan Wakely [Mon, 11 Mar 2019 13:46:05 +0000 (13:46 +0000)]
PR libstdc++/89629 fix _Hash_bytes for lengths > INT_MAX

PR libstdc++/89629
* libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
Use correct type for len_aligned.
* testsuite/20_util/hash/89629.cc: New test.

From-SVN: r269584

5 years agoS/390: Fix immediate vector operands for some builtins.
Andreas Krebbel [Mon, 11 Mar 2019 13:30:35 +0000 (13:30 +0000)]
S/390: Fix immediate vector operands for some builtins.

This fixes a problem with vec_add/sub_u128 builtins.  The
s390_expand_builtin backend function is supposed to convert the
operand to TImode *AND* load it into a vector register.  The current
implementation did only the conversion and gave up then.

gcc/ChangeLog:

2019-03-11  Andreas Krebbel  <krebbel@linux.ibm.com>

* config/s390/s390.c (s390_expand_builtin): Do the copy_to_reg not
only on the else branch.

gcc/testsuite/ChangeLog:

2019-03-11  Andreas Krebbel  <krebbel@linux.ibm.com>

* gcc.target/s390/zvector/vec-addc-u128.c: New test.

From-SVN: r269583

5 years agore PR libstdc++/89641 (std::atomic<T> no longer works)
Jakub Jelinek [Mon, 11 Mar 2019 11:49:13 +0000 (12:49 +0100)]
re PR libstdc++/89641 (std::atomic<T> no longer works)

PR libstdc++/89641
* include/std/atomic (atomic<T>::store, atomic<T>::load,
atomic<T>::exchange, atomic<T>::compare_exchange_weak,
atomic<T>::compare_exchange_strong): Cast __m or __s and __f to int.
* include/bits/atomic_base.h (__atomic_base<T>::operator++,
__atomic_base<T>::operator--, __atomic_base<T>::operator+=,
__atomic_base<T>::operator-=, __atomic_base<T>::operator&=,
__atomic_base<T>::operator|=, __atomic_base<T>::operator^=,
__atomic_base<T*>::operator++, __atomic_base<T*>::operator--,
__atomic_base<T*>::operator+=, __atomic_base<T*>::operator-=): Cast
memory_order_seq_cst to int.

From-SVN: r269582

5 years agoImprove JSON format: add function names for lines.
Martin Liska [Mon, 11 Mar 2019 11:48:49 +0000 (12:48 +0100)]
Improve JSON format: add function names for lines.

2019-03-11  Martin Liska  <mliska@suse.cz>

* gcov.c (output_intermediate_json_line): Print function
name of each line.
(output_json_intermediate_file): Add new argument.
* doc/gcov.texi: Document the change.

From-SVN: r269581

5 years agore PR rtl-optimization/89588 (ICE in unroll_loop_constant_iterations, at loop-unroll...
Eric Botcazou [Mon, 11 Mar 2019 11:37:46 +0000 (11:37 +0000)]
re PR rtl-optimization/89588 (ICE in unroll_loop_constant_iterations, at loop-unroll.c:498)

PR rtl-optimization/89588
* loop-unroll.c (decide_unroll_constant_iterations): Make guard for
explicit unrolling factor more robust.

From-SVN: r269579

5 years agore PR tree-optimization/89649 (r269458 FAILs g++.dg/pr80481.C, scan-assembler-not...
Richard Biener [Mon, 11 Mar 2019 11:31:05 +0000 (11:31 +0000)]
re PR tree-optimization/89649 (r269458 FAILs g++.dg/pr80481.C, scan-assembler-not vmovaps)

2019-03-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/89649
* tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
* tree-vect-loop-manip.c (vect_do_peeling): Unset force_vectorize
on the prolog and epilog loops.
(vect_loop_versioning): Return copy of loop.
* tree-vect-loop.c (vect_transform_loop): Unset force_vectorize
on the non-vectorized version of the loop.

From-SVN: r269578

5 years agore PR c++/87571 (ICE in friend_accessible_p, accessing protected member of template...
Paolo Carlini [Mon, 11 Mar 2019 10:30:24 +0000 (10:30 +0000)]
re PR c++/87571 (ICE in friend_accessible_p, accessing protected member of template friend inside template class)

2019-03-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/87571
* g++.dg/template/memfriend18.C: New.

From-SVN: r269575

5 years agoFix up doubly applied patch making two copies of the test in one file.
Jakub Jelinek [Mon, 11 Mar 2019 07:30:48 +0000 (08:30 +0100)]
Fix up doubly applied patch making two copies of the test in one file.

From-SVN: r269566

5 years agoDaily bump.
GCC Administrator [Mon, 11 Mar 2019 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r269565

5 years agore PR target/68924 (No intrinsic for x86 `MOVQ m64, %xmm` in 32bit mode.)
Uros Bizjak [Sun, 10 Mar 2019 22:59:31 +0000 (23:59 +0100)]
re PR target/68924 (No intrinsic for x86  `MOVQ m64, %xmm`  in 32bit mode.)

PR target/68924
* config/i386/sse.md (*vec_extractv2di_0_sse):
Add (=r,x) alternative and corresponding splitter.

From-SVN: r269562

5 years agore PR d/87824 (x86_64-linux multilib issues)
Iain Buclaw [Sun, 10 Mar 2019 21:55:30 +0000 (21:55 +0000)]
re PR d/87824 (x86_64-linux multilib issues)

    PR d/87824
d/dmd: Merge upstream dmd fcc235e8e

Associative arrays are value types, which are not covariant with the
pointer type typeof(null).

Updates https://gcc.gnu.org/PR87824

Reviewed-on: https://github.com/dlang/dmd/pull/9435

From-SVN: r269561

5 years agore PR d/89016 (ICE in ArrayLiteralExp::toStringExp, at d/dmd/expression.c:3873)
Iain Buclaw [Sun, 10 Mar 2019 17:25:18 +0000 (17:25 +0000)]
re PR d/89016 (ICE in ArrayLiteralExp::toStringExp, at d/dmd/expression.c:3873)

    PR d/89016
d/dmd: Merge upstream dmd da26db819

Backports supplementary fix for ICE on importing deprecated modules.

Updates https://gcc.gnu.org/PR89016

Reviewed-on: https://github.com/dlang/dmd/pull/9436

From-SVN: r269560

5 years agoMark gdc.dg/pr89041.d as compile test
Rainer Orth [Sun, 10 Mar 2019 16:45:23 +0000 (16:45 +0000)]
Mark gdc.dg/pr89041.d as compile test

* gdc.dg/pr89041.d: Mark as compile test.

From-SVN: r269559

5 years agoCompile gcc.target/i386/indirect-thunk-extern-7.c with -fjump-tables
Rainer Orth [Sun, 10 Mar 2019 16:43:48 +0000 (16:43 +0000)]
Compile gcc.target/i386/indirect-thunk-extern-7.c with -fjump-tables

* gcc.target/i386/indirect-thunk-extern-7.c: Add -fjump-tables to
dg-options.

From-SVN: r269558

5 years agore PR d/88958 (ICE in walk_aliased_vdefs_1, at tree-ssa-alias.c:2887)
Iain Buclaw [Sun, 10 Mar 2019 16:29:48 +0000 (16:29 +0000)]
re PR d/88958 (ICE in walk_aliased_vdefs_1, at tree-ssa-alias.c:2887)

    PR d/88958
d/dmd: Merge upstream dmd 0fc786f49

Backport fix to disallow passing functions as parameters.

Fixes https://gcc.gnu.org/PR88958

Reviewed-on: https://github.com/dlang/dmd/pull/9437

From-SVN: r269557

5 years agoMake SRA less strict with memcpy performing MEM_REFs
Martin Jambor [Sun, 10 Mar 2019 16:20:06 +0000 (17:20 +0100)]
Make SRA less strict with memcpy performing MEM_REFs

2019-03-10  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/85762
PR tree-optimization/87008
PR tree-optimization/85459
* tree-sra.c (contains_vce_or_bfcref_p): New parameter, set the bool
it points to if there is a type changing MEM_REF.  Adjust all callers.
(build_accesses_from_assign): Disable total scalarization if
contains_vce_or_bfcref_p returns true through the new parameter, for
both rhs and lhs.

testsuite/
* g++.dg/tree-ssa/pr87008.C: New test.
* gcc.dg/guality/pr54970.c: Xfail tests querying a[0] everywhere.

From-SVN: r269556

5 years agore PR fortran/66089 (elemental dependency mishandling when class array are involved)
Thomas Koenig [Sun, 10 Mar 2019 14:21:34 +0000 (14:21 +0000)]
re PR fortran/66089 (elemental dependency mishandling when class array are involved)

2019-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/66089
    * gfortran.dg/assumed_type_2.f90: Adapted tree dumps.
    * gfortran.dg/no_arg_check_2.f90: Likewise.

From-SVN: r269555

5 years agore PR c++/89648 (rejects-valid error starting with r268850)
Jakub Jelinek [Sun, 10 Mar 2019 13:02:48 +0000 (14:02 +0100)]
re PR c++/89648 (rejects-valid error starting with r268850)

PR c++/89648
* g++.dg/cpp0x/lambda/lambda-89648.C: New test.

From-SVN: r269554

5 years agore PR other/82704 (GCC fails to download prerequisites on busybox distro (unrecognize...
Tommy Nguyen [Sun, 10 Mar 2019 12:49:13 +0000 (12:49 +0000)]
re PR other/82704 (GCC fails to download prerequisites on busybox distro (unrecognized sha512sum --check))

2019-03-10  Tommy Nguyen  <remyabel@gmail.com>

PR contrib/82704
* download_prerequisites: Use -c instead of --check for sha512sum.

From-SVN: r269553

5 years agore PR fortran/66089 (elemental dependency mishandling when class array are involved)
Thomas Koenig [Sun, 10 Mar 2019 10:42:23 +0000 (10:42 +0000)]
re PR fortran/66089 (elemental dependency mishandling when class array are involved)

2019-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/66089
    * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
    Return false if a scalar tempoary is needed.
    (gfc_walk_variable_expr): Fix up class refs.

2019-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/66089
    * gfortran.dg/dependency_53.f90: New test.

From-SVN: r269549

5 years agore PR fortran/87734 (ICE in is_illegal_recursion check for character len= parameter)
Thomas Koenig [Sun, 10 Mar 2019 09:34:46 +0000 (09:34 +0000)]
re PR fortran/87734 (ICE in is_illegal_recursion check for character len= parameter)

2019-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/87734
* symbol.c (gfc_add_procedure): Only throw an error if the
procedure has not been declared either PUBLIC or PRIVATE.

2019-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/87734
* gfortran.dg/public_private_module_10.f90: New test.

From-SVN: r269547

5 years agoDaily bump.
GCC Administrator [Sun, 10 Mar 2019 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r269545

5 years agore PR c++/70349 (FAIL: g++.dg/abi/abi-tag18a.C -std=gnu++98 scan-assembler _ZZ1fB7_...
John David Anglin [Sat, 9 Mar 2019 22:58:24 +0000 (22:58 +0000)]
re PR c++/70349 (FAIL: g++.dg/abi/abi-tag18a.C  -std=gnu++98  scan-assembler _ZZ1fB7__test1vEN1T1gB7__test2Ev)

PR c++/70349
* g++.dg/abi/abi-tag18a.C: Skip on 32-bit hppa*-*-hpux*.

From-SVN: r269542

5 years agore PR middle-end/68733 (FAIL: libgomp.c/target-29.c (internal compiler error))
John David Anglin [Sat, 9 Mar 2019 22:32:30 +0000 (22:32 +0000)]
re PR middle-end/68733 (FAIL: libgomp.c/target-29.c (internal compiler error))

PR middle-end/68733
* c-c++-common/gomp/clauses-2.c: Skip on 32-bit hppa*-*-hpux*.

From-SVN: r269541

5 years agore PR testsuite/89472 (FAIL: gcc.dg/debug/dwarf2/inline5.c scan-assembler-times DW_TA...
John David Anglin [Sat, 9 Mar 2019 22:13:01 +0000 (22:13 +0000)]
re PR testsuite/89472 (FAIL: gcc.dg/debug/dwarf2/inline5.c scan-assembler-times DW_TAG_lexical_block\\)[^#/!@;\\|]*[#/!@;\\|]+ +[^#/!@\\|]*\\(DIE \\(0x[0-9a-f]*\\) DW_TAG_variable 1)

PR testsuite/89472
* gcc.dg/debug/dwarf2/inline5.c: XFAIL one scan-assembler-times check.

From-SVN: r269540

5 years agore PR c++/87750 (Failed compilation / parsing of template member call after 'using...
Paolo Carlini [Sat, 9 Mar 2019 21:49:41 +0000 (21:49 +0000)]
re PR c++/87750 (Failed compilation / parsing of template member call after 'using' declaration)

2019-03-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/87750
* g++.dg/cpp0x/pr87750.C: New.

From-SVN: r269539

5 years agoident-0b.c: Also skip on 32-bit hppa*-*-hpux*.
John David Anglin [Sat, 9 Mar 2019 21:48:43 +0000 (21:48 +0000)]
ident-0b.c: Also skip on 32-bit hppa*-*-hpux*.

* c-c++-common/ident-0b.c: Also skip on 32-bit hppa*-*-hpux*.
* c-c++-common/ident-1a.c: Likewise.
* c-c++-common/ident-1b.c: Likewise.
* c-c++-common/ident-2b.c: Likewise.

From-SVN: r269538

5 years agopr77285-2.C: Require tls_native support.
John David Anglin [Sat, 9 Mar 2019 20:18:41 +0000 (20:18 +0000)]
pr77285-2.C: Require tls_native support.

* g++.dg/tls/pr77285-2.C: Require tls_native support.

From-SVN: r269537

5 years agolambda1.C: Require visibility.
John David Anglin [Sat, 9 Mar 2019 20:08:54 +0000 (20:08 +0000)]
lambda1.C: Require visibility.

* g++.dg/ext/visibility/lambda1.C: Require visibility.

From-SVN: r269536

5 years agore PR inline-asm/87010 (FAIL: gcc.dg/torture/20180712-1.c -O1 (test for excess...
John David Anglin [Sat, 9 Mar 2019 19:56:06 +0000 (19:56 +0000)]
re PR inline-asm/87010 (FAIL: gcc.dg/torture/20180712-1.c   -O1  (test for excess errors))

PR inline-asm/87010
* gcc.dg/torture/20180712-1.c: Skip on hppa*-*-*.

From-SVN: r269535

5 years agocoarray_data_1.f90: Link against libatomic if target libatomic_available.
John David Anglin [Sat, 9 Mar 2019 19:39:38 +0000 (19:39 +0000)]
coarray_data_1.f90: Link against libatomic if target libatomic_available.

* gfortran.dg/coarray_data_1.f90: Link against libatomic if target
libatomic_available.

From-SVN: r269534

5 years agod: Fix ICE in get_frame_for_symbol
Iain Buclaw [Sat, 9 Mar 2019 19:29:29 +0000 (19:29 +0000)]
d: Fix ICE in get_frame_for_symbol

When generating code for a non-nested delegate literal, there is no
context pointer required to pass to the function.

2019-03-09  Iain Buclaw  <ibuclaw@gdcproject.org>

gcc/d/
PR d/89041
* d-codegen.cc (get_frame_for_symbol): Delegate literals defined in
global scope don't have a frame pointer.

gcc/testsuite/
PR d/89041
* gdc.dg/pr89041.d: New test.

From-SVN: r269533

5 years agore PR fortran/71544 (gfortran compiler optimization bug when dealing with c-style...
Thomas Koenig [Sat, 9 Mar 2019 19:21:24 +0000 (19:21 +0000)]
re PR fortran/71544 (gfortran compiler optimization bug when dealing with c-style pointers)

2019-03-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71544
* trans-types.c (gfc_typenode_for_spec) Set ts->is_c_interop of
C_PTR and C_FUNPTR.
(create_fn_spec): Mark argument as escaping if ts->is_c_interop is set.

2019-03-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71544
* gfortran.dg/c_ptr_tests_19.f90: New test.

From-SVN: r269532

5 years agodebug11.adb: Skip on 32-bit hppa*-*-hpux*.
John David Anglin [Sat, 9 Mar 2019 19:10:00 +0000 (19:10 +0000)]
debug11.adb: Skip on 32-bit hppa*-*-hpux*.

* gnat.dg/debug11.adb: Skip on 32-bit hppa*-*-hpux*.
* gnat.dg/debug12.adb: Likewise.

From-SVN: r269531

5 years agotarget-supports.exp (check_effective_target_weak_undefined): Return 0 on hppa*-*...
John David Anglin [Sat, 9 Mar 2019 18:51:39 +0000 (18:51 +0000)]
target-supports.exp (check_effective_target_weak_undefined): Return 0 on hppa*-*-hpux*.

* lib/target-supports.exp (check_effective_target_weak_undefined):
Return 0 on hppa*-*-hpux*.
(check_ascii_locale_available): Likewise.

From-SVN: r269530

5 years agore PR fortran/84504 ([F08] procedure pointer variables cannot be initialized with...
Janus Weil [Sat, 9 Mar 2019 18:25:39 +0000 (19:25 +0100)]
re PR fortran/84504 ([F08] procedure pointer variables cannot be initialized with functions returning pointers)

fix PR 84504

2019-03-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84504
* expr.c (gfc_check_assign_symbol): Deal with procedure pointers to
pointer-valued functions.

2019-03-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/84504
* gfortran.dg/pointer_init_10.f90: New test case.

From-SVN: r269529

5 years agoieee_9.f90: Fix typo.
John David Anglin [Sat, 9 Mar 2019 16:50:17 +0000 (16:50 +0000)]
ieee_9.f90: Fix typo.

        * gfortran.dg/ieee/ieee_9.f90: Fix typo.

From-SVN: r269528

5 years agore PR fortran/89639 (FAIL: gfortran.dg/ieee/ieee_9.f90 -O0 (test for excess errors))
John David Anglin [Sat, 9 Mar 2019 16:31:46 +0000 (16:31 +0000)]
re PR fortran/89639 (FAIL: gfortran.dg/ieee/ieee_9.f90   -O0  (test for excess errors))

PR fortran/89639
* gfortran.dg/ieee/ieee_9.f90: Skip on hppa*-*-linux*.

From-SVN: r269527

5 years agore PR fortran/71203 (ICE in add_init_expr_to_sym, at fortran/decl.c:1512 and :1564)
Thomas Koenig [Sat, 9 Mar 2019 14:10:17 +0000 (14:10 +0000)]
re PR fortran/71203 (ICE in add_init_expr_to_sym, at fortran/decl.c:1512 and :1564)

2019-03-09  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/71203
* decl.c (add_init_expr_to_sym):  Add shape if init has none.  Add
assert that it has to be an EXPR_ARRAY in this case.

2019-03-09  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/71203
* gfortran.dg/array_simplify_3.f90: New test case.

From-SVN: r269526

5 years agore PR c/88568 ('dllimport' no longer implies 'extern' in C)
Jakub Jelinek [Sat, 9 Mar 2019 12:08:23 +0000 (13:08 +0100)]
re PR c/88568 ('dllimport' no longer implies 'extern' in C)

PR c/88568
* attribs.c (handle_dll_attribute): Don't clear TREE_STATIC for
dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT.

* g++.dg/other/pr88568.C: New test.

From-SVN: r269525

5 years agore PR target/79645 (missing period in microblaze.opt)
Jakub Jelinek [Sat, 9 Mar 2019 09:28:04 +0000 (10:28 +0100)]
re PR target/79645 (missing period in microblaze.opt)

PR target/79645
* common.opt (fdiagnostics-show-labels,
fdiagnostics-show-line-numbers, fdiagnostics-format=,
fdiagnostics-minimum-margin-width=, fgnat-encodings=, gas-loc-support,
gas-locview-support, ginline-points, ginternal-reset-location-views):
Terminate description text with a dot.
* config/microblaze/microblaze.opt (mxl-prefetch): Likewise.
* config/mcore/mcore.opt (m210, m340): Likewise.
* config/epiphany/epiphany.opt (mprefer-short-insn-regs, mcmove,
mnops=): Start description text with a capital letter.
* config/arc/arc.opt (msize-level=): Likewise.
* config/sh/sh.opt (minline-ic_invalidate): Likewise.
* config/rs6000/sysv4.opt (mno-toc, mtoc, mno-traceback, mshlib,
mnewlib): Likewise.
* config/ft32/ft32.opt (msim): Likewise.
(mft32b, mcompress): Likewise.  Terminate description text with a dot.
(mnodiv, mnopm): Terminate description text with a dot.
* config/c6x/c6x.opt (c6x_sdata): Terminate Enum description with
a colon.
* config/i386/i386.opt (prefer_vector_width, instrument_return):
Likewise.
* config/rx/rx.opt (nofpu): Remove trailing spaces from description
text.
lto/
* lang.opt: Terminate description text with a dot.

From-SVN: r269523

5 years agore PR rtl-optimization/89634 (gmp-ecm miscompilation on s390x with -march=zEC12 ...
Jakub Jelinek [Sat, 9 Mar 2019 08:25:48 +0000 (09:25 +0100)]
re PR rtl-optimization/89634 (gmp-ecm miscompilation on s390x with -march=zEC12 -m64 -O2)

PR rtl-optimization/89634
* cfgcleanup.c (thread_jump): Punt if registers mentioned in cond1
are modified in BB_END (e->src) instruction.

* gcc.c-torture/execute/pr89634.c: New test.

From-SVN: r269522

5 years agore PR go/89447 (libgo largefile support is incomplete and inconsistent)
Ian Lance Taylor [Sat, 9 Mar 2019 02:10:22 +0000 (02:10 +0000)]
re PR go/89447 (libgo largefile support is incomplete and inconsistent)

PR go/89447
    syscall, internal/syscall: adjust use of largefile functions

    Consistently call __go_openat for openat.  Use fstatat64, creat64,
    sendfile64, and getdents64 where needed.

    Based on patch by Rainer Orth.

    Fixes https://gcc.gnu.org/PR89447

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/166420

From-SVN: r269521

5 years agoDaily bump.
GCC Administrator [Sat, 9 Mar 2019 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r269520

5 years agore PR c/85870 ([LTO1] ICE in linemap_line_start, at libcpp/line-map.c:794)
Jakub Jelinek [Fri, 8 Mar 2019 22:30:34 +0000 (23:30 +0100)]
re PR c/85870 ([LTO1] ICE in linemap_line_start, at libcpp/line-map.c:794)

PR c/85870
* gcc.dg/lto/pr85870_0.c: Add dg-extra-ld-options with
-r -nostdlib -flinker-output=nolto-rel.

From-SVN: r269516

5 years agoi386.c: make "sorry" message more amenable to translation (PR target/79926)
David Malcolm [Fri, 8 Mar 2019 22:27:08 +0000 (22:27 +0000)]
i386.c: make "sorry" message more amenable to translation (PR target/79926)

gcc/ChangeLog:
PR target/79926
* config/i386/i386.c (ix86_set_current_function): Make "sorry"
messages more amenable to translation, and improve wording.

gcc/testsuite/ChangeLog:
PR target/79926
* gcc.target/i386/interrupt-387-err-1.c: Update expected message.
* gcc.target/i386/interrupt-387-err-2.c: Likewise.
* gcc.target/i386/interrupt-mmx-err-1.c: Likewise.
* gcc.target/i386/interrupt-mmx-err-2.c: Likewise.

From-SVN: r269515

5 years agore PR c++/63540 (Erroneous "'Derived' declares a move constructor or move assignment...
Paolo Carlini [Fri, 8 Mar 2019 21:22:07 +0000 (21:22 +0000)]
re PR c++/63540 (Erroneous "'Derived' declares a move constructor or move assignment operator" in error.)

2019-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63540
* g++.dg/cpp0x/implicit17.C: New.

From-SVN: r269508

5 years agore PR c++/22149 (func pointer non-type template parm invalid access control)
Paolo Carlini [Fri, 8 Mar 2019 20:59:39 +0000 (20:59 +0000)]
re PR c++/22149 (func pointer non-type template parm invalid access control)

2019-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/22149
* g++.dg/template/access29.C: New.

From-SVN: r269507

5 years agors6000-p8swap.c (rs6000_analyze_swaps): Rebuild ud- and du-chains between phases.
Bill Schmidt [Fri, 8 Mar 2019 19:47:05 +0000 (19:47 +0000)]
rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild ud- and du-chains between phases.

2019-03-08  Bill Schmidt  <wschmidt@linux.ibm.com>

* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild
ud- and du-chains between phases.

From-SVN: r269505

5 years agore PR c++/82075 (structured binding fails with empty base class)
Jakub Jelinek [Fri, 8 Mar 2019 18:31:27 +0000 (19:31 +0100)]
re PR c++/82075 (structured binding fails with empty base class)

PR c++/82075
* g++.dg/cpp1z/decomp49.C: New test.

From-SVN: r269504

5 years agoFix POLY_INT_CST/CONST_POLY_INT typo (PR 89631)
Richard Sandiford [Fri, 8 Mar 2019 18:18:23 +0000 (18:18 +0000)]
Fix POLY_INT_CST/CONST_POLY_INT typo (PR 89631)

2019-03-08  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
PR debug/89631
* dwarf2cfi.c (dwarf2out_frame_debug_expr): Use CONST_POLY_INT
instead of POLY_INT_CST.

From-SVN: r269500

5 years ago[GCC, Arm] Fix availability of FP16-FP64 conversion instructions
Andre Vieira [Fri, 8 Mar 2019 17:29:02 +0000 (17:29 +0000)]
[GCC, Arm] Fix availability of FP16-FP64 conversion instructions

vcvtb.f16.f64 and vcvtb.f64.f16 were being made available even for FPUs that do
not support double precision.  This patch fixes that.

gcc/ChangeLog:
2019-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE
requirement.

gcc/testsuite/ChangeLog:
2019-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* gcc.target/arm/f16_f64_conv_no_dp.c: New test.

From-SVN: r269499

5 years agore PR target/68924 (No intrinsic for x86 `MOVQ m64, %xmm` in 32bit mode.)
Uros Bizjak [Fri, 8 Mar 2019 15:53:47 +0000 (16:53 +0100)]
re PR target/68924 (No intrinsic for x86  `MOVQ m64, %xmm`  in 32bit mode.)

PR target/68924
PR target/78782
PR target/87558
* config/i386/emmintrin.h (_mm_loadu_si64): New intrinsic.
(_mm_storeu_si64): Ditto.

testsuite/ChangeLog:

PR target/68924
PR target/78782
PR target/87558
* gcc.target/i386/pr78782.c: New test.
* gcc.target/i386/pr87558.c: Ditto.

From-SVN: r269497

5 years agoAdd tests for resolved PR (PR c/85870).
Jakub Jelinek [Fri, 8 Mar 2019 14:04:27 +0000 (15:04 +0100)]
Add tests for resolved PR (PR c/85870).

2019-03-08  Jakub Jelinek  <jakub@redhat.com>

PR c/85870
* gcc.dg/lto/pr85870_0.c: New test.
* gcc.dg/lto/pr85870_1.c: New test.

From-SVN: r269495

5 years agoFix text of hyperlink in manual
Jonathan Wakely [Fri, 8 Mar 2019 13:56:53 +0000 (13:56 +0000)]
Fix text of hyperlink in manual

* doc/xml/manual/using.xml: Use link element instead of xref.
* doc/html/*: Regenerate.

From-SVN: r269494

5 years agoAdd fixed underlying type to enum path::format
Jonathan Wakely [Fri, 8 Mar 2019 13:56:48 +0000 (13:56 +0000)]
Add fixed underlying type to enum path::format

* include/bits/fs_path.h (path::format): Add fixed underlying type.

From-SVN: r269493

5 years agox86: Disable jump tables when retpolines are used (PR target/86952).
Martin Liska [Fri, 8 Mar 2019 12:55:40 +0000 (13:55 +0100)]
x86: Disable jump tables when retpolines are used (PR target/86952).

2019-03-08  Martin Liska  <mliska@suse.cz>

PR target/86952
* config/i386/i386.c (ix86_option_override_internal): Disable
jump tables when retpolines are used.
2019-03-08  Martin Liska  <mliska@suse.cz>

PR target/86952
* gcc.target/i386/pr86952.c: New test.
* gcc.target/i386/indirect-thunk-7.c: Use jump tables to match
scanned pattern.
* gcc.target/i386/indirect-thunk-inline-7.c: Likewise.

From-SVN: r269492

5 years agoRestrict IPA split (PR go/63560).
Jan Hubicka [Fri, 8 Mar 2019 12:37:54 +0000 (13:37 +0100)]
Restrict IPA split (PR go/63560).

2019-03-08  Jan Hubicka  <hubicka@ucw.cz>

PR go/63560
* ipa-split.c (execute_split_functions): Do not split
'noinline' or 'section' function.

From-SVN: r269491

5 years agore PR target/79846 (s390: untranslatable diagnostic in s390.c)
Jakub Jelinek [Fri, 8 Mar 2019 10:53:27 +0000 (11:53 +0100)]
re PR target/79846 (s390: untranslatable diagnostic in s390.c)

PR target/79846
* config/s390/s390.c (s390_const_operand_ok): Use %wu instead of
HOST_WIDE_INT_PRINT_UNSIGNED and %wd instead of
HOST_WIDE_INT_PRINT_DEC.  Formatting fixes.

From-SVN: r269489

5 years agore PR ipa/80000 (diagnostics: trailing spaces in "one definition rule ")
Jakub Jelinek [Fri, 8 Mar 2019 10:52:38 +0000 (11:52 +0100)]
re PR ipa/80000 (diagnostics: trailing spaces in "one definition rule  ")

PR ipa/80000
* ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
from diagnostics.  Formatting fixes.

PR target/85665
* ipa-devirt.c (odr_types_equivalent_p): Fix grammar in
warn_odr diagnostics.

From-SVN: r269488

5 years agore PR other/80058 (fix double spaces in string literals everywhere)
Jakub Jelinek [Fri, 8 Mar 2019 10:51:28 +0000 (11:51 +0100)]
re PR other/80058 (fix double spaces in string literals everywhere)

PR other/80058
* lra-constraints.c (process_alt_operands): Avoid one space before
" at the end of line and another after " on another line in a string
literal.
* attribs.c (handle_dll_attribute): Likewise.
* config/avr/avr-devices.c (avr_texinfo): Likewise.
cp/
* parser.c (cp_parser_template_declaration_after_parameters): Avoid
one space before " at the end of line and another after " on another
line in a string literal.
fortran/
* arith.c (gfc_complex2complex): Avoid two spaces in the middle of
diagnostics.
* resolve.c (resolve_allocate_expr): Likewise.

From-SVN: r269487

5 years agogimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap warning_at or inform...
Jakub Jelinek [Fri, 8 Mar 2019 10:50:23 +0000 (11:50 +0100)]
gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap warning_at or inform messages in G_() if there is no ?:.

* gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap
warning_at or inform messages in G_() if there is no ?:.

From-SVN: r269486

5 years agore PR tree-optimization/89550 (Spurious array-bounds warning when using __PRETTY_FUNC...
Jakub Jelinek [Fri, 8 Mar 2019 10:46:39 +0000 (11:46 +0100)]
re PR tree-optimization/89550 (Spurious array-bounds warning when using __PRETTY_FUNCTION__ as a string_view)

PR tree-optimization/89550
* builtins.c (c_strlen): Only set TREE_NO_WARNING if warning_at
returned true.  Formatting fixes.
(expand_builtin_strnlen): Formatting fixes.
* tree-vrp.c (vrp_prop::check_mem_ref): Only set TREE_NO_WARNING
if warning_at returned true.
* tree-cfg.c (pass_warn_function_return::execute): Likewise.
c-family/
* c-common.c (c_common_truthvalue_conversion): Only set
TREE_NO_WARNING if warning_at returned true.
* c-warn.c (overflow_warning, warn_logical_operator): Likewise.
c/
* c-decl.c (finish_function): Only set TREE_NO_WARNING if warning_at
returned true.
(c_write_global_declarations_1): Only set TREE_NO_WARNING if pedwarn
or warning returned true.
cp/
* semantics.c (maybe_convert_cond): Only set TREE_NO_WARNING if
warning_at returned true.
* decl2.c (c_parse_final_cleanups): Likewise.
* typeck.c (convert_for_assignment): Likewise.
* decl.c (finish_function): Likewise.

From-SVN: r269485

5 years agore PR target/89578 (5% runtime regression for 481.wrf at -Ofast -flto)
Richard Biener [Fri, 8 Mar 2019 10:20:12 +0000 (10:20 +0000)]
re PR target/89578 (5% runtime regression for 481.wrf at -Ofast -flto)

2019-03-08  Richard Biener  <rguenther@suse.de>

PR middle-end/89578
* cfgloop.h (struct loop): Add owned_clique field.
* cfgloopmanip.c (copy_loop_info): Copy it.
* tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique
cliques.
* tree-inline.c (copy_loops): Remap owned_clique.
* lto-streamer-in.c (input_cfg): Stream owned_clique.
* lto-streamer-out.c (output_cfg): Likewise.

From-SVN: r269484

5 years agore PR c++/89585 (GCC 8.3: asm volatile no longer accepted at file scope)
Jakub Jelinek [Fri, 8 Mar 2019 07:45:23 +0000 (08:45 +0100)]
re PR c++/89585 (GCC 8.3: asm volatile no longer accepted at file scope)

PR c++/89585
* parser.c (cp_parser_asm_definition): Just warn instead of error
on volatile qualifier outside of function body.

* g++.dg/asm-qual-3.C: Adjust expected diagnostics for toplevel
asm volatile.

From-SVN: r269483

5 years agore PR c++/89599 (C-style function-pointer-to-void* cast is handled inconsistently)
Jakub Jelinek [Fri, 8 Mar 2019 07:43:58 +0000 (08:43 +0100)]
re PR c++/89599 (C-style function-pointer-to-void* cast is handled inconsistently)

PR c++/89599
* constexpr.c (potential_constant_expression_1): Reject
REINTERPRET_CAST_P NOP_EXPRs.

* g++.dg/ubsan/vptr-4.C: Adjust expected diagnostics.
* g++.dg/parse/array-size2.C: Likewise.
* g++.dg/cpp0x/constexpr-89599.C: New test.

From-SVN: r269482

5 years agore PR c++/89622 (G++ prints notes, but no warning or error)
Jakub Jelinek [Fri, 8 Mar 2019 07:42:51 +0000 (08:42 +0100)]
re PR c++/89622 (G++ prints notes, but no warning or error)

PR c++/89622
* call.c (joust): Call print_z_candidate only if pedwarn returned
true.

* g++.dg/warn/pr89622.C: New test.

From-SVN: r269481

5 years agore PR target/80190 (darwin: untranslateable placeholder "non-ASCII character")
Jakub Jelinek [Fri, 8 Mar 2019 07:39:31 +0000 (08:39 +0100)]
re PR target/80190 (darwin: untranslateable placeholder "non-ASCII character")

PR target/80190
* config/darwin.c: Include intl.h.
(darwin_build_constant_cfstring): Improve i18n of diagnostics by not
composing the message out of two separate parts.

From-SVN: r269480

5 years agore PR libstdc++/89477 (Incorrect CTAD deduction guides for set and multiset)
François Dumont [Fri, 8 Mar 2019 05:53:09 +0000 (05:53 +0000)]
re PR libstdc++/89477 (Incorrect CTAD deduction guides for set and multiset)

2019-03-08  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/89477
* include/debug/map.h (map): Use _RequireNotAllocator to constrain
parameters in deduction guides.
* include/debug/multimap.h (multimap): Likewise.
* include/debug/set.h (multimap): Likewise.
* include/debug/multiset.h (multimap): Likewise.
* include/debug/unordered_map (unordered_map): Likewise.
(unordered_multimap): Likewise.
* include/debug/unordered_set (unordered_set): Likewise.
(unordered_multiset): Likewise.

From-SVN: r269479

5 years agore PR libstdc++/89608 (Undetected iterator invalidations on unordered containers...
François Dumont [Fri, 8 Mar 2019 05:37:50 +0000 (05:37 +0000)]
re PR libstdc++/89608 (Undetected iterator invalidations on unordered containers in debug mode)

2019-03-08  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/89608
* include/debug/unordered_map (unordered_map<>::_M_check_rehashed):
Invalidate all iterators in case of rehash.
(unordered_multimap<>::_M_check_rehashed): Likewise.
* include/debug/unordered_set
(unordered_set<>::_M_check_rehashed): Likewise.
(unordered_multiset<>::_M_check_rehashed): Likewise.
* testsuite/23_containers/unordered_set/debug/89608_neg.cc: New.

From-SVN: r269478

5 years agoPR c++/88123 - lambda and using-directive.
Jason Merrill [Fri, 8 Mar 2019 02:54:41 +0000 (21:54 -0500)]
PR c++/88123 - lambda and using-directive.

For named function calls in a template, the result of unqualified lookup is
safed in CALL_EXPR_FN.  But for operator expressions, no unqualified lookup
is performed until we know whether the operands have class type.  So when we
see in a lambda a use of an operator that might be overloaded, we need to do
that lookup then and save it away somewhere.  One possibility would be in
the expression, but we can't really add extra conditional operands to
standard tree codes.  I mostly implemented another approach using a new
WITH_LOOKUP_EXPR code, but teaching everywhere how to handle a new tree code
is always complicated.  Then it occurred to me that we could associate the
lookups with the function, which is both simpler and smaller.  So this patch
stores any operator bindings needed by a lambda function in an internal
attribute on the lambda call operator.

* name-lookup.c (op_unqualified_lookup)
(maybe_save_operator_binding, discard_operator_bindings)
(push_operator_bindings): New.
* typeck.c (build_x_binary_op, build_x_unary_op): Call
maybe_save_operator_binding.
* decl.c (start_preparsed_function): Call push_operator_bindings.
* tree.c (cp_free_lang_data): Call discard_operator_bindings.

From-SVN: r269477

5 years agoDaily bump.
GCC Administrator [Fri, 8 Mar 2019 00:16:34 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r269476

5 years ago* sv.po: Update.
Joseph Myers [Fri, 8 Mar 2019 00:06:15 +0000 (00:06 +0000)]
* sv.po: Update.

From-SVN: r269473

5 years agoRISC-V: Add libstdc++ check-abi support.
Andreas Schwab [Thu, 7 Mar 2019 23:24:59 +0000 (23:24 +0000)]
RISC-V: Add libstdc++ check-abi support.

Andreas Schwab  <schwab@suse.de>
* config/abi/post/riscv64-linux-gnu: New directory.
* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: New file.

From-SVN: r269472

5 years agore PR target/80003 (i386.c: %s placeholder is no semantic grammar unit)
Jakub Jelinek [Thu, 7 Mar 2019 21:32:21 +0000 (22:32 +0100)]
re PR target/80003 (i386.c: %s placeholder is no semantic grammar unit)

PR target/80003
* config/i386/i386.c (ix86_set_func_type): Make sure diagnostics
doesn't start with a capital letter and doesn't end with a dot.
(ix86_function_arg_boundary): Make sure diagnostics doesn't start
with a capital letter.
(ix86_mangle_function_version_assembler_name): Likewise.
(ix86_generate_version_dispatcher_body): Likewise.
(fold_builtin_cpu): Likewise.
(get_builtin_code_for_version): Likewise.  Remove extraneous space.
(ix86_handle_interrupt_attribute): Make the diagnostics easier for
translators, wrap full type name in %qs.

* gcc.target/i386/pr68657.c: Adjust expected diagnostics wording.
* gcc.target/i386/interrupt-6.c: Likewise.
* g++.target/i386/pr57362.C: Adjust capitalization in dg-prune-output.

From-SVN: r269471

5 years ago* fi.po: Update.
Joseph Myers [Thu, 7 Mar 2019 20:50:30 +0000 (20:50 +0000)]
* fi.po: Update.

From-SVN: r269470

5 years agore PR c++/84518 (ICE with lambda capturing broken variable)
Paolo Carlini [Thu, 7 Mar 2019 20:49:42 +0000 (20:49 +0000)]
re PR c++/84518 (ICE with lambda capturing broken variable)

2019-03-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84518
* g++.dg/cpp0x/lambda/lambda-ice30.C: New.
* g++.dg/cpp0x/lambda/lambda-ice31.C: Likewise.

From-SVN: r269469

5 years agore PR translation/79999 (possible typo in gimplify.c: depend(sink:))
Jakub Jelinek [Thu, 7 Mar 2019 19:46:11 +0000 (20:46 +0100)]
re PR translation/79999 (possible typo in gimplify.c: depend(sink:))

PR translation/79999
* gimplify.c (gimplify_omp_ordered): Reword diagnostics to talk about
depend clause with source (or sink) modifier.
* omp-expand.c (expand_omp_ordered_sink): Likewise.

* c-c++-common/gomp/doacross-1.c: Adjust expected diagnostics.
* c-c++-common/gomp/doacross-3.c: New test.

From-SVN: r269468

5 years agore PR target/89602 (Missing AVX512 intrinsics)
Jakub Jelinek [Thu, 7 Mar 2019 19:10:21 +0000 (20:10 +0100)]
re PR target/89602 (Missing AVX512 intrinsics)

PR target/89602
* config/i386/sse.md (avx512f_mov<ssescalarmodelower>_mask,
*avx512f_load<mode>_mask, avx512f_store<mode>_mask): New define_insns.
(avx512f_load<mode>_mask): New define_expand.
* config/i386/i386-builtin.def (__builtin_ia32_loadsd_mask,
__builtin_ia32_loadss_mask, __builtin_ia32_storesd_mask,
__builtin_ia32_storess_mask, __builtin_ia32_movesd_mask,
__builtin_ia32_movess_mask): New builtins.
* config/i386/avx512fintrin.h (_mm_mask_load_ss, _mm_maskz_load_ss,
_mm_mask_load_sd, _mm_maskz_load_sd, _mm_mask_move_ss,
_mm_maskz_move_ss, _mm_mask_move_sd, _mm_maskz_move_sd,
_mm_mask_store_ss, _mm_mask_store_sd): New intrinsics.

* gcc.target/i386/avx512f-vmovss-1.c: New test.
* gcc.target/i386/avx512f-vmovss-2.c: New test.
* gcc.target/i386/avx512f-vmovss-3.c: New test.
* gcc.target/i386/avx512f-vmovsd-1.c: New test.
* gcc.target/i386/avx512f-vmovsd-2.c: New test.
* gcc.target/i386/avx512f-vmovsd-3.c: New test.

From-SVN: r269467

5 years agod/dmd: Merge upstream dmd d517c0e6a
Iain Buclaw [Thu, 7 Mar 2019 16:57:23 +0000 (16:57 +0000)]
d/dmd: Merge upstream dmd d517c0e6a

Fixes https://gcc.gnu.org/PR89016

Reviewed-on: https://github.com/dlang/dmd/pull/9427

From-SVN: r269465

5 years agoZero local estimated benefit for cloning extern inline function
Martin Jambor [Thu, 7 Mar 2019 16:42:20 +0000 (17:42 +0100)]
Zero local estimated benefit for cloning extern inline function

2019-03-07  Martin Jambor  <mjambor@suse.cz>

PR lto/87525
* ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit
for extern inline functions.

testsuite/
* gcc.dg/ipa/ipcp-5.c: New test.

From-SVN: r269464

5 years agoPR c++/88820 - ICE with CTAD and member template used in DMI.
Jason Merrill [Thu, 7 Mar 2019 16:15:56 +0000 (11:15 -0500)]
PR c++/88820 - ICE with CTAD and member template used in DMI.

Here the problem was that in order to form a FUNCTION_DECL for foo<int> in
the uninstantiated template, we were trying to deduce template args for S
from the template parm itself, and failing.

* pt.c (do_class_deduction): Handle parm used as its own arg.

From-SVN: r269463

5 years agoRelax cgraph_node::clone_of_p to also look through former clones
Martin Jambor [Thu, 7 Mar 2019 16:03:34 +0000 (17:03 +0100)]
Relax cgraph_node::clone_of_p to also look through former clones

2019-03-07  Martin Jambor  <mjambor@suse.cz>

PR ipa/88235
* cgraph.h (cgraph_node): New inline method former_thunk_p.
* cgraph.c (cgraph_node::dump): Dump a note if node is a former thunk.
(clone_of_p): Treat expanded thunks like thunks, be optimistic if they
have multiple callees.  At the end check if declarations match as
opposed to cgraph_nodes.

testsuite/
* g++.dg/ipa/pr88235.C: New test.

From-SVN: r269462

5 years agoSignificantly speed up verifiers for a cgraph_node with many clones.
Martin Liska [Thu, 7 Mar 2019 15:33:52 +0000 (16:33 +0100)]
Significantly speed up verifiers for a cgraph_node with many clones.

2019-03-07  Martin Liska  <mliska@suse.cz>

* cgraph.c (cgraph_node::verify_node): Verify with a neighbour
which is equivalent to searching for this in clones chain.
* symtab.c (symtab_node::verify_base): Similarly compare ASM
names with a neighbour and special case first node in a chain.

From-SVN: r269461

5 years agoFix comment
Jason Merrill [Thu, 7 Mar 2019 15:16:04 +0000 (10:16 -0500)]
Fix comment

From-SVN: r269460

5 years agoPR c++/80916 - spurious "static but not defined" warning.
Jason Merrill [Thu, 7 Mar 2019 15:10:22 +0000 (10:10 -0500)]
PR c++/80916 - spurious "static but not defined" warning.

Nothing can refer to an internal decl with no definition, so we shouldn't
treat such a decl as a possible devirtualization target.

* gimple-fold.c (can_refer_decl_in_current_unit_p): Return false
for an internal symbol with DECL_EXTERNAL.

From-SVN: r269459

5 years agore PR tree-optimization/89618 (Inner loop won't vectorize unless dummy statement...
Richard Biener [Thu, 7 Mar 2019 14:53:37 +0000 (14:53 +0000)]
re PR tree-optimization/89618 (Inner loop won't vectorize unless dummy statement is included)

2019-04-07  Richard Biener  <rguenther@suse.de>

PR middle-end/89618
* cfgloopmanip.c (copy_loop_info): Copy forgotten fields.
* tree-inline.c (copy_loops): Simplify.

* gcc.target/i386/pr89618.c: New testcase.

From-SVN: r269458

5 years agoFix new test to run as well as compile
Jonathan Wakely [Thu, 7 Mar 2019 14:35:22 +0000 (14:35 +0000)]
Fix new test to run as well as compile

* testsuite/20_util/function_objects/bind_front/1.cc: Change from
compile test to run. Fix typo.

From-SVN: r269457

5 years agoUpdate C++20 status table in libstdc++ manual
Jonathan Wakely [Thu, 7 Mar 2019 14:25:05 +0000 (14:25 +0000)]
Update C++20 status table in libstdc++ manual

* doc/xml/manual/status_cxx2020.xml: Update C++20 status.
* doc/html/*: Regenerate.

From-SVN: r269456

5 years agoP0356R5 Simplified partial function application
Jonathan Wakely [Thu, 7 Mar 2019 14:15:53 +0000 (14:15 +0000)]
P0356R5 Simplified partial function application

* include/std/functional [C++20] (_Bind_front, _Bind_front_t): Define
helpers for bind_front.
(bind_front, __cpp_lib_bind_front): Define.
* testsuite/20_util/function_objects/bind_front/1.cc: New test.

From-SVN: r269455

5 years agoRevert function removal made in r264561.
Martin Liska [Thu, 7 Mar 2019 13:47:53 +0000 (14:47 +0100)]
Revert function removal made in r264561.

2019-03-07  Martin Liska  <mliska@suse.cz>

* dwarf2out.c (add_AT_vms_delta): Revert function removal.

From-SVN: r269454

5 years agore PR tree-optimization/89595 (DOM miscompiles code)
Richard Biener [Thu, 7 Mar 2019 12:46:44 +0000 (12:46 +0000)]
re PR tree-optimization/89595 (DOM miscompiles code)

2019-03-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/89595
* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take
stmt iterator as reference, take boolean output parameter to
indicate whether the stmt was removed and thus the iterator
already advanced.
(dom_opt_dom_walker::before_dom_children): Re-iterate over
stmts created by folding.

* gcc.dg/torture/pr89595.c: New testcase.

From-SVN: r269453

5 years agore PR c++/89585 (GCC 8.3: asm volatile no longer accepted at file scope)
Jakub Jelinek [Thu, 7 Mar 2019 08:18:36 +0000 (09:18 +0100)]
re PR c++/89585 (GCC 8.3: asm volatile no longer accepted at file scope)

PR c++/89585
* doc/extend.texi (Basic Asm): Document qualifiers are not allowed
at toplevel.

* parser.c (cp_parser_asm_definition): Parse asm qualifiers even
at toplevel, but diagnose them.

* g++.dg/asm-qual-3.C: Adjust expected diagnostics.

From-SVN: r269451