- 19 Jun, 2018 26 commits
-
-
From-SVN: r261775
David Edelsohn committed -
gcc/testsuite/ChangeLog: * c-c++-common/attr-nonstring-8.c: Adjust text of expected warning to also match C++. From-SVN: r261774
Martin Sebor committed -
tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at -O0 if the locus represent UNKNOWN_LOCATION but have... * tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at -O0 if the locus represent UNKNOWN_LOCATION but have different values. From-SVN: r261770
Eric Botcazou committed -
rs6000-string.c (select_block_compare_mode): Check TARGET_EFFICIENT_OVERLAPPING_UNALIGNED here instead of in caller. 2018-06-19 Aaron Sawdey <acsawdey@linux.ibm.com> * config/rs6000/rs6000-string.c (select_block_compare_mode): Check TARGET_EFFICIENT_OVERLAPPING_UNALIGNED here instead of in caller. (do_and3, do_and3_mask, do_compb3, do_rotl3): New functions. (expand_block_compare): Change select_block_compare_mode call. (expand_strncmp_align_check): Use new functions, fix comment. (emit_final_str_compare_gpr): New function. (expand_strn_compare): Refactor and clean up code. * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Remove *. From-SVN: r261769
Aaron Sawdey committed -
2018-06-19 Tony Reix <tony.reix@atos.com> Damien Bergamini <damien.bergamini@atos.com> David Edelsohn <dje.gcc@gmail.com> * collect2.c (static_obj): New variable. (static_libs): New variable. (is_in_list): Uncomment declaration. (main): Track AIX libraries linked statically. (is_in_list): Uncomment definition. (scan_prog_file): Don't add AIX shared libraries initializer to constructor list if linking statically. Co-Authored-By: Damien Bergamini <damien.bergamini@atos.com> Co-Authored-By: David Edelsohn <dje.gcc@gmail.com> From-SVN: r261759
Tony Reix committed -
* cp-tree.h (CONSTRUCTOR_NO_IMPLICIT_ZERO): Remove. * constexpr.c: Use CONSTRUCTOR_NO_CLEARING instead. From-SVN: r261758
Jason Merrill committed -
* pt.c (tsubst_expr) [DECL_EXPR]: Handle an anonymous union type used to declare a named variable. From-SVN: r261757
Jason Merrill committed -
The issue is caused by reordering of stack pointer update after stack space allocation with instructions that write to the allocated stack space. In windowed ABI register spill area for the previous call frame is located just below the stack pointer and may be reloaded back into the register file on movsp. Implement allocate_stack pattern for windowed ABI configuration and insert an instruction that prevents reordering of frame memory access and stack pointer update. gcc/ 2018-06-19 Max Filippov <jcmvbkbc@gmail.com> * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec constant. (allocate_stack, frame_blockage, *frame_blockage): New patterns. From-SVN: r261755
Max Filippov committed -
gcc/testsuite/ChangeLog: PR middle-end/85602 * c-c++-common/attr-nonstring-8.c: Adjust text of expected warning to also match C++. From-SVN: r261751
Martin Sebor committed -
This header was needed for the declaration of std::terminate but the calls to it were removed in r242401. * include/std/utility: Remove unused <exception> header. From-SVN: r261749
Jonathan Wakely committed -
* tree.c (find_decls_types_r): Remove all non-VAR_DECLs from blocks. * g++.dg/lto/pr84805_0.C: Update template. * g++.dg/lto/pr84805_1.C: Update template. From-SVN: r261748
Jan Hubicka committed -
From-SVN: r261745
Joseph Myers committed -
2018-06-19 Martin Liska <mliska@suse.cz> * config/i386/i386.c (ix86_can_inline_p): Do not use ipa_fn_summaries::get_create. * ipa-cp.c (ipcp_cloning_candidate_p): Replace get_create with get. (devirtualization_time_bonus): Likewise. (ipcp_propagate_stage): Likewise. * ipa-fnsummary.c (redirect_to_unreachable): Likewise. (edge_set_predicate): Likewise. (evaluate_conditions_for_known_args): Likewise. (evaluate_properties_for_edge): Likewise. (ipa_call_summary::reset): Tranform to ... (ipa_call_summary::~ipa_call_summary): ... this. (ipa_fn_summary::reset): Transform to ... (ipa_fn_summary::~ipa_fn_summary): ... this. (ipa_fn_summary_t::remove): Rename to ... (ipa_fn_summary_t::remove_callees): ... this. (ipa_fn_summary_t::duplicate): Use placement new instead of memory copy. (ipa_call_summary_t::duplicate): Likewise. (ipa_call_summary_t::remove): Remove. (dump_ipa_call_summary): Change get_create to get. (ipa_dump_fn_summary): Dump only when summary exists. (analyze_function_body): Use symbol_summary::get instead of get_create. (compute_fn_summary): Likewise. (estimate_edge_devirt_benefit): Likewise. (estimate_edge_size_and_time): Likewise. (inline_update_callee_summaries): Likewise. (remap_edge_change_prob): Likewise. (remap_edge_summaries): Likewise. (ipa_merge_fn_summary_after_inlining): Likewise. (write_ipa_call_summary): Likewise. (ipa_fn_summary_write): Likewise. (ipa_free_fn_summary): Likewise. * ipa-fnsummary.h (struct GTY): Add new ctor and copy ctor. (struct ipa_call_summary): Likewise. * ipa-icf.c (sem_function::merge): Use symbol_summary::get instead of get_create. * ipa-inline-analysis.c (do_estimate_edge_time): Likewise. (estimate_size_after_inlining): Likewise. (estimate_growth): Likewise. (growth_likely_positive): Likewise. * ipa-inline-transform.c (clone_inlined_nodes): Likewise. (inline_call): Likewise. * ipa-inline.c (caller_growth_limits): Likewise. (can_inline_edge_p): Likewise. (can_inline_edge_by_limits_p): Likewise. (compute_uninlined_call_time): Likewise. (compute_inlined_call_time): Likewise. (want_inline_small_function_p): Likewise. (edge_badness): Likewise. (update_caller_keys): Likewise. (update_callee_keys): Likewise. (inline_small_functions): Likewise. (inline_to_all_callers_1): Likewise. (dump_overall_stats): Likewise. (early_inline_small_functions): Likewise. (early_inliner): Likewise. * ipa-profile.c (ipa_propagate_frequency_1): Likewise. * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise. * ipa-pure-const.c (malloc_candidate_p): Likewise. * ipa-split.c (execute_split_functions): Likewise. * symbol-summary.h: Likewise. * tree-sra.c (ipa_sra_preliminary_function_checks): Likewise. 2018-06-19 Martin Liska <mliska@suse.cz> * lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead of get_create. (undo_partition): Likewise. (lto_balanced_map): Likewise. From-SVN: r261744
Martin Liska committed -
From-SVN: r261742
Martin Liska committed -
2018-06-19 Martin Liska <mliska@suse.cz> * gcc-rtl.vim: New file. From-SVN: r261741
Martin Liska committed -
2018-06-19 Richard Biener <rguenther@suse.de> * tree-vectorizer.c (try_vectorize_loop_1): Split out of ... (vectorize_loops): ... here. Fix dbgcnt handling. (try_vectorize_loop): Wrap try_vectorize_loop_1. From-SVN: r261740
Richard Biener committed -
* zlib/configure.ac: Restore old behaviour of only enabling multilibs when a target subdirectory is defined. This allows building with srcdir == builddir. * zlib/configure: Regenerate. From-SVN: r261739
Nick Clifton committed -
The existing code allows only 4 vectors worth of ieee128 homogeneous aggregates, but it should be 8. This happens because at one spot it is mistakenly qualified as being passed in floating point registers. PR target/86197 * config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An ieee128 argument takes up only one (vector) register, not two (floating point) registers. From-SVN: r261738
Segher Boessenkool committed -
gimplify.c (gimplify_init_constructor): Really never clear for an incomplete constructor if CONSTRUCTOR_NO_CLEARING is set. * gimplify.c (gimplify_init_constructor): Really never clear for an incomplete constructor if CONSTRUCTOR_NO_CLEARING is set. From-SVN: r261735
Eric Botcazou committed -
2018-06-19 Martin Liska <mliska@suse.cz> * config-lang.in: Remove stagestuff. From-SVN: r261733
Martin Liska committed -
2018-06-19 Richard Biener <rguenther@suse.de> PR tree-optimization/86179 * tree-vect-patterns.c (vect_pattern_recog_1): Clean up after failed recognition. * gcc.dg/pr86179.c: New testcase. From-SVN: r261731
Richard Biener committed -
* tree.c (cp_expr_location): New. * cp-tree.h (cp_expr_loc_or_loc): New. * call.c, cvt.c, constexpr.c, constraint.cc, cp-gimplify.c, decl.c, error.c, init.c, lex.c, parser.c, pt.c, semantics.c, typeck.c, typeck2.c: Use it instead of EXPR_LOC_OR_LOC. From-SVN: r261728
Jason Merrill committed -
* parser.c (cp_parser_lambda_expression): Use a range for LAMBDA_EXPR_LOCATION. From-SVN: r261727
Jason Merrill committed -
* pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Also look into the function type. From-SVN: r261726
Jason Merrill committed -
* pt.c (check_for_bare_parameter_packs): Add loc parameter. * decl.c (grokdeclarator): Call it for qualifying_scope. From-SVN: r261725
Jason Merrill committed -
From-SVN: r261724
GCC Administrator committed
-
- 18 Jun, 2018 14 commits
-
-
gcc/c-family/ChangeLog: PR middle-end/85602 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute nonstring. gcc/ChangeLog: PR middle-end/85602 * calls.c (maybe_warn_nonstring_arg): Handle strncat. * tree-ssa-strlen.c (is_strlen_related_p): Make extern. Handle integer subtraction. (maybe_diag_stxncpy_trunc): Handle nonstring source arguments. * tree-ssa-strlen.h (is_strlen_related_p): Declare. gcc/testsuite/ChangeLog: PR middle-end/85602 * gcc.dg/attr-nonstring-2.c: Adjust text of expected warning. * c-c++-common/attr-nonstring-8.c: New test. From-SVN: r261718
Martin Sebor committed -
* Makefile.def (fortran): Add check-target-libgomp-fortran. * Makefile.tpl (check-target-libgomp-fortran): New phony target. * Makefile.in: Regenerate. From-SVN: r261717
Eric Botcazou committed -
* include/std/scoped_allocator (__not_pair): Define SFINAE helper. (construct(_Tp*, _Args&&...)): Remove from overload set when _Tp is a specialization of std::pair. * testsuite/20_util/scoped_allocator/construct_pair.cc: Ensure pair elements are constructed correctly. From-SVN: r261716
Jonathan Wakely committed -
gcc/ChangeLog: * config/frv/frv-protos.h (frv_ifcvt_modify_insn): Strengthen 3rd param from rtx to rtx_insn *. * config/frv/frv.c (frv_ifcvt_add_insn): Likewise for "insn" param. (frv_ifcvt_modify_insn): Likwise. (frv_ifcvt_modify_final): Likwise for local "existing_insn", adding an as_a <rtx_insn *> cast. Likewise for local "insn". * config/mips/mips.c (r10k_insert_cache_barriers): Add an as_a <rtx_insn *> cast to local "unprotected_region" once it's been established that it's not NULL or pc_rtx. * config/nds32/nds32-relax-opt.c (nds32_group_insns): Strengthen param "sethi" from rtx to rtx_insn *. (nds32_group_float_insns): Likewise for param "insn". * config/vax/vax-protos.h (vax_output_int_add): Likewise for 1st param. (vax_output_int_subtract): Likewise. * config/vax/vax.c (vax_output_int_add): Likewise for param "insn". (vax_output_int_subtract): Likewise. * emit-rtl.c (set_insn_deleted): Likewise, removing cast. (emit_pattern_after): Likewise for param "after". (emit_insn_after): Likewise. (emit_jump_insn_after): Likewise. (emit_call_insn_after): Likewise. (emit_debug_insn_after): Likewise. (emit_pattern_before): Likewise for param "before". (emit_insn_before): Likewise. (emit_jump_insn_before): Likewise. * final.c (get_insn_template): Likewise for param "insn", removing a cast. * output.h (get_insn_template): Likewise for 2nd param. * rtl.h (emit_insn_before): Likewise. (emit_jump_insn_before): Likewise. (emit_debug_insn_before_noloc): Likewise. (emit_insn_after): Likewise. (emit_jump_insn_after): Likewise. (emit_call_insn_after): Likewise. (emit_debug_insn_after): Likewise. (set_insn_deleted): Likewise for param. From-SVN: r261715
David Malcolm committed -
[gcc] 2018-06-18 Michael Meissner <meissner@linux.ibm.com> PR target/85358 * config/rs6000/rs6000-modes.def (toplevel): Rework the 128-bit floating point modes, so that IFmode is numerically greater than TFmode, which is greater than KFmode using FRACTIONAL_FLOAT_MODE to declare the ordering. This prevents IFmode from being converted to TFmode when long double is IEEE 128-bit on an ISA 3.0 machine. Include rs6000-modes.h to share the fractional values between genmodes* and the rest of the compiler. (IFmode): Likewise. (KFmode): Likewise. (TFmode): Likewise. * config/rs6000/rs6000-modes.h: New file. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Change the meaning of rs6000_long_double_size so that 126..128 selects an appropriate 128-bit floating point type. (rs6000_option_override_internal): Likewise. * config/rs6000/rs6000.h (toplevel): Include rs6000-modes.h. (TARGET_LONG_DOUBLE_128): Change the meaning of rs6000_long_double_size so that 126..128 selects an appropriate 128-bit floating point type. (LONG_DOUBLE_TYPE_SIZE): Update comment. * config/rs6000/rs6000.md (trunciftf2): Correct the modes of the source and destination to match the standard usage. (truncifkf2): Likewise. (copysign<mode>3, IEEE iterator): Rework copysign of float128 on ISA 2.07 to use an explicit clobber, instead of passing in a temporary. (copysign<mode>3_soft): Likewise. [libgcc] 2018-06-18 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128 support modules with -mno-gnu-attribute. * config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise. From-SVN: r261712
Michael Meissner committed -
By only defining these operators as friends (with no namespace-scope declaration) they can only be found by ADL and do not participate in overload resolution for arguments of types other than path. LWG 2989 hide path iostream operators from normal lookup * include/bits/fs_path.h (operator<<, operator>>): Define inline as friends. * testsuite/27_io/filesystem/path/io/dr2989.cc: New. From-SVN: r261711
Jonathan Wakely committed -
gcc/ChangeLog: * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Replace dump_printf_loc call with DUMP_VECT_SCOPE. (vect_slp_analyze_instance_dependence): Likewise. (vect_enhance_data_refs_alignment): Likewise. (vect_analyze_data_refs_alignment): Likewise. (vect_slp_analyze_and_verify_instance_alignment (vect_analyze_data_ref_accesses): Likewise. (vect_prune_runtime_alias_test_list): Likewise. (vect_analyze_data_refs): Likewise. * tree-vect-loop-manip.c (vect_update_inits_of_drs): Likewise. * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise. (vect_analyze_scalar_cycles_1): Likewise. (vect_get_loop_niters): Likewise. (vect_analyze_loop_form_1): Likewise. (vect_update_vf_for_slp): Likewise. (vect_analyze_loop_operations): Likewise. (vect_analyze_loop): Likewise. (vectorizable_induction): Likewise. (vect_transform_loop): Likewise. * tree-vect-patterns.c (vect_pattern_recog): Likewise. * tree-vect-slp.c (vect_analyze_slp): Likewise. (vect_make_slp_decision): Likewise. (vect_detect_hybrid_slp): Likewise. (vect_slp_analyze_operations): Likewise. (vect_slp_bb): Likewise. * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise. (vectorizable_bswap): Likewise. (vectorizable_call): Likewise. (vectorizable_simd_clone_call): Likewise. (vectorizable_conversion): Likewise. (vectorizable_assignment): Likewise. (vectorizable_shift): Likewise. (vectorizable_operation): Likewise. * tree-vectorizer.h (DUMP_VECT_SCOPE): New macro. From-SVN: r261710
David Malcolm committed -
* pt.c (tsubst_decl): Handle recursive alias instantiation. From-SVN: r261709
Jason Merrill committed -
LWG 3050 Fix cv-qualification of convertibility constraints * include/std/chrono (duration, operator*, operator/, operator%): Use const-qualified type as source type in is_convertible constraints. * testsuite/20_util/duration/arithmetic/dr3050.cc: New. * testsuite/20_util/duration/cons/dr3050.cc: New. * testsuite/20_util/duration/literals/range.cc: Rename to... * testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust dg-error lineno. From-SVN: r261708
Jonathan Wakely committed -
2018-06-18 Maya Rashish <coypu@sdf.org> * crossconfig.m4: Handle OpenBSD just like NetBSD. * configure: Rebuilt. * config/alpha/openbsd.h (TARGET_DEFAULT): Define. (LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Likewise. (INTMAX_TYPE, UINTMAX_TYPE, WINT_TYPE): Likewise. * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Move from here to ... * config/alpha/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Here. From-SVN: r261707
Maya Rashish committed -
* include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/c++config: Change doxygen comment to suggest <version> instead of <iosfwd>. * include/precompiled/stdc++.h: Include <cwchar> and <cwctype> unconditionally. Add C++17 and C++20 headers. * include/std/version: New header. * testsuite/17_intro/headers/c++2017/all_attributes.cc: New. * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: New. * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: New. * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: New. * testsuite/17_intro/headers/c++2017/operator_names.cc: New. * testsuite/17_intro/headers/c++2017/stdc++.cc: New. * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: New. * testsuite/17_intro/headers/c++2020/all_attributes.cc: New. * testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: New. * testsuite/17_intro/headers/c++2020/all_no_rtti.cc: New. * testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: New. * testsuite/17_intro/headers/c++2020/operator_names.cc: New. * testsuite/17_intro/headers/c++2020/stdc++.cc: New. * testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc: New. * testsuite/18_support/headers/version/macros.cc: New. * testsuite/18_support/headers/version/macros.cc: New. From-SVN: r261706
Jonathan Wakely committed -
gcc/ChangeLog: PR tree-optimization/81384 * builtin-types.def (BT_FN_SIZE_CONST_STRING_SIZE): New. * builtins.c (expand_builtin_strnlen): New function. (expand_builtin): Call it. (fold_builtin_n): Avoid setting TREE_NO_WARNING. * builtins.def (BUILT_IN_STRNLEN): New. * calls.c (maybe_warn_nonstring_arg): Handle BUILT_IN_STRNLEN. Warn for bounds in excess of maximum object size. * tree-ssa-strlen.c (maybe_set_strlen_range): Return tree representing single-value ranges. Handle strnlen. (handle_builtin_strlen): Handle strnlen. (strlen_check_and_optimize_stmt): Same. * doc/extend.texi (Other Builtins): Document strnlen. gcc/testsuite/ChangeLog: PR tree-optimization/81384 * gcc.c-torture/execute/builtins/lib/strnlen.c: New test. * gcc.c-torture/execute/builtins/strnlen-lib.c: New test. * gcc.c-torture/execute/builtins/strnlen.c: New test. * gcc.dg/attr-nonstring-2.c: New test. * gcc.dg/attr-nonstring-3.c: New test. * gcc.dg/attr-nonstring-4.c: New test. * gcc.dg/strlenopt-45.c: New test. * gcc.dg/strlenopt.h (strnlen): Declare. From-SVN: r261705
Martin Sebor committed -
The AC_CHECK_FUNCS tests cause the build to fail for bare metal cross compilers, where link tests are not allowed. Replace them with GCC_TRY_COMPILE_OR_LINK tests instead. Skip all the Filesystem dependency checks if not building the filesystem library. * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Only check when enable_libstdcxx_filesystem_ts = yes. Check for link, readlink and symlink. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Remove AC_CHECK_FUNCS for link, readlink and symlink. From-SVN: r261704
Jonathan Wakely committed -
LWG 3035. std::allocator's constructors should be constexpr * include/bits/allocator.h (allocator): Add constexpr to constructors for C++2a. Replace dynamic exception specifications with NOTHROW macro. (allocator, operator==, operator!=): Replace USE_NOEXCEPT macro with NOTHROW. * include/bits/c++config (_GLIBCXX20_CONSTEXPR): Define. * include/ext/malloc_allocator.h (malloc_allocator): Add constexpr to constructors for C++2a. * include/ext/new_allocator.h (new_allocator): Likewise. From-SVN: r261703
Jonathan Wakely committed
-