- 11 May, 2017 28 commits
-
-
PR libstdc++/80285 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define function to get unique fake std::type_info reference. (_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to _S_ti() fake reference. (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share single implementation with or without RTTI enable. [!__cpp_rtti]: Pass fake reference to _M_get_deleter. * testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected allocation and deallocation counts. * testsuite/20_util/shared_ptr/creation/single_allocation.cc: New. * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: New. From-SVN: r247905
Jonathan Wakely committed -
* lib/scanlang.exp: New. * lib/gcc-dg.exp: Load scanlang.exp. * g++.dg/inherit/covariant7.C: Use scan-lang-dump. From-SVN: r247904
Nathan Sidwell committed -
gcc/testsuite/ PR testsuite/80580 * gcc.dg/gimplefe-error-6.c: New test. gcc/c/ PR testsuite/80580 * gimple-parser.c (c_parser_parse_ssa_name): Validate SSA name base. From-SVN: r247903
Mikhail Maltsev committed -
* cp-tree.h (pushdecl, pushdecl_maybe_friend, pushtag) pushtag_top_level_maybe_friend, pushdecl_top_level_and_finish): Move declarations to ... * name-lookup.h: ... here. Group pushdecl variants. (pushdecl_top_level_and_finish): Rename to ... (pushdecl_top_level_with_init): ... here. * decl.c (cp_make_fname_decl): Use pushdecl_top_level_with_init. * decl2.c (get_guard, handle_tls_init): Likewise. * rtti.c (get_tinfo_decl, tinfo_base_init): Likewise. * lambda.c (maybe_add_lambda_conv_op): Use namespace_bindings_p. * method.c (implicitly_declare_fn): Likewise. * searchc (node_debug_info_needed): Likewise. * name-lookup.c (pushdecl_top_level_and_finish): Rename to ... (pushdecl_top_level_with_init): ... here. (pop_everything): Use namespace_bindings_p. (--This line, and those below, will be ignored-- M cp/ChangeLog M cp/method.c M cp/cp-tree.h M cp/decl.c M cp/lambda.c M cp/rtti.c M cp/name-lookup.c M cp/decl2.c M cp/name-lookup.h M cp/search.c From-SVN: r247902
Nathan Sidwell committed -
* name-lookup.h (pop_binding): Rename to pop_local_binding. (getdecls): Rename to get_local_decls. * name-lookup.c (pop_binding): Rename to ... (pop_local_binding): ... here. (pop_bindings_and_leave_scope): Adjust. (getdecls): Rename to ... (get_local_decls): ... here. Assert local scope. * decl.c (poplevel): Assert not namespace. Adjust and simplify logic. (store_parm_decls): Adjust get_local_decls call. (parser.c (synthesize_implicit_template_parm): Likewise. From-SVN: r247901
Nathan Sidwell committed -
gcc/c/ PR testsuite/80580 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle incorrect __MEM syntax. gcc/testsuite/ PR testsuite/80580 * gcc.dg/gimplefe-error-5.c: New test. From-SVN: r247900
Mikhail Maltsev committed -
gcc/c/ PR testsuite/80580 * gimple-parser.c (c_parser_gimple_unary_expression): Check argument type of unary '*'. gcc/testsuite/ PR testsuite/80580 * gcc.dg/gimplefe-error-4.c: New test. From-SVN: r247899
Mikhail Maltsev committed -
* tree-ssa-loop-ivopts.c (determine_set_costs): Skip non-interger when counting register pressure. From-SVN: r247898
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (compare_cost_pair): New. (iv_ca_more_deps): Renamed to ... (iv_ca_compare_deps): ... this. (iv_ca_extend): Extend iv_ca if NEW_CP is cheaper than OLD_CP. From-SVN: r247897
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (find_interesting_uses): Move inv vars dump to ... (determine_group_iv_costs): ... here. (find_inv_vars_cb): Record inv var if it's not recorded before. From-SVN: r247896
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): Refine comments. (get_shiftadd_cost): Ditto. From-SVN: r247895
Bin Cheng committed -
* tree-ssa-address.c: Include header file. (move_hint_to_base): Return TRUE if BASE_HINT is moved to memory address. (add_to_parts): Refactor. (addr_to_parts): New parameter. Update use of move_hint_to_base. (create_mem_ref): Update use of addr_to_parts. Re-associate addr in new order. From-SVN: r247894
Bin Cheng committed -
PR tree-optimization/53090 * tree-ssa-loop-ivopts.c (enum comp_iv_rewrite): New enum value COMP_IV_EXPR_2. (extract_cond_operands): Detect condition with IV on both sides and return COMP_IV_EXPR_2. (find_interesting_uses_cond): Add iv_use for both IVs in condition. (rewrite_use_compare): Simplify by removing call to function extract_cond_operands. From-SVN: r247893
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (enum comp_iv_rewrite): New. (extract_cond_operands): Detect condition comparing against non- invariant bound and return appropriate enum value. (find_interesting_uses_cond): Update use of extract_cond_operands. Handle its return value accordingly. (determine_group_iv_cost_cond, rewrite_use_compare): Ditto. From-SVN: r247892
Bin Cheng committed -
tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Re-associate nonlinear iv_use computation in loop invariant sensitive way. * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Re-associate nonlinear iv_use computation in loop invariant sensitive way. From-SVN: r247891
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): New. (find_iv_candidates): Call relate_compare_use_with_all_cands. From-SVN: r247890
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (struct iv_cand): New field inv_exprs. (dump_cand): Support iv_cand.inv_exprs. (add_candidate_1): Record invariant exprs in iv_cand.inv_exprs for candidates. (iv_ca_set_no_cp, iv_ca_set_cp, free_loop_data): Support iv_cand.inv_exprs. From-SVN: r247889
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Move from ... * tree-ssa-address.c (multiplier_allowed_in_address_p): ... to here as local function. Include necessary header files. * tree-ssa-loop-ivopts.h (multiplier_allowed_in_address_p): Delete. From-SVN: r247888
Bin Cheng committed -
From-SVN: r247887
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Handle more operators: TRUNC_DIV_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR, LSHIFT_EXPR, RSHIFT_EXPR and BIT_NOT_EXPR. From-SVN: r247886
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (get_loop_invariant_expr): Simplify. (adjust_setup_cost): New parameter supporting round up adjustment. (struct address_cost_data): Delete. (force_expr_to_var_cost): Don't bound cost with spill_cost. (split_address_cost, ptr_difference_cost): Delete. (difference_cost, compare_aff_trees, record_inv_expr): Delete. (struct ainc_cost_data): New struct. (get_address_cost_ainc): New function. (get_address_cost, get_computation_cost): Reimplement. (determine_group_iv_cost_address): Record inv_expr for all uses of a group. (determine_group_iv_cost_cond): Call get_loop_invariant_expr. (iv_ca_has_deps): Reimplemented to ... (iv_ca_more_deps): ... this. Check if NEW_CP introduces more deps than OLD_CP. (iv_ca_extend): Call iv_ca_more_deps. From-SVN: r247885
Bin Cheng committed -
* tree-ssa-address.c (struct mem_address): Move to header file. (valid_mem_ref_p, move_fixed_address_to_symbol): Make it global. * tree-ssa-address.h (struct mem_address): Move from C file. (valid_mem_ref_p, move_fixed_address_to_symbol): Declare. From-SVN: r247884
Bin Cheng committed -
* tree-affine.h (aff_combination_type): New interface. (aff_combination_zero_p): Remove static. (aff_combination_const_p): New interface. (aff_combination_singleton_var_p): New interfaces. From-SVN: r247883
Bin Cheng committed -
tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Skip unreachable blocks and destinations. 2017-05-11 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Skip unreachable blocks and destinations. (eliminate): Move stmt removal and fixup ... (fini_eliminate): ... here. Skip inserted exprs. (pass_pre::execute): Move fini_pre after fini_eliminate. * tree-ssa-tailmerge.c: Include tree-cfgcleanup.h. (tail_merge_optimize): Run cleanup_tree_cfg if requested by PRE to get rid of dead code that has invalid SSA form and split critical edges again. From-SVN: r247882
Richard Biener committed -
From-SVN: r247881
Bin Cheng committed -
PR c++/80682 cp/ PR c++/80682 * method.c (is_trivially_xible): Reject void types. testsuite/ PR c++/80682 * g++.dg/ext/is_trivially_constructible1.C: Add tests for void target. From-SVN: r247880
Ville Voutilainen committed -
2017-05-11 Richard Biener <rguenther@suse.de> * passes.c (execute_function_todo): Verify loops if they are said to be up-to-date. * cfgexpand.c (pass_expand::execute): Discard loops for -dx. * trans-mem.c (pass_tm_edges::execute): Mark loops for fixup. From-SVN: r247879
Richard Biener committed -
From-SVN: r247878
GCC Administrator committed
-
- 10 May, 2017 12 commits
-
-
re PR target/80090 (Incorrect assembler - output_addr_const may generate visibility output between op and address constant) PR target/80090 * config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF, handle calling assemble_external ourself. From-SVN: r247872
John David Anglin committed -
PR target/79027 * config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from modes with zero size. Enhance comment. From-SVN: r247869
John David Anglin committed -
* class.c (handle_using_decl): Always use OVL_CURRENT. (resolve_address_of_overloaded_function): Move iterator decl into for scope. Don't strip anticipated decls here. From-SVN: r247864
Nathan Sidwell committed -
* pt.c (print_candidates_1): Separate TREE_LIST and OVERLOAD printing. (print_candidates): Adjust. From-SVN: r247863
Nathan Sidwell committed -
* cp-tree.h (build_new_function_call): Lose koenig_p arg. Fix line breaking. * call.c (build_new_function_call): Lose koenig_p arg. Remove koenig_p handling here. * pt.c (push_template_decl_real): Unconditionally retrofit_lang_decl. (tsubst_omp_clauses): Likewise. (do_class_deduction): Adjust buld_new_function_call calls. * semantics.c (finish_call_expr): Likewise. From-SVN: r247860
Nathan Sidwell committed -
2017-05-10 François Dumont <fdumont@gcc.gnu.org> Bump version namespace. * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0. * acinclude.m4 (libtool_VERSION): Bump to 8:0:0. * include/bits/c++config: Adapt. * include/bits/regex.h: Adapt. * include/experimental/bits/fs_fwd.h: Adapt. * include/experimental/bits/lfts_config.h: Adapt. * include/std/variant: Adapt. * python/libstdcxx/v6/printers.py: Adapt. * testsuite/libstdc++-prettyprinters/48362.cc: Adapt. * include/bits/stl_tree.h (_Rb_tree_impl<>): Remove _Is_pod_comparator template parameter when version namespace is active. From-SVN: r247858
François Dumont committed -
* pt.c (unify_parameter_deduction_failure, unify_cv_qual_mismatch) (unify_type_mismatch, unify_parameter_pack_mismatch) (unify_ptrmem_cst_mismatch, unify_expression_unequal) (unify_parameter_pack_inconsistent, unify_inconsistency) (unify_vla_arg, unify_method_type_error, unify_arity) (unify_arg_conversion, unify_no_common_base) (unify_inconsistent_template_template_parameters) (unify_template_deduction_failure) (unify_template_argument_mismatch) (unify_overload_resolution_failure): Call unify_invalid. From-SVN: r247857
Jason Merrill committed -
* pt.c (more_specialized_fn): No order between two non-deducible parameters. From-SVN: r247856
Jason Merrill committed -
2017-05-10 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_algobase.h (std::__iter_swap<false>): Remove _GLIBCXX_MOVE usage. From-SVN: r247855
François Dumont committed -
rs6000.c (altivec_init_builtins): Define POWER8 built-ins for vec_xl and vec_xst with short and char pointer... [gcc] 2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8 built-ins for vec_xl and vec_xst with short and char pointer arguments. [gcc/testsuite] 2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/p8-vec-xl-xst.c: New file. From-SVN: r247854
Bill Schmidt committed -
(_mm_maskz_max_round_sd, _mm_mask_max_round_ss) (_mm_maskz_max_round_ss, _mm_mask_min_round_sd) (_mm_maskz_min_round_sd, _mm_mask_min_round_ss) (_mm_maskz_min_round_ss): New intrinsics. * config/i386/i386-builtin-types.def (V2DF, V2DF, V2DF, V2DF, UQI, INT) (V4SF, V4SF, V4SF, V4SF, UQI, INT): New function type aliases. * config/i386/i386-builtin.def (__builtin_ia32_maxsd_mask_round) (__builtin_ia32_maxss_mask_round, __builtin_ia32_minsd_mask_round) (__builtin_ia32_minss_mask_round): New builtins. * config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT) (V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types. * config/i386/sse.md (<sse>_vm<code><mode>3<round_saeonly_name>): Rename to ... (<sse>_vm<code><mode>3<mask_name><round_saeonly_name>): ... this. (v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_op3>%2, %1, %0|%0, %1, %<iptr>2<round_saeonly_op3>}): Change to ... (v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_saeonly_mask_op3>}): ... this. * config/i386/avx512fintrin.h (_mm_mask_mul_round_sd) (_mm_maskz_mul_round_sd, _mm_mask_mul_round_ss) (_mm_maskz_mul_round_ss, _mm_mask_div_round_sd) (_mm_maskz_div_round_sd, _mm_mask_div_round_ss) (_mm_maskz_div_round_ss, _mm_mask_mul_sd, _mm_maskz_mul_sd) (_mm_mask_mul_ss, _mm_maskz_mul_ss, _mm_mask_div_sd) (_mm_maskz_div_sd, _mm_mask_div_ss, _mm_maskz_div_ss): New intrinsics. * config/i386/i386-builtin-types.def (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT) (V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): New function type aliases. * config/i386/i386-builtin.def (__builtin_ia32_divsd_mask_round) (__builtin_ia32_divss_mask_round, __builtin_ia32_mulsd_mask_round) (__builtin_ia32_mulss_mask_round): New builtins. * config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT) (V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types. * config/i386/sse.md (<sse>_vm<multdiv_mnemonic><mode>3<round_name>): Rename to ... (<sse>_vm<multdiv_mnemonic><mode>3<mask_name><round_name>): ... this. (v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|%0, %1, %<iptr>2<round_op3>}): Change to ... (v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}): ... this. * config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d) (_mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d) (_mm256_setr_m128i): New intrinsics. * config/i386/avx512fintrin.h (_mm_mask_rcp14_sd) (_mm_maskz_rcp14_sd, _mm_mask_rcp14_ss) (_mm_maskz_rcp14_ss): New intrinsics. * config/i386/i386-builtin.def (__builtin_ia32_rcp14sd_mask) (__builtin_ia32_rcp14ss_mask): New builtins. * config/i386/sse.md (srcp14<mode>_mask): New pattern. testsuite/ChangeLog: * gcc.target/i386/avx512f-vmaxsd-1.c (_mm_mask_max_round_sd) (_mm_maskz_max_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vmaxsd-2.c: New. * gcc.target/i386/avx512f-vmaxss-1.c (_mm_mask_max_round_ss) (_mm_maskz_max_round_ss): Test new intrinsics. * gcc.target/i386/avx512f-vmaxss-2.c: New. * gcc.target/i386/avx512f-vminsd-1.c (_mm_mask_min_round_sd) (_mm_maskz_min_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vminsd-2.c: New. * gcc.target/i386/avx512f-vminss-1.c (_mm_mask_min_round_ss) (_mm_maskz_min_round_ss): Test new intrinsics. * gcc.target/i386/avx512f-vminss-2.c: New. * gcc.target/i386/avx-1.c (__builtin_ia32_maxsd_mask_round) (__builtin_ia32_maxss_mask_round, __builtin_ia32_minsd_mask_round) (__builtin_ia32_minss_mask_round): Test new builtins. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * gcc.target/i386/sse-14.c (_mm_maskz_max_round_sd) (_mm_maskz_max_round_ss, _mm_maskz_min_round_sd) (_mm_maskz_min_round_ss, _mm_mask_max_round_sd) (_mm_mask_max_round_ss, _mm_mask_min_round_sd) (_mm_mask_min_round_ss): Test new intrinsics. * gcc.target/i386/testround-1.c: Ditto. * gcc.target/i386/avx512f-vdivsd-1.c (_mm_mask_div_sd) (_mm_maskz_div_sd, _mm_mask_div_round_sd) (_mm_maskz_div_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vdivsd-2.c: New. * gcc.target/i386/avx512f-vdivss-1.c (_mm_mask_div_ss) (_mm_maskz_div_ss, _mm_mask_div_round_ss) (_mm_maskz_div_round_ss): Test new intrinsics. * gcc.target/i386/avx512f-vdivss-2.c: New. * gcc.target/i386/avx512f-vmulsd-1.c (_mm_mask_mul_sd) (_mm_maskz_mul_sd, _mm_mask_mul_round_sd) (_mm_maskz_mul_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vmulsd-2.c: New. * gcc.target/i386/avx512f-vmulss-1.c (_mm_mask_mul_ss) (_mm_maskz_mul_ss, _mm_mask_mul_round_ss) (_mm_maskz_mul_round_ss): Test new intrinsics. * gcc.target/i386/avx512f-vmulss-2.c: New. * gcc.target/i386/avx-1.c (__builtin_ia32_divsd_mask_round) (__builtin_ia32_divss_mask_round, __builtin_ia32_mulsd_mask_round) (__builtin_ia32_mulss_mask_round): Test new builtins. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * gcc.target/i386/sse-14.c (_mm_maskz_div_round_sd) (_mm_maskz_div_round_ss, _mm_maskz_mul_round_sd) (_mm_maskz_mul_round_ss): Test new intrinsics. * gcc.target/i386/testround-1.c: Ditto. * gcc.target/i386/avx-vinsertf128-256-1: Test new intrinsics. * gcc.target/i386/avx-vinsertf128-256-2: Ditto. * gcc.target/i386/avx-vinsertf128-256-3: Ditto. * gcc.target/i386/avx512f-vrcp14sd-1.c: Test new intrinsics. * gcc.target/i386/avx512f-vrcp14sd-2.c: Ditto. * gcc.target/i386/avx512f-vrcp14ss-1.c: Ditto. * gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto. From-SVN: r247851Uros Bizjak committed -
X32 uses 64 as word size instead of 32. This must not affect the Address type definition which is based on Memory_Size. PR ada/80626 * system-linux-x86.ads (Memory_Size): Use Long_Integer'Size instead of Word_Size. From-SVN: r247849
H.J. Lu committed
-