- 25 Oct, 2017 4 commits
-
-
PR libstdc++/81706 * attribs.c (attribute_value_equal): Use omp_declare_simd_clauses_equal for comparison of OMP_CLAUSEs regardless of flag_openmp{,_simd}. (duplicate_one_attribute, copy_attributes_to_builtin): New functions. * attribs.h (duplicate_one_attribute, copy_attributes_to_builtin): New declarations. * c-decl.c (merge_decls): Copy "omp declare simd" attributes from newdecl to corresponding __builtin_ if any. * decl.c (duplicate_decls): Copy "omp declare simd" attributes from newdecl to corresponding __builtin_ if any. * gcc.target/i386/pr81706.c: New test. * g++.dg/ext/pr81706.C: New test. From-SVN: r254069
Jakub Jelinek committed -
2017-10-25 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (need_eh_cleanup, need_ab_cleanup, el_to_remove, el_to_fixup, el_todo, el_avail, el_avail_stack, eliminate_avail, eliminate_push_avail, eliminate_insert): Move inside... (class eliminate_dom_walker): ... this class in preparation of move. (fini_eliminate): Remove by merging with ... (eliminate): ... this function. Adjust for class changes. (pass_pre::execute): Remove fini_eliminate call. (pass_fre::execute): Likewise. From-SVN: r254068
Richard Biener committed -
PR libstdc++/82706 * testsuite/27_io/filesystem/operations/permissions.cc: Fix test. From-SVN: r254067
Jonathan Wakely committed -
From-SVN: r254066
GCC Administrator committed
-
- 24 Oct, 2017 27 commits
-
-
2017-10-24 François Dumont <fdumont@gcc.gnu.org> * testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add c++config.h include. (check_v3_target_normal_namespace): New. * testsuite/lib/dg-options.exp (dg-require-normal-namespace): New. * testsuite/18_support/headers/limits/synopsis.cc: Add latter. * testsuite/20_util/from_chars/requirements.cc: Likewise. * testsuite/20_util/headers/functional/synopsis.cc: Likewise. * testsuite/20_util/headers/memory/synopsis.cc: Likewise. * testsuite/20_util/headers/utility/synopsis.cc: Likewise. * testsuite/20_util/to_chars/requirements.cc: Likewise. * testsuite/21_strings/headers/string/synopsis.cc: Likewise. * testsuite/22_locale/headers/locale/synopsis.cc: Likewise. * testsuite/23_containers/headers/bitset/synopsis.cc: Likewise. * testsuite/23_containers/headers/deque/synopsis.cc: Likewise. * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise. * testsuite/23_containers/headers/list/synopsis.cc: Likewise. * testsuite/23_containers/headers/map/synopsis.cc: Likewise. * testsuite/23_containers/headers/queue/synopsis.cc: Likewise. * testsuite/23_containers/headers/set/synopsis.cc: Likewise. * testsuite/23_containers/headers/stack/synopsis.cc: Likewise. * testsuite/23_containers/headers/vector/synopsis.cc: Likewise. * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Likewise. * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: Likewise. * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: Likewise. * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise. * testsuite/24_iterators/headers/iterator/synopsis.cc: Likewise. * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: Likewise. * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: Likewise. * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Likewise. * testsuite/26_numerics/complex/abi_tag.cc: Likewise. * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise. * testsuite/26_numerics/headers/valarray/synopsis.cc: Likewise. * testsuite/27_io/headers/fstream/synopsis.cc: Likewise. * testsuite/27_io/headers/ios/synopsis.cc: Likewise. * testsuite/27_io/headers/istream/synopsis.cc: Likewise. * testsuite/27_io/headers/ostream/synopsis.cc: Likewise. * testsuite/27_io/headers/sstream/synopsis.cc: Likewise. * testsuite/27_io/headers/streambuf/synopsis.cc: Likewise. From-SVN: r254060
François Dumont committed -
re PR target/82460 (AVX512: choose between vpermi2d and vpermt2d to save mov instructions. Also, fails to optimize away shifts before shuffle) PR target/82460 * config/i386/sse.md (UNSPEC_VPERMI2, UNSPEC_VPERMI2_MASK): Remove. (VPERMI2, VPERMI2I): New mode iterators. (<avx512>_vpermi2var<mode>3_maskz): Remove 3 define_expand patterns. (<avx512>_vpermi2var<mode>3<sd_maskz_name>): Remove 3 define_insn patterns. (<avx512>_vpermi2var<mode>3_mask): New define_expand using VPERMI2 mode iterator. Remove 3 old define_insn patterns. (*<avx512>_vpermi2var<mode>3_mask): 2 new define_insn patterns. (<avx512>_vpermt2var<mode>3_maskz): Adjust 1 define_expand to use VPERMI2 mode iterator, remove the other two expanders. (<avx512>_vpermt2var<mode>3<sd_maskz_name>): Adjust 1 define_insn to use VPERMI2 mode iterator, add another alternative for vpermi2* instructions, remove the other two patterns. (<avx512>_vpermt2var<mode>3_mask): Adjust 1 define_insn to use VPERMI2 mode iterator, remove the other two patterns. * config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Renamed to ... (ix86_expand_vec_perm_vpermt2): ... this. Swap mask and op0 arguments, use gen_*vpermt2* expanders instead of gen_*vpermi2* and adjust argument order accordingly. (ix86_expand_vec_perm): Adjust caller. (expand_vec_perm_1): Likewise. (expand_vec_perm_vpermi2_vpshub2): Rename to ... (expand_vec_perm_vpermt2_vpshub2): ... this. (ix86_expand_vec_perm_const_1): Adjust caller. (ix86_vectorize_vec_perm_const_ok): Adjust comments. * gcc.target/i386/pr82460-1.c: New test. * gcc.target/i386/pr82460-2.c: New test. * gcc.target/i386/avx512f-vpermt2pd-1.c: Adjust scan-assembler* regexps to allow vpermt2* to vpermi2* replacement or vice versa where possible. * gcc.target/i386/avx512vl-vpermt2pd-1.c: Likewise. * gcc.target/i386/avx512f-vpermt2d-1.c: Likewise. * gcc.target/i386/vect-pack-trunc-2.c: Likewise. * gcc.target/i386/avx512vl-vpermt2ps-1.c: Likewise. * gcc.target/i386/avx512vl-vpermt2q-1.c: Likewise. * gcc.target/i386/avx512f-vpermt2ps-1.c: Likewise. * gcc.target/i386/avx512vl-vpermt2d-1.c: Likewise. * gcc.target/i386/avx512bw-vpermt2w-1.c: Likewise. * gcc.target/i386/avx512vbmi-vpermt2b-1.c: Likewise. * gcc.target/i386/avx512f-vpermt2q-1.c: Likewise. From-SVN: r254059
Jakub Jelinek committed -
PR target/82370 * config/i386/sse.md (VIMAX_AVX2): Remove V4TImode. (VIMAX_AVX2_AVX512BW, VIMAX_AVX512VL): New mode iterators. (vec_shl_<mode>): Remove unused expander. (avx512bw_<shift_insn><mode>3): New define_insn. (<sse2_avx2>_ashl<mode>3, <sse2_avx2>_lshr<mode>3): Replaced by ... (<sse2_avx2>_<shift_insn><mode>3): ... this. New define_insn. * gcc.target/i386/pr82370.c: New test. From-SVN: r254058
Jakub Jelinek committed -
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82466 * doc/invoke.texi ([Wbuiltin-declaration-mismatch]): Extend description. /cp 2017-10-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82466 * decl.c (duplicate_decls): Warn for built-in functions declared as non-function, use OPT_Wbuiltin_declaration_mismatch. * decl.c (duplicate_decls): Avoid redundant '+' in warning_at. /c 2017-10-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82466 * c-decl.c (diagnose_mismatched_decls): Use OPT_Wbuiltin_declaration_mismatch. /testsuite 2017-10-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82466 * c-c++-common/Wbuiltin-declaration-mismatch-1.c: New. * c-c++-common/Wno-builtin-declaration-mismatch-1.c: Likewise. * g++.dg/warn/Wbuiltin_declaration_mismatch-1.C: Likewise. * g++.dg/parse/builtin2.C: Adjust. * g++.old-deja/g++.mike/p811.C: Likewise. From-SVN: r254057
Paolo Carlini committed -
r253236 broke AArch64 bootstrap. Earlier revision r253071 changed scheduling behaviour on AArch64 as autopref scheduling no longer checks the base. This patch fixes the bootstrap failure and cleans up autopref scheduling. The code is greatly simplified. Sort accesses on the offset first, and only if the offsets are the same fall back to other comparisons in rank_for_schedule. This doesn't at all restore the original behaviour since we no longer compare the base address, but it now defines a total sorting order. More work will be required to improve the sorting so that only loads/stores with the same base are affected. gcc/ PR rtl-optimization/82396 * gcc/haifa-sched.c (ready_sort_real): Remove qsort workaround. (autopref_multipass_init): Simplify initialization. (autopref_rank_data): Simplify sort order. * gcc/sched-int.h (autopref_multipass_data_): Remove multi_mem_insn_p, min_offset and max_offset. From-SVN: r254056
Wilco Dijkstra committed -
To fix PR60580 simplify the logic in aarch64_override_options_after_change_1 (). If the frame pointer is enabled, set it to a special value that behaves similar to frame pointer omission. If we don't do this all leaf functions will get a frame pointer even if flag_omit_leaf_frame_pointer is set. If flag_omit_frame_pointer has this special value, we must force the frame pointer if not in a leaf function. We also need to force it in a leaf function if flag_omit_frame_pointer is not set or if LR is used. Doing this allows both -fomit-frame-pointer and -fomit-leaf-frame-pointer to be independently set and changed in each function with the expected behaviour. gcc/ PR middle-end/60580 * config/aarch64/aarch64.c (aarch64_frame_pointer_required) Check special value of flag_omit_frame_pointer. (aarch64_can_eliminate): Likewise. (aarch64_override_options_after_change_1): Simplify handling of -fomit-frame-pointer and -fomit-leaf-frame-pointer. From-SVN: r254052
Wilco Dijkstra committed -
/cp 2017-10-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80991 * pt.c (value_dependent_expression_p, [TRAIT_EXPR]): Handle a TREE_LIST as TRAIT_EXPR_TYPE2. /testsuite 2017-10-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80991 * g++.dg/ext/is_trivially_constructible5.C: New. From-SVN: r254051
Paolo Carlini committed -
* gcc.target/i386/387-ficom-1.c: Allow for ficomp without s suffix. * gcc.target/i386/387-ficom-2.c: Likewise. From-SVN: r254050
Rainer Orth committed -
* gcc.target/i386/cet-sjlj-3.c: Allow for emtpy user label prefix in setjmp call. From-SVN: r254049
Rainer Orth committed -
2017-10-24 Richard Biener <rguenther@suse.de> PR tree-optimization/82697 * tree-ssa-phiopt.c (cond_store_replacement): Use alias-set zero for conditional load and unconditional store. * gcc.dg/torture/pr82697.c: New testcase. From-SVN: r254047
Richard Biener committed -
/cp 2017-10-24 Mukesh Kapoor <mukesh.kapoor@oracle.com> Paolo Carlini <paolo.carlini@oracle.com> PR c++/82307 * cvt.c (type_promotes_to): Implement C++17, 7.6/4, about unscoped enumeration type whose underlying type is fixed. /testsuite 2017-10-24 Mukesh Kapoor <mukesh.kapoor@oracle.com> Paolo Carlini <paolo.carlini@oracle.com> PR c++/82307 * g++.dg/cpp0x/enum35.C: New. * g++.dg/cpp0x/enum36.C: Likewise. Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r254046
Mukesh Kapoor committed -
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Ignore -Wattribute-alias warnings. * src/c++11/istream-inst.cc: Likewise. * src/c++11/locale-inst.cc: Likewise. * src/c++11/ostream-inst.cc: Likewise. * src/c++11/wlocale-inst.cc: Likewise. * src/c++98/hash-long-double-tr1-aux.cc: Likewise. From-SVN: r254045
Jonathan Wakely committed -
* include/bits/string_view.tcc (find_first_of, find_last_of) (find_first_not_of, find_last_not_of): Add noexcept. * include/std/string_view (basic_string_view(const _CharT*)) (basic_string_view(const _CharT*, size_type)) (front, back, remove_prefix, remove_suffix, find, rfind) (find_first_of, find_first_not_of): Add noexcept. (at(size_type), _S_compare(size_type, size_type)): Replace conditional expressions with if statements. (copy(_CharT*, size_type, size_type), substr(size_type, size_type)): Use _M_check for length checks. (compare(basic_string_view)): Reformat. (_M_check(size_type, const char)): Add noexcept(false). (_M_limit(size_type, size_type)): Use noexcept not _GLIBCXX_NOEXCEPT. From-SVN: r254044
Jonathan Wakely committed -
Bootstrap GCC with Intel CET by configuring GCC with --with-build-config="bootstrap-cet bootstrap-debug" Tested on Linux/i686 and Linux/x86-64. config/ * bootstrap-cet.mk: New file. gcc/ * doc/install.texi: Document bootstrap-cet. From-SVN: r254043
H.J. Lu committed -
The problem with making discarded symbols hidden is that the non-default visibility is sticky. When symbols other than the __gnu_lto ones are discarded that turns out to be a bad idea. PR lto/82687 PR lto/82575 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): Only make __gnu_lto symbols hidden. Delete outdated comment. Silence ISO C warning. From-SVN: r254042
Alan Modra committed -
PR libstdc++/82685 * include/experimental/string_view (operator""sv): Add noexcept. * include/std/string_view (operator""sv): Likewise. From-SVN: r254041
Jonathan Wakely committed -
There is no need to insert ENDBR instruction at function entrance if function is only called directly. gcc/ PR target/82659 * config/i386/i386.c (rest_of_insert_endbranch): Don't insert ENDBR instruction at function entrance if function is only called directly. gcc/testsuite/ PR target/82659 * gcc.target/i386/cet-label-2.c: New test. * gcc.target/i386/cet-sjlj-4.c: Likewise. * gcc.target/i386/cet-sjlj-5.c: Likewise. * gcc.target/i386/cet-switch-3.c: Likewise. * gcc.target/i386/pr82659-1.c: Likewise. * gcc.target/i386/pr82659-2.c: Likewise. * gcc.target/i386/pr82659-3.c: Likewise. * gcc.target/i386/pr82659-4.c: Likewise. * gcc.target/i386/pr82659-5.c: Likewise. * gcc.target/i386/pr82659-6.c: Likewise. From-SVN: r254040
H.J. Lu committed -
PR target/82628 * config/i386/i386.md (addcarry<mode>, subborrow<mode>): Change patterns to better describe from which operation the CF is computed. (addcarry<mode>_0, subborrow<mode>_0): New patterns. * config/i386/i386.c (ix86_expand_builtin) <case handlecarry>: Pass one LTU with [DT]Imode and another one with [SD]Imode. If arg0 is 0, use _0 suffixed expanders instead of emitting a comparison before it. From-SVN: r254039
Jakub Jelinek committed -
gcc/ * config/i386/i386.md(*movsf_internal, *movdf_internal): Avoid 512-bit AVX modes for TARGET_PREFER_AVX256. From-SVN: r254038
Sergey Shalnov committed -
PR middle-end/82569 * tree-outof-ssa.h (always_initialized_rtx_for_ssa_name_p): Delete. * expr.c (expand_expr_real_1) <expand_decl_rtl>: Revert latest change. * loop-iv.c (iv_get_reaching_def): Likewise. * cfgexpand.c (expand_one_ssa_partition): Initialize the RTX if the variable is promoted and the partition contains undefined values. From-SVN: r254037
Eric Botcazou committed -
2017-10-23 Richard Biener <rguenther@suse.de> PR tree-optimization/82672 * graphite-isl-ast-to-gimple.c (graphite_copy_stmts_from_block): Fold the stmt if we propagated into it. * gfortran.dg/graphite/pr82672.f90: New testcase. From-SVN: r254036
Richard Biener committed -
2017-10-23 Sandra Loosemore <sandra@codesourcery.com> gcc/testsuite/ * gcc.target/nios2/cdx-branch.c: Fix broken test. * gcc.target/nios2/lo-addr-bypass.c: New. * gcc.target/nios2/lo-addr-char.c: New. * gcc.target/nios2/lo-addr-int.c: New. * gcc.target/nios2/lo-addr-pic.c: New. * gcc.target/nios2/lo-addr-short.c: New. * gcc.target/nios2/lo-addr-tls.c: New. * gcc.target/nios2/lo-addr-uchar.c: New. * gcc.target/nios2/lo-addr-ushort.c: New. * gcc.target/nios2/lo-addr-volatile.c: New. From-SVN: r254035
Sandra Loosemore committed -
2017-10-23 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.c (nios2_rtx_costs): Make costs better reflect reality. (nios2_address_cost): Define. (nios2_legitimize_address): Recognize (exp + constant) directly. (TARGET_ADDRESS_COST): Define. From-SVN: r254034
Sandra Loosemore committed -
2017-10-23 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2-protos.h (nios2_large_constant_p): Declare. (nios2_symbolic_memory_operand_p): Declare. (nios2_split_large_constant): Declare. (nios2_split_symbolic_memory_operand): Declare. * config/nios2/nios2.c: Adjust includes. (nios2_symbolic_constant_allowed): New. (nios2_symbolic_constant_p): New. (nios2_plus_symbolic_constant_p): New. (nios2_valid_addr_expr_p): Recognize addresses involving symbolic constants. (nios2_legitimate_address_p): Likewise, also LO_SUM. (nios2_symbolic_memory_operand_p): New. (nios2_large_constant_p): New. (nios2_split_large_constant): New. (nios2_split_plus_large_constant): New. (nios2_split_symbolic_memory_operand): New. (nios2_legitimize_address): Code refactoring. Handle addresses involving symbolic constants. (nios2_emit_move_sequence): Likewise. (nios2_print_operand): Improve error output. (nios2_print_operand_address): Handle LO_SUM. (nios2_cdx_narrow_form_p): Likewise. * config/nios2/nios2.md (movqi_internal): Add splitter for memory operands involving symbolic constants. (movhi_internal, movsi_internal): Likewise. (zero_extendhisi2, zero_extendqi<mode>2): Likewise. (extendhisi2, extendqi<mode>2): Likewise. From-SVN: r254033
Sandra Loosemore committed -
2017-10-23 Sandra Loosemore <sandra@codesourcery.com> gcc/ * tree-pass.h (PROP_rtl_split_insns): Define. * recog.c (pass_data_split_all_insns): Provide PROP_rtl_split_insns. From-SVN: r254032
Sandra Loosemore committed -
2017-10-23 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.c (TARGET_LRA_P): Don't override. From-SVN: r254031
Sandra Loosemore committed -
From-SVN: r254030
GCC Administrator committed
-
- 23 Oct, 2017 9 commits
-
-
re PR c++/80449 (ICE reporting failed partial class template specialization class template argument deduction) /cp 2017-10-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80449 * semantics.c (finish_compound_literal): Check do_auto_deduction return value for error_mark_node. /testsuite 2017-10-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80449 * g++.dg/cpp1z/class-deduction46.C: New. From-SVN: r254026
Paolo Carlini committed -
PR debug/82630 * target.def (const_not_ok_for_debug_p): Default to default_const_not_ok_for_debug_p instead of hook_bool_rtx_false. * targhooks.h (default_const_not_ok_for_debug_p): New declaration. * targhooks.c (default_const_not_ok_for_debug_p): New function. * dwarf2out.c (const_ok_for_output_1): Only reject UNSPECs for which targetm.const_not_ok_for_debug_p returned true. * config/arm/arm.c (arm_const_not_ok_for_debug_p): Return true for UNSPECs. * config/powerpcspe/powerpcspe.c (rs6000_const_not_ok_for_debug_p): Likewise. * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): Likewise. * config/i386/i386.c (ix86_delegitimize_address_1): Don't delegitimize UNSPEC_GOTOFF with addend into addend - _GLOBAL_OFFSET_TABLE_ + symbol if !base_term_p. (ix86_const_not_ok_for_debug_p): New function. (i386_asm_output_addr_const_extra): Handle UNSPEC_GOTOFF. (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine. * g++.dg/guality/pr82630.C: New test. From-SVN: r254025
Jakub Jelinek committed -
gcc/ChangeLog: PR bootstrap/82610 * system.h: Conditionally include "unique-ptr.h" if INCLUDE_UNIQUE_PTR is defined. * unique-ptr-tests.cc: Remove include of "unique-ptr.h" in favor of defining INCLUDE_UNIQUE_PTR before including "system.h". include/ChangeLog: * unique-ptr.h: Make include of <memory> conditional on C++11 or later. From-SVN: r254024
David Malcolm committed -
* tree.c (strip_typedefs): Canonicalize TYPE_RAISES_EXCEPTIONS. From-SVN: r254022
Jason Merrill committed -
From-SVN: r254021
Jason Merrill committed -
PR target/82662 * gcc.target/i386/pr82662.c: New test. From-SVN: r254020
Uros Bizjak committed -
* config/rl78/rl78.md: New define_expand "subdi3". * config/rl78/subdi3.S: New assembly file. * config/rl78/t-rl78: Added subdi3.S to LIB2ADD. From-SVN: r254019
Sebastian Perta committed -
Forgot to add the new file :-P 2017-10-13 Sebastian Perta <sebastian.perta@renesas.com> * config/rl78/adddi3.S: New assembly file. * config/rl78/t-rl78: Added adddi3.S to LIB2ADD. From-SVN: r254016
Sebastian Perta committed -
PR c/82681 * c-warn.c (warnings_for_convert_and_check): Fix typos. * gcc.dg/c90-const-expr-11.c: Fix typos in dg-warning. * gcc.dg/overflow-warn-5.c: Likewise. * gcc.dg/overflow-warn-8.c: Likewise. From-SVN: r254014
Marek Polacek committed
-