- 16 Dec, 2015 36 commits
-
-
PR c++/63628 * pt.c (tsubst_pack_expansion): Also make dummy decls if retrieve_local_specialization fails. From-SVN: r231713
Jason Merrill committed -
gcc/c-family/ChangeLog: * c-common.h (conflict_marker_get_final_tok_kind): New prototype. * c-lex.c (conflict_marker_get_final_tok_kind): New function. gcc/c/ChangeLog: * c-parser.c (struct c_parser): Expand array "tokens_buf" from 2 to 4. (c_parser_peek_nth_token): New function. (c_parser_peek_conflict_marker): New function. (c_parser_error): Detect conflict markers and report them as such. gcc/cp/ChangeLog: * parser.c (cp_lexer_peek_conflict_marker): New function. (cp_parser_error): Detect conflict markers and report them as such. gcc/testsuite/ChangeLog: * c-c++-common/conflict-markers-1.c: New testcase. * c-c++-common/conflict-markers-2.c: Likewise. * c-c++-common/conflict-markers-3.c: Likewise. * c-c++-common/conflict-markers-4.c: Likewise. * c-c++-common/conflict-markers-5.c: Likewise. * c-c++-common/conflict-markers-6.c: Likewise. * c-c++-common/conflict-markers-7.c: Likewise. * c-c++-common/conflict-markers-8.c: Likewise. * c-c++-common/conflict-markers-9.c: Likewise. * c-c++-common/conflict-markers-10.c: Likewise. * c-c++-common/conflict-markers-11.c: Likewise. * g++.dg/conflict-markers-1.C: Likewise. From-SVN: r231712
David Malcolm committed -
From-SVN: r231710
Aditya Kumar committed -
gcc/c/ChangeLog: * c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC to preserve range information for the primary expression in the call to c_parser_postfix_expression_after_primary. gcc/testsuite/ChangeLog: * gcc.dg/cast-function-1.c (bar): Update column numbers. * gcc.dg/diagnostic-range-bad-called-object.c: New test case. From-SVN: r231709
David Malcolm committed -
Removed the member variables which are only used in scop_get_dependence. Instead only maintaining the overall dependence. Passes regtest and bootstrap. gcc/ChangeLog: 2015-12-15 hiraditya <hiraditya@msn.com> * graphite-dependences.c (scop_get_dependences): Use local pointers. * graphite-isl-ast-to-gimple.c(translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->dependence. * graphite-optimize-isl.c (optimize_isl): Same. * graphite-poly.c (new_scop): Remove initialization of removed members. (free_scop): Same. * graphite.h (struct scop): Remove individial dependence pointers and add a scop::dependence to contain all the dependence. From-SVN: r231708
Aditya Kumar committed -
Passes bootstrap and regtest. gcc/ChangeLog: 2015-12-15 hiraditya <hiraditya@msn.com> * graphite-sese-to-poly.c (build_poly_sr): Use refs. From-SVN: r231707
Aditya Kumar committed -
we check for a the isl compute timeout function added in isl 0.13. That means GCC could still be configured with isl 0.13, 0.14, and 0.15. * config/isl.m4 (ISL_CHECK_VERSION): Check for isl_ctx_get_max_operations. * configure: Regenerate. gcc/ * config.in: Regenerate. * configure: Regenerate. * configure.ac: Remove checks for functions that exist in isl 0.13 or later. * graphite-isl-ast-to-gimple.c: Remove #ifdefs and code for isl 0.12. * graphite-optimize-isl.c: Same. * graphite-poly.c: Same. * graphite-sese-to-poly.c: Same. * graphite.h: Add comment for isl 0.14. * toplev.c (print_version): Print isl version. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r231706
Aditya Kumar committed -
* ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not speculate to impossible targets. * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. From-SVN: r231705
Jan Hubicka committed -
gcc/c/ChangeLog: * c-parser.c (c_parser_static_assert_declaration_no_semi): Use the expression location, falling back on the first token location, rather than always using the latter. gcc/testsuite/ChangeLog: * gcc.dg/diagnostic-range-static-assert.c: New test case. From-SVN: r231704
David Malcolm committed -
Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r231703
Aditya Kumar committed -
PR c/64637 * c-typeck.c (c_process_expr_stmt): Use location of the expression if available. * gcc.dg/pr64637.c: New test. From-SVN: r231700
Marek Polacek committed -
From-SVN: r231699
Nathan Sidwell committed -
* config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p): New function. (aarch64_rtx_costs, ZERO_EXTEND, SIGN_EXTEND cases): Use the above to handle extend+shift rtxes. From-SVN: r231698
Kyrylo Tkachov committed -
unwind-generic.h (_Unwind_GetTextRelBase): Call __builtin_abort instead of abort to avoid dependency on stdlib.h. 2015-12-16 Bernd Edlinger <bernd.edlinger@hotmail.de> * unwind-generic.h (_Unwind_GetTextRelBase): Call __builtin_abort instead of abort to avoid dependency on stdlib.h. From-SVN: r231697
Bernd Edlinger committed -
PR target/68696 * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt): New pattern. (aarch64_simd_bsl<mode>_internal): Update comment to reflect the above. From-SVN: r231696
Kyrylo Tkachov committed -
2015-12-16 Richard Biener <rguenther@suse.de> PR tree-optimization/68870 * tree-cfgcleanup.c (cleanup_control_expr_graph): Add first_p parameter, if set only perform trivial constant folding. Queue other blocks with conditions for later processing. (cleanup_control_flow_bb): Add first_p parameter and pass it through. (cleanup_tree_cfg_1): Pass true for the first iteration cleanup_control_expr_graph. * gcc.dg/torture/pr68870.c: New testcase. From-SVN: r231695
Richard Biener committed -
* config/nvptx/nvptx-protos.h (nvptx_hard_regno_mode_ok): Delete. * config/nvptx/nvptx.h (struct machine_function): Reimplement. Adjust all users. * config/nvptx/nvptx.c (nvptx_declare_function_name): Move stack and frame array generation earlier. (nvptx_call_args): Reimplement. (nvptx_expand_call): Adjust. (nvptx_hard_reno_mode_ok): Delete. (nvptx_reorg): Revert scan of hard regs. From-SVN: r231691
Nathan Sidwell committed -
2015-12-16 Tom de Vries <tom@codesourcery.com> * opts.c (default_options_optimization): Set fipa-pta on by default for fopenacc. * passes.def: Move kernels pass group to pass_ipa_oacc. * tree-pass.h (make_pass_oacc_kernels2): Remove. (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): Declare. * tree-ssa-loop.c (pass_oacc_kernels2, make_pass_oacc_kernels2): Remove. (pass_ipa_oacc, pass_ipa_oacc_kernels): New pass. (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): New function. * tree-ssa-structalias.c (pass_ipa_pta::clone): New function. * g++.dg/ipa/devirt-37.C: Update for new fre2 pass. * g++.dg/ipa/devirt-40.C: Same. * g++.dg/tree-ssa/pr61034.C: Same. * gcc.dg/ipa/ipa-pta-1.c: Update for new pta1 pass. * gcc.dg/ipa/ipa-pta-10.c: Same. * gcc.dg/ipa/ipa-pta-11.c: Same. * gcc.dg/ipa/ipa-pta-14.c: Same. * gcc.dg/ipa/ipa-pta-16.c: Same. * gcc.dg/ipa/ipa-pta-2.c: Same. * gcc.dg/ipa/ipa-pta-5.c: Same. * gcc.dg/ipa/ipa-pta-6.c: Same. * gcc.dg/torture/ipa-pta-1.c: Same. * gcc.dg/ipa/ipa-pta-13.c: Update for new fre2 and pta1 pass. * gcc.dg/ipa/ipa-pta-3.c: Same. * gcc.dg/ipa/ipa-pta-4.c: Same. From-SVN: r231690
Tom de Vries committed -
2015-12-16 Richard Biener <rguenther@suse.de> PR tree-optimization/68861 * tree-vect-slp.c (vect_build_slp_tree): Properly handle duplicate stmts when applying swapping to stmts. From-SVN: r231689
Richard Biener committed -
gcc/ * config/i386/i386-c.c (ix86_target_macros_internal): Remove duplicate check (__CLZERO__). From-SVN: r231688
Kirill Yukhin committed -
2015-12-16 Richard Biener <rguenther@suse.de> PR testsuite/68915 * gcc.dg/vect/pr46032.c: Use dg-additional-options. From-SVN: r231687
Richard Biener committed -
* config/arm/arm_neon.h (vqrdmlahq_lane_s16): New. (vqrdmlahq_lane_s32): New. (vqrdmlah_lane_s16): New. (vqrdmlah_lane_s32): New. (vqrdmlshq_lane_s16): New. (vqrdmlshq_lane_s32): New. (vqrdmlsh_lane_s16): New. (vqrdmlsh_lane_s32): New. * config/arm/arm_neon_builtins.def: Add "vqrdmlah_lane" and "vqrdmlsh_lane". From-SVN: r231686
Matthew Wahab committed -
* config/arm/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New. (vqrdmlahq_s16, vqrdmlahq_s32): New. (vqrdmlsh_s16, vqrdmlsh_s32): New. (vqrdmlahq_s16, vqrdmlshq_s32): New. * config/arm/arm_neon_builtins.def: Add "vqrdmlah" and "vqrdmlsh". From-SVN: r231685
Matthew Wahab committed -
2015-12-16 Richard Biener <rguenther@suse.de> PR testsuite/68916 PR testsuite/68914 * gcc.dg/vect/pr45752.c: Require vect_perm and adjust expected dump. * gcc.dg/vect/slp-perm-4.c: Likewise. From-SVN: r231684
Richard Biener committed -
testsuite/ * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): Update comment. Use check_effective_target_arm_v8_1a_neon_ok to select the command line options. (check_effective_target_arm_v8_1a_neon_ok_nocache): Update initial test to allow ARM targets. Select and record a working set of command line options. (check_effective_target_arm_v8_1a_neon_hw): Add tests for ARM targets. gcc/ * doc/sourcebuild.texi (ARM-specific attributes): Add "arm_v8_1a_neon_ok" and "arm_v8_1a_neon_hw". From-SVN: r231683
Matthew Wahab committed -
* config/arm/arm-c.c (arm_cpu_builtins): Define __ARM_FEATURE_QRDMX. Clean up some trailing whitespace. From-SVN: r231682
Matthew Wahab committed -
* config/arm/iterators.md (VQRDMLH_AS): New. (neon_rdma_as): New. * config/arm/neon.md (neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h<mode>): New. (neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h_lane<mode>): New. * config/arm/unspecs.md (UNSPEC_VQRDMLAH): New. (UNSPEC_VQRDMLSH): New. From-SVN: r231681
Matthew Wahab committed -
* config/arm/t-aprofile: Make "armv8.1-a" and "armv8.1-a+crc" matches for "armv8-a". From-SVN: r231680
Matthew Wahab committed -
* config/arm/arm-arches.def: Add "armv8.1-a" and "armv8.1-a+crc". * config/arm/arm-protos.h (FL2_ARCH8_1): New. (FL2_FOR_ARCH8_1A): New. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm.c (arm_arch8_1): New. (arm_option_override): Set arm_arch8_1. * config/arm/arm.h (TARGET_NEON_RDMA): New. (arm_arch8_1): Declare. * doc/invoke.texi (ARM Options, -march): Add "armv8.1-a" and "armv8.1-a+crc". (ARM Options, -mfpu): Fix a typo. From-SVN: r231678
Matthew Wahab committed -
PR libstdc++/68921 * src/c++11/futex.cc (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer as timeout argument. From-SVN: r231676
Jonathan Wakely committed -
PR target/68648 * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify the complement of operands[3] during splitting. * gcc.c-torture/execute/pr68648.c: New test. From-SVN: r231675
Kyrylo Tkachov committed -
2015-12-16 Richard Biener <rguenther@suse.de> PR tree-optimization/68892 * tree-vect-slp.c (vect_analyze_slp_cost_1): Properly compute cost for permuted loads. * gcc.dg/vect/bb-slp-pr68892.c: New testcase. From-SVN: r231674
Richard Biener committed -
PR rtl-optimization/65980 * jump.c (rtx_renumbered_equal_p) <case LABEL_REF>: Use next_nonnote_nondebug_insn instead of next_real_insn and skip over CODE_LABELs too. * gcc.dg/pr65980.c: New test. From-SVN: r231672
Jakub Jelinek committed -
PR lto/68878 * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function. * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare. (lto_symtab_prevailing_decl): Use it. From-SVN: r231671
Jan Hubicka committed -
* symtab.c (symtab_node::fixup_same_cpp_alias_visibility): Do not copy DECL_VIRTUAL_P. From-SVN: r231670
Jan Hubicka committed -
From-SVN: r231668
GCC Administrator committed
-
- 15 Dec, 2015 4 commits
-
-
gcc/testsuite/ChangeLog: 2015-12-15 Martin Sebor <msebor@redhat.com> c++/42121 c++/68478 c++/68613 c++/68689 c++/68710 * g++.dg/compat/struct-layout-1_generate.c: Avoid generating further fields after the first flexible array member. * g++.dg/ext/flexary2.C: Expect a sole flexible array member to be rejected. Add a test case exercising zero-length array. * g++.dg/ext/flexary3.C: Expect a sole flexible array member to be rejected. * g++.dg/ext/flexary.h: New file. * g++.dg/ext/flexary4.C: New file. * g++.dg/ext/flexary5.C: New file. * g++.dg/ext/flexary6.C: New file. * g++.dg/ext/flexary7.C: New file. * g++.dg/ext/flexary8.C: New file. * g++.dg/other/dump-ada-spec-2.C: Adjust to reflect flexible array members. * g++.dg/parse/pr43765.C: Add a member to make a struct with a flexible array member valid. Adjust expected error message. * g++.dg/torture/pr64280.C: Expect a sole flexible array member to be rejected. * g++.dg/torture/pr64312.C: Add a member to make a struct with a flexible array member valid. * g++.dg/ubsan/object-size-1.C: Adjust expected diagnostic. gcc/cp/ChangeLog: 2015-12-15 Martin Sebor <msebor@redhat.com> c++/42121 c++/68478 c++/68613 c++/68689 c++/68710 * class.c (walk_subobject_offsets): Avoid assuming type domain is non-null or has an upper bound. (layout_class_type): Include type size in error message. (flexmems_t): New type. (field_nonempty_p, find_flexarrays, diagnose_flexarrays) (check_flexarrays): New functions. (finish_struct_1): Call check_flexarrays. * decl.c (compute_array_index_type): Distinguish flexible array members from zero-length arrays. (grokdeclarator): Reject flexible array members in unions. Avoid rejecting members of incomplete types that are flexible array members. * error.c (dump_type_suffix): Handle flexible array members with null upper bound. * init.c (perform_member_init): Same. * pt.c (instantiate_class_template_1): Allow flexible array members. (tsubst): Handle flexible array members with null upper bound. * typeck2.c (digest_init_r): Warn for initialization of flexible array members. (process_init_constructor_record): Handle flexible array members. gcc/ChangeLog: 2015-12-15 Martin Sebor <msebor@redhat.com> c++/42121 * tree-chkp.c (chkp_find_bound_slots_1): Handle flexible array members. * tree.c (type_contains_placeholder_1): Avoid assuming type has a non-null domain or an upper bound to handle flexible array members. * varasm.c (output_constructor_regular_field): Same. (output_constructor): Set min_index to integer_zero_node rather than null when a type has no domain to avoid crashing later. From-SVN: r231665
Martin Sebor committed -
* config/nvptx/nvptx.c (write_one_arg): Rename to ... (write_arg_mode): ... here. Update callers. (write_arg): Rename to ... (write__arg_type): ... here. Update callers. (write_return_mode): New fn, broken out of ... (write_return): ... here. Rename to ... (write_return_type): ... here. Call it. Update callers. (write_fn_proto_from_insn): Use write_arg_mode and write_return_mode. (init_frame): New fn. (nvptx_declare_function_name): Call it for frame and varargs. Only emit outgoing static chain, if it's live. (nvptx_output_return): Use reg_names for return reg name. (nvptx_output_call_insn): Likewise. (nvptx_reorg): Mark unused hard regs too. From-SVN: r231663
Nathan Sidwell committed -
* include/std/functional (_Mu<_Arg, false, false>::operator()): Restore accidentally-removed volatile qualifier. From-SVN: r231660
Jonathan Wakely committed -
* config/nvptx/nvptx.md (nvptx_register_operand): Don't accept and then reject subregs. (nvptx_reg_or_mem_operand): Likewise. (nvptx_nonmemory_operand): Likewise. (call_insn_operand): A regular predicate, check SYMBOL_REF_FUNCTION_P. (call_insn, call_value_insn): Address is not SImode. * config/nvptx/nvptx.h (FIXED_REGISTERS): Make return reg fixed. (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove RETURN_REG class. (REGNO_REG_CLASS): Alwaus ALL_REGS. (PROMOTE_MODE): QI and HI are the only smaller than SI int modes. (HARD_FRAME_POINTER_REGNUM): Delete. (REGISTER_NAMES): Move earlier. (struct nvptx_args): Remove 'off'. (INIT_CUMULATIVE_ARGS): Don't initialize 'off'. (ELIMINABLE_REGS): Remove HARD_FRAME_POINTER_REGNUM. * config/nvptx/nvptx.c (arg_promotion): Delete. (nvptx_expand_call): Remove check for funtype being an fntype. From-SVN: r231659
Nathan Sidwell committed
-