aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-10-25Convert logical ops on integers to bitwise equivalent with -fdec.Fritz Reese6-0/+415
gcc/fortran/ * gfortran.texi: Document. * resolve.c (logical_to_bitwise): New function. * resolve.c (resolve_operator): Wrap operands with logical_to_bitwise. gcc/testsuite/gfortran.dg/ * dec_bitwise_ops_1.f90, dec_bitwise_ops_2.f90: New testcases. From-SVN: r241534
2016-10-25Implement ~line_maps ()David Malcolm2-1/+5
line_maps instances such as the global line_table are GC-managed, but the htab within location_adhoc_data_map.htab is not GC-managed. Previously this was deleted manually by a call to location_adhoc_data_fini within toplev::main. However, on adding a call to forcibly_ggc_collect after the selftests, all of the htabs for the various line_tables created during the selftests start showing up as leaks in "make selftest-valgrind", e.g.: 13,536 (1,344 direct, 12,192 indirect) bytes in 12 blocks are definitely lost in loss record 1,065 of 1,086 at 0x4A081D4: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x16DB3B0: xcalloc (xmalloc.c:163) by 0x16D8D34: htab_create_typed_alloc (hashtab.c:358) by 0x16D8DBD: htab_create_alloc (hashtab.c:286) by 0x16A2CCC: linemap_init(line_maps*, unsigned int) (line-map.c:353) by 0x1685605: selftest::line_table_test::line_table_test(selftest::line_table_case const&) (input.c:1624) by 0x167D09C: selftest::test_applying_fixits_modernize_named_init(selftest::line_table_case const&) (edit-context.c:1430) by 0x1686827: selftest::for_each_line_table_case(void (*)(selftest::line_table_case const&)) (input.c:3227) by 0x167F067: selftest::edit_context_c_tests() (edit-context.c:1658) by 0x1616E67: selftest::run_tests() (selftest-run-tests.c:71) by 0xC0DB25: toplev::run_self_tests() (toplev.c:2076) by 0x618EB4: toplev::main(int, char**) (toplev.c:2153) This patch removes the manual one-time cleanup in favor of adding a destructor to class line_maps, which cleans up the non-GC-managed htab. Doing so improves "make selftest-valgrind" from: ==61118== LEAK SUMMARY: ==61118== definitely lost: 121,248 bytes in 1,515 blocks ==61118== indirectly lost: 974,344 bytes in 959 blocks ==61118== possibly lost: 0 bytes in 0 blocks ==61118== still reachable: 1,332,599 bytes in 3,684 blocks ==61118== suppressed: 0 bytes in 0 blocks to: ==57182== LEAK SUMMARY: ==57182== definitely lost: 13,840 bytes in 556 blocks ==57182== indirectly lost: 0 bytes in 0 blocks ==57182== possibly lost: 0 bytes in 0 blocks ==57182== still reachable: 1,355,703 bytes in 3,684 blocks ==57182== suppressed: 0 bytes in 0 blocks gcc/ChangeLog: * toplev.c (toplev::main): Remove call to location_adhoc_data_fini. libcpp/ChangeLog: * include/line-map.h (line_maps::~line_maps): New dtor. (location_adhoc_data_fini): Delete decl. * line-map.c (line_maps::~line_maps): New dtor. (location_adhoc_data_fini): Delete. From-SVN: r241533
2016-10-25constexpr.c (maybe_constant_init): Pull out TARGET_EXPR_INITIAL.Jason Merrill3-0/+43
* constexpr.c (maybe_constant_init): Pull out TARGET_EXPR_INITIAL. (cxx_eval_outermost_constant_expr): Don't return a CONSTRUCTOR with CONSTRUCTOR_NO_IMPLICIT_ZERO. (cxx_eval_call_expression): Clear CONSTRUCTOR_NO_IMPLICIT_ZERO. From-SVN: r241531
2016-10-25tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types.Eric Botcazou8-2/+121
* tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types. * tree.c (int_fits_type_p): Likewise. Adjust head comment. From-SVN: r241529
2016-10-25re PR fortran/72770 (ICE in make_ssa_name_fn, at tree-ssanames.c:263)Andre Vehreschild6-18/+61
gcc/testsuite/ChangeLog: 2016-10-25 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/72770 * gfortran.dg/alloc_comp_class_5.f03: Added test again that caused this pr. gcc/fortran/ChangeLog: 2016-10-25 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/72770 * class.c (find_intrinsic_vtab): No longer encode the string length into vtype's name and use the char's kind for the size instead of the string_length time the size. * trans-array.c (gfc_conv_ss_descriptor): For deferred length char arrays the dynamically sized type needs to be declared. (build_class_array_ref): Address the i-th array element by multiplying it with the _vptr->_size and the _len to make sure char arrays are addressed correctly. * trans-expr.c (gfc_conv_intrinsic_to_class): Made comment more precise. From-SVN: r241528
2016-10-25Expose forcibly_ggc_collect and run it after all selftestsDavid Malcolm4-14/+42
gcc/ChangeLog: * ggc-tests.c (forcibly_ggc_collect): Rename to... (selftest::forcibly_ggc_collect): ...this, and remove "static". (test_basic_struct): Update for above renaming. (test_length): Likewise. (test_union): Likewise. (test_finalization): Likewise. (test_deletable_global): Likewise. (test_inheritance): Likewise. (test_chain_next): Likewise. (test_user_struct): Likewise. (test_tree_marking): Likewise. * selftest-run-tests.c (selftest::run_tests): Call selftest::forcibly_ggc_collect at the end of the selftests. * selftest.h (selftest::forcibly_ggc_collect): New decl. From-SVN: r241527
2016-10-25re PR target/78102 (GCC refuses to generate PCMPEQQ instruction for SSE4.1)Jakub Jelinek14-25/+168
PR target/78102 * optabs.def (vcondeq_optab, vec_cmpeq_optab): New optabs. * optabs.c (expand_vec_cond_expr): For comparison codes EQ_EXPR and NE_EXPR, attempt vcondeq_optab as fallback. (expand_vec_cmp_expr): For comparison codes EQ_EXPR and NE_EXPR, attempt vec_cmpeq_optab as fallback. * optabs-tree.h (expand_vec_cmp_expr_p, expand_vec_cond_expr_p): Add enum tree_code argument. * optabs-query.h (get_vec_cmp_eq_icode, get_vcond_eq_icode): New inline functions. * optabs-tree.c (expand_vec_cmp_expr_p): Add CODE argument. For CODE EQ_EXPR or NE_EXPR, attempt to use vec_cmpeq_optab as fallback. (expand_vec_cond_expr_p): Add CODE argument. For CODE EQ_EXPR or NE_EXPR, attempt to use vcondeq_optab as fallback. * tree-vect-generic.c (expand_vector_comparison, expand_vector_divmod, expand_vector_condition): Adjust expand_vec_cmp_expr_p and expand_vec_cond_expr_p callers. * tree-vect-stmts.c (vectorizable_condition, vectorizable_comparison): Likewise. * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern, check_bool_pattern, search_type_for_mask_1): Likewise. * expr.c (do_store_flag): Likewise. * doc/md.texi (@code{vec_cmpeq@var{m}@var{n}}, @code{vcondeq@var{m}@var{n}}): Document. * config/i386/sse.md (vec_cmpeqv2div2di, vcondeq<VI8F_128:mode>v2di): New expanders. testsuite/ * gcc.target/i386/pr78102.c: New test. From-SVN: r241525
2016-10-25intrinsic.texi (cosd): New mathop.Cesar Philippidis2-0/+5
gcc/fortran/ * intrinsic.texi (cosd): New mathop. From-SVN: r241523
2016-10-25Enable .XOR. operator with -std=legacy.Fritz Reese7-4/+100
gcc/fortran/ * match.c (gfc_match_intrinsic_op): Match ".XOR." with -std=legacy. * gfortran.texi: Document. gcc/testsuite/gfortran.dg/ * dec_logical_xor_1.f90: New. * dec_logical_xor_2.f90: New. * dec_logical_xor_3.f03: New. From-SVN: r241520
2016-10-25Enable %LOC as an rvalue with -std=legacy.Fritz Reese7-3/+92
gcc/fortran/ * primary.c (gfc_match_rvalue): Match %LOC as LOC with -std=legacy. * gfortran.texi: Document. gcc/testsuite/gfortran.dg/ * dec_loc_rval_1.f90: New test. * dec_loc_rval_2.f90: New test. * dec_loc_rval_3.f90: New test. From-SVN: r241519
2016-10-25Support TYPE as alias for PRINT with -fdec.Fritz Reese8-2/+218
gcc/fortran/ * decl.c (gfc_match_type): New function. * match.h (gfc_match_type): New function. * match.c (gfc_match_if): Special case for one-line IFs. * gfortran.texi: Update documentation. * parse.c (decode_statement): Invoke gfc_match_type. gcc/testsuite/gfortran.dg/ * dec_type_print.f90: New testcase. From-SVN: r241518
2016-10-25Treat form feed as whitespace.Fritz Reese6-1/+47
gcc/fortran/ * gfortran.texi: Document. * gfortran.h (gfc_is_whitespace): Include form feed ('\f'). gcc/testsuite/gfortran.dg/ * feed_1.f90, feed_2.f90: New testcases. From-SVN: r241517
2016-10-25Cleanup -fdec.Fritz Reese8-18/+44
gcc/fortran/ * invoke.texi, gfortran.texi: Touch up documentation of -fdec. * gfortran.h (gfc_option): Move flag_dec_structure out of gfc_option. * decl.c (match_record_decl, gfc_match_decl_type_spec, gfc_match_structure_decl): Ditto. * match.c (gfc_match_member_sep): Ditto. * options.c (gfc_handle_option): Ditto. * lang.opt (fdec-structure): Use Fortran Var for flag_dec_structure. * lang.opt (fdec): Use Fortran Var to create flag_dec. * options.c (set_dec_flags): With -fdec enable -fcray-pointer, -fd-lines-as-comments (default), -fdollar-ok, and legacy std flags. From-SVN: r241516
2016-10-25go-lang.c: remove a redundant castDavid Malcolm2-3/+7
gcc/go/ChangeLog: * go-lang.c (go_langhook_type_for_mode): Remove redundant cast from result of GET_MODE_CLASS. Minor formatting fixes. From-SVN: r241514
2016-10-25v850.c (v850_handle_data_area_attribute): Fix fallthru comment.Jeff Law2-1/+6
* config/v850/v850.c (v850_handle_data_area_attribute): Fix fallthru comment. (v850_output_aligned_bss): Add missing break. From-SVN: r241513
2016-10-25* config/m68k/m68k.c (m68k_get_reloc_decoration): Add gcc_unreachable.Jeff Law2-0/+5
From-SVN: r241512
2016-10-25Fix not caught use-after-scope with -O1 (PR sanitize/78106)Martin Liska4-1/+47
PR sanitizer/78106 * sanopt.c (imm_dom_path_with_freeing_call): Handle gasm statements as they can also contain possibly a freeing call. PR sanitizer/78106 * gcc.dg/asan/pr78106.c: New test. From-SVN: r241511
2016-10-25Fix 2 typos in IPA ICF passMartin Liska5-2/+14
* gcc.dg/ipa/ipa-icf-32.c: Removed one scanned pattern. Martin Liska <mliska@suse.cz> PR ipa/78099 * common.opt: Mark flag_ipa_icf_variables as Optimization flag. * ipa-icf.c (sem_function::get_hash): Add target optimization node to hash. From-SVN: r241510
2016-10-25* parser.c (cp_parser_postfix_expression): Adding missing break;.Jakub Jelinek2-0/+3
From-SVN: r241509
2016-10-25With -fpu=neon DI mode shifts are expanded after reload.Wilco Dijkstra4-22/+58
With -fpu=neon DI mode shifts are expanded after reload. DI mode registers can either fully or partially overlap on both ARM and Thumb-2. However the shift expansion code can only deal with the full overlap case, and generates incorrect code for partial overlaps. The fix is to add new variants that support either full overlap or no overlap. gcc/ PR target/78041 * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants. Remove partial overlap check for shift by 1. (ashldi3_neon): Likewise. testsuite/ * gcc.target/arm/pr78041.c: New test. From-SVN: r241508
2016-10-25constraints.md (Q constraint): Document its use for Thumb-1.Thomas Preud'homme3-36/+105
2016-10-25 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/constraints.md (Q constraint): Document its use for Thumb-1. (Pf constraint): New constraint for relaxed, consume or relaxed memory models. * config/arm/sync.md (atomic_load<mode>): Add new ARMv8-M Baseline only alternatives to allow any register when memory model matches Pf and thus lda is used, but only low registers otherwise. Use unpredicated output template for Thumb-1 targets. (atomic_store<mode>): Likewise for stl. (arm_load_exclusive<mode>): Add new ARMv8-M Baseline only alternative whose output template does not have predication. (arm_load_acquire_exclusive<mode>): Likewise. (arm_load_exclusivesi): Likewise. (arm_load_acquire_exclusivesi): Likewise. (arm_store_release_exclusive<mode>): Likewise. (arm_store_exclusive<mode>): Use unpredicated output template for Thumb-1 targets. From-SVN: r241507
2016-10-25internal-fn.def (LAUNDER): New internal function.Jakub Jelinek15-19/+227
* internal-fn.def (LAUNDER): New internal function. * internal-fn.c (expand_LAUNDER): New function. c-family/ * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER. * c-common.c (c_common_reswords): Add __builtin_launder. cp/ * cp-tree.h (finish_builtin_launder): Declare. * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_LAUNDER. * semantics.c (finish_builtin_launder): New function. * pt.c (tsubst_copy_and_build): Handle instantiation of IFN_LAUNDER. * constexpr.c (cxx_eval_internal_function): Handle IFN_LAUNDER. (potential_constant_expression_1): Likewise. testsuite/ * g++.dg/cpp1z/launder1.C: New test. * g++.dg/cpp1z/launder2.C: New test. From-SVN: r241506
2016-10-25Typo.Georg-Johann Lay1-1/+1
From-SVN: r241505
2016-10-25New avt target pass to work around performance loss by PR fix.Georg-Johann Lay8-8/+510
gcc/ New avt target pass to work around performance loss by PR fix. PR target/71676 PR target/71678 * config/avr/avr.md (casesi_<mode>_sequence) [qi,hi]: New insn. (*cmp<mode>) [qi,qq,uqq,hi,hq,uhq,ha,uha]: Rename to cmp<mode>3. * config/avr/predicates.md (extend_operator): New. * config/avr/avr-passes.def (avr_pass_casesi): Register new pass. * config/avr/avr-protos.h (avr_casei_sequence_check_operands) (make_avr_pass_casesi): New prototypes. * config/avr/avr.c (print-rtl.h): Include it. (pass_data avr_pass_data_casesi): Data for new pass. (avr_pass_casesi): New class implementing rtl_opt_pass .avr-casesi. (make_avr_pass_casesi, avr_parallel_insn_from_insns) (avr_is_casesi_sequence, avr_casei_sequence_check_operands) (avr_optimize_casesi): New functions. gcc/testsuite/ PR target/71676 PR target/71678 * gcc.target/avr/pr71676-2.c: New test. From-SVN: r241504
2016-10-25re PR target/71676 ([avr] casesi won't handle switch values larger than 16 bits)Georg-Johann Lay7-16/+510
gcc/ PR target/71676 PR target/71678 * config/avr/avr.md (casesi): Rewrite avoiding subregs of SI. gcc/testsuite/ PR target/71676 PR target/71678 * gcc.target/avr/pr71676-1.c: New test. * gcc.target/avr/pr71676-3.c: New test. * gcc.target/avr/pr71676.c: New test. * gcc.target/avr/pr71678.c: New test. Co-Authored-By: Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com> From-SVN: r241503
2016-10-25Daily bump.GCC Administrator1-1/+1
From-SVN: r241502
2016-10-24test_frame_common.h: Add noclone attribute such that cloned verions of ↵Kugan Vivekanandarajah2-3/+8
tested functions are not created. gcc/testsuite/ChangeLog: 2016-10-24 Kugan Vivekanandarajah <kuganvi@linaro.org> * gcc.target/aarch64/test_frame_common.h: Add noclone attribute such that cloned verions of tested functions are not created. From-SVN: r241499
2016-10-24re PR libfortran/77828 (Linking gfortran-7 compiled program with libgfortran ↵Jerry DeLisle4-6/+23
of 5.x allowed but crashes when containing write to string) 2016-10-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/77828 * io/io.h (st_parameter_dt): Reorder for readability and sanity. * io/transfer.c (data_transfer_init): Remove TODO and enable the runtime error message, rec= specifier not allowed in STREAM access. * libtool-version: Bump major version of libgfortran to 4. * ioparm.def: Reorder dt parameters to match libgfortran. * libgfortran.h: Swap definitions of GFC_INTERNAL_UNIT and GFC_INTERNAL_UNIT4. From-SVN: r241497
2016-10-24re PR fortran/71895 (ICE in gfc_compare_derived_types, at ↵Steven G. Kargl4-1/+23
fortran/interface.c:520) 2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/71895 * interface.c (gfc_compare_derived_types): Convert gcc_assert() to a gfc_internal_error() to prevent an ICE. 2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/71895 * gfortran.dg/pr71895.f90: New test. From-SVN: r241493
2016-10-24dwarf2out.c (gen_subprogram_die): Add DW_AT_reference or ↵Jakub Jelinek6-0/+73
DW_AT_rvalue_reference attributes. * dwarf2out.c (gen_subprogram_die): Add DW_AT_reference or DW_AT_rvalue_reference attributes. * cp-objcp-common.c (cp_decl_dwarf_attribute): Handle DW_AT_reference and DW_AT_rvalue_reference. * g++.dg/debug/dwarf2/ref-2.C: New test. From-SVN: r241492
2016-10-24c-common.c (c_common_truthvalue_conversion): Warn for multiplications in ↵Bernd Edlinger7-5/+41
boolean context. 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-common.c (c_common_truthvalue_conversion): Warn for multiplications in boolean context. Fix the quoting of '<<' and '<' in the shift warning. gcc: 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> * doc/invoke.text (Wint-in-bool-context): Update documentation. * value-prof.c (stringop_block_profile): Fix a warning. testsuite: 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-c++-common/Wint-in-bool-context-3.c: New test. From-SVN: r241490
2016-10-24PR middle-end/77735 - FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.cMartin Sebor11-201/+560
gcc/ChangeLog: PR middle-end/77735 * builtins.c (string_length): New function. (c_strlen): Use string_length. Correctly handle wide strings. * gimple-ssa-sprintf.c (target_max_value, target_size_max): New functions. (target_int_max): Call target_max_value. (format_result::knownrange): New data member. (fmtresult::fmtresult): Define default constructor. (format_integer): Use it and set format_result::knownrange. Handle global constants. (format_floating_max): Add third argument. (format_floating): Recompute maximum value for %a for each argument. (get_string_length): Use fmtresult default ctor. (format_string): Set format_result::knownrange. (format_directive): Check format_result::knownrange. (add_bytes): Same. Correct caret placement in diagnostics. (pass_sprintf_length::compute_format_length): Set format_result::knownrange. (pass_sprintf_length::handle_gimple_call): Use target_size_max. gcc/testsuite/ChangeLog: PR middle-end/77735 * gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust/relax. * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: XFAIL for LP64 only. * gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases. From-SVN: r241489
2016-10-24trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use VAR_P (x) instead of ↵Jakub Jelinek8-66/+84
TREE_CODE (x) == VAR_DECL. * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. * trans-expr.c (gfc_class_vptr_get, gfc_class_len_get, gfc_class_len_or_zero_get, gfc_get_vptr_from_expr, gfc_conv_string_length, conv_base_obj_fcn_val, gfc_conv_procedure_call, gfc_trans_assignment_1): Likewise. * trans-openmp.c (gfc_omp_predetermined_sharing, gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause, gfc_trans_omp_atomic, gfc_trans_omp_do): Likewise. * trans-io.c (nml_get_addr_expr): Likewise. * trans-decl.c (gfc_finish_decl, gfc_build_qualified_array, gfc_get_symbol_decl, gfc_get_fake_result_decl, gfc_trans_deferred_vars, gfc_trans_use_stmts, generate_local_decl): Likewise. * trans-array.c (trans_array_constructor, trans_array_bound_check, build_class_array_ref, gfc_array_init_size, gfc_trans_auto_array_allocation, gfc_trans_g77_array, gfc_trans_dummy_array_bias, gfc_alloc_allocatable_for_assignment, gfc_trans_deferred_array): Likewise. * trans.c (gfc_build_array_ref): Likewise. Use VAR_OR_FUNCTION_DECL_P (x) instead of TREE_CODE (x) == VAR_DECL || TREE_CODE (x) == FUNCTION_DECL. From-SVN: r241482
2016-10-24i386.c (ix86_in_large_data_p, [...]): Use VAR_P (x) instead of TREE_CODE (x) ↵Jakub Jelinek2-3/+8
== VAR_DECL. * config/i386/i386.c (ix86_in_large_data_p, ix86_expand_builtin): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. From-SVN: r241481
2016-10-24cxx-pretty-print.c (pp_cxx_check_constraint): Use VAR_P (x) instead of ↵Jakub Jelinek5-11/+18
TREE_CODE (x) == VAR_DECL. * cxx-pretty-print.c (pp_cxx_check_constraint): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. * constraint.cc (get_concept_definition): Likewise. (finish_shorthand_constraint): Likewise. * init.c (warn_placement_new_too_small): Likewise. * cp-gimplify.c (cp_genericize_r): Likewise. From-SVN: r241480
2016-10-24re PR testsuite/71491 (gcc.dg/vect/slp-43.c FAILs)Richard Biener3-2/+10
2016-10-24 Richard Biener <rguenther@suse.de> PR testsuite/71491 * gcc.dg/vect/slp-43.c: Adjust for !vect_hw_misalign. * gcc.dg/vect/slp-45.c: Likewise. From-SVN: r241478
2016-10-24re PR debug/77985 (DW_AT_comp_dir is omitted when filename is absolute and ↵Ximin Luo6-39/+13
the file does not contain a specific typedef) 2016-10-24 Ximin Luo <infinity0@pwned.gg> PR debug/77985 * dwarf2out.c (file_table_relative_p): Remove. (gen_compile_unit_die, dwarf2out_early_finish): Emit DW_AT_comp_dir also for absolute paths. * doc/tm.texi: Update. * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Remove. * target.def (force_at_comp_dir): Remove hook. * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Remove define. From-SVN: r241473
2016-10-24Remove dead wood from trans-expr.cPaul Thomas1-21/+0
From-SVN: r241472
2016-10-24tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore backedges when ↵Richard Biener7-16/+78
identifying the single predecessor to take conditional... 2016-10-24 Richard Biener <rguenther@suse.de> * tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore backedges when identifying the single predecessor to take conditional info from. Use SCEV to get at ranges for loop IVs. * lto-streamer-out.c (lto_write_mode_table): CSE inner mode to avoid false warning. * gcc.dg/tree-ssa/cunroll-13.c: Disable EVRP. * gcc.dg/tree-ssa/pr21458.c: Likewise. * gcc.dg/tree-ssa/pr21458-2.c: New testcase for EVRP. From-SVN: r241470
2016-10-24Parallelize check-gnatRainer Orth2-0/+8
* gcc-interface/Make-lang.in (lang_checks_parallelized): New target. (check_gnat_parallelize): Likewise. From-SVN: r241469
2016-10-24re PR target/78093 ([avr] New variable attribute "absdata" and option ↵Georg-Johann Lay6-11/+234
"-mabsdata" to enable LDS / STS on Reduced Tiny) gcc/ PR target/78093 * doc/extend.texi (AVR Variable Attributes) [absdata]: Document it. * config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_ABSDATA): New macro. (avr_address_tiny_absdata_p): New static function. (avr_legitimate_address_p, avr_legitimize_address) [AVR_TINY]: Use it to determine validity of constant addresses. (avr_attribute_table) [absdata]: New variable attribute... (avr_handle_absdata_attribute): ...and handler. (avr_decl_absdata_p): New static function. (avr_encode_section_info) [AVR_TINY]: Use it to add flag AVR_SYMBOL_FLAG_TINY_ABSDATA to respective symbols_refs. (avr_address_cost) [AVR_TINY]: absdata addresses cost 2. gcc/testsuite/ PR target/78093 * lib/target-supports.exp (check_effective_target_avr_tiny): New proc. * gcc.target/avr/torture/tiny-absdata-1.c: New test. From-SVN: r241468
2016-10-24re PR tree-optimization/78076 (Conditional jump or move depends on ↵Richard Biener2-2/+8
uninitialised value @ tree-vect-loop.c:2307) 2016-10-24 Richard Biener <rguenther@suse.de> PR tree-optimization/78076 * tree-ssa-loop-split.c (tree_ssa_split_loops): Reset aux also on the loop tree root. From-SVN: r241467
2016-10-24pure-code.exp: Restore saved globals.Andre Vieira2-0/+8
2016-10-24 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc.target/arm/pure-code/pure-code.exp: Restore saved globals. From-SVN: r241466
2016-10-24i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_BEXTR{,I}{32,64}...Jakub Jelinek8-1/+367
* config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_BEXTR{,I}{32,64}, IX86_BUILTIN_BZHI{32,64}, IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}. (ix86_gimple_fold_builtin): Handle IX86_BUILTIN_BZHI{32,64}, IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}. * gcc.target/i386/bmi2-pext-1.c: New test. * gcc.target/i386/bmi2-pdep-1.c: New test. * gcc.target/i386/bmi2-bzhi-3.c: New test. * gcc.target/i386/tbm-bextri-1.c: New test. * gcc.target/i386/bmi-bextr-6.c: New test. From-SVN: r241465
2016-10-24Work around 32-bit i386 STV testcases failing with -mstackrealign (PR ↵Rainer Orth8-7/+18
target/77483) PR target/77483 * gcc.target/i386/mask-unpack.c (dg-options): Add -mno-stackrealign. * gcc.target/i386/pr65105-1.c: Likewise. * gcc.target/i386/pr65105-2.c: Likewise. * gcc.target/i386/pr65105-3.c: Likewise. * gcc.target/i386/pr65105-5.c: Likewise. * gcc.target/i386/pr67761.c: Likewise. * gcc.target/i386/pr70799-1.c: Likewise. From-SVN: r241464
2016-10-24Do not disable aggressive loop opts forMartin Liska4-1/+32
PR sanitizer/77966 * opts.c (finish_options): Skip conditionally. PR sanitizer/77966 * c-c++-common/ubsan/unreachable-3.c: New test. From-SVN: r241463
2016-10-24Daily bump.GCC Administrator1-1/+1
From-SVN: r241460
2016-10-23PR target/77837 - missing -Wformat-length warning for %p with null argument ↵Martin Sebor3-0/+14
on powerpc64 gcc/ChangeLog: PR target/77837 * config/rs6000/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define. * config/rs6000/linux64.h (TARGET_PRINTF_POINTER_FORMAT): Likewise. From-SVN: r241457
2016-10-23re PR fortran/77763 (ICE in parse_struct_map, at fortran/parse.c:3064)Steven G. Kargl4-5/+23
2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77763 * parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA. Sort case labels. 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77763 * gfortran.dg/pr77763.f90 From-SVN: r241454
2016-10-23sparc.md (cpu_feature): Minor tweak.Eric Botcazou2-43/+55
* config/sparc/sparc.md (cpu_feature): Minor tweak. (enabled): Likewise. (movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn, movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64, sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64, mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis, <code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2, fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise. From-SVN: r241452