aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-03-06lto-streamer.c (lto_check_version): Use %qs in diagnostics.Richard Biener4-3/+9
2017-03-06 Richard Biener <rguenther@suse.de> * lto-streamer.c (lto_check_version): Use %qs in diagnostics. * plugin.c (register_plugin_info): Likewise. * tree-chkp.c (chkp_make_static_const_bounds): Likewise. From-SVN: r245909
2017-03-06* de.po, fr.po: Update.Joseph Myers3-3703/+2768
From-SVN: r245908
2017-03-06Daily bump.GCC Administrator1-1/+1
From-SVN: r245907
2017-03-05sse.md (sse_storehps, [...]): Require in condition that at least one operand ↵Jakub Jelinek2-5/+13
is not a MEM. * config/i386/sse.md (sse_storehps, sse_storelps, avx_<castmode><avxsizesuffix>_<castmode>, avx512f_<castmode><avxsizesuffix>_<castmode>, avx512f_<castmode><avxsizesuffix>_256<castmode>): Require in condition that at least one operand is not a MEM. From-SVN: r245904
2017-03-05re PR c++/70266 (ICE on invalid code on x86_64-linux-gnu: unexpected ↵Paolo Carlini4-0/+22
expression ‘foo’ of kind overload) /cp 2017-03-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70266 * except.c (build_must_not_throw_expr): Perform the implicit conversions on the condition. /testsuite 2017-03-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70266 * g++.dg/tm/pr70266.C: New. From-SVN: r245901
2017-03-05check.c (positive_check): Add new function checking constant for being ↵Andre Vehreschild35-13/+769
greater then zero. gcc/fortran/ChangeLog: 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * check.c (positive_check): Add new function checking constant for being greater then zero. (gfc_check_image_status): Add checking of image_status arguments. (gfc_check_failed_or_stopped_images): Same but for failed_- and stopped_images function. * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE. * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST. (enum gfc_isym_id): Added new intrinsic symbols. (enum gfc_exec_op): Added EXEC_FAIL_IMAGE. * gfortran.texi: Added description for the new API functions. Updated coverage of gfortran of TS18508. * intrinsic.c (add_functions): Added symbols to resolve new intrinsic functions. * intrinsic.h: Added prototypes. * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images intrinsic. (gfc_resolve_image_status): Same for image_status. (gfc_resolve_stopped_images): Same for stopped_images. * libgfortran.h: Added prototypes. * match.c (gfc_match_if): Added matching of FAIL IMAGE statement. (gfc_match_fail_image): Match a FAIL IMAGE statement. * match.h: Added prototype. * parse.c (decode_statement): Added matching for FAIL IMAGE. (next_statement): Same. (gfc_ascii_statement): Same. * resolve.c: Same. * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY= single a constant result can be returne.d (gfc_simplify_image_status): For COARRAY=single the result is constant. * st.c (gfc_free_statement): Added FAIL_IMAGE handling. * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the new intrinsics. * trans-expr.c (gfc_conv_procedure_call): This is first time all arguments of a function are optional, which is now handled here correctly. * trans-intrinsic.c (conv_intrinsic_image_status): Translate image_status. (gfc_conv_intrinsic_function): Add support for image_status. (gfc_is_intrinsic_libcall): Add support for the remaining new intrinsics. * trans-stmt.c (gfc_trans_fail_image): Trans a fail image. * trans-stmt.h: Add the prototype for the above. * trans.c (trans_code): Dispatch for fail_image. * trans.h: Add the trees for the new intrinsics. libgfortran/ChangeLog: 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * caf/libcaf.h: Added prototypes and stat codes for failed and stopped images. * caf/single.c (void _gfortran_caf_fail_image): Add the routine. (int _gfortran_caf_image_status): Same. (_gfortran_caf_failed_images): Same. (_gfortran_caf_stopped_images): Same. gcc/testsuite/ChangeLog: 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * gfortran.dg/coarray/fail_image_1.f08: New test. * gfortran.dg/coarray/fail_image_2.f08: New test. * gfortran.dg/coarray/failed_images_1.f08: New test. * gfortran.dg/coarray/failed_images_2.f08: New test. * gfortran.dg/coarray/image_status_1.f08: New test. * gfortran.dg/coarray/image_status_2.f08: New test. * gfortran.dg/coarray/stopped_images_1.f08: New test. * gfortran.dg/coarray/stopped_images_2.f08: New test. * gfortran.dg/coarray_fail_st.f90: New test. * gfortran.dg/coarray_failed_images_1.f08: New test. * gfortran.dg/coarray_image_status_1.f08: New test. * gfortran.dg/coarray_stopped_images_1.f08: New test. From-SVN: r245900
2017-03-05Daily bump.GCC Administrator1-1/+1
From-SVN: r245897
2017-03-04c.opt (Wnoexcept-type): New.Jason Merrill6-2/+30
* c.opt (Wnoexcept-type): New. gcc/cp/ * mangle.c (mangle_decl): Check -Wnoexcept-type instead of -Wc++1z-compat. From-SVN: r245894
2017-03-04re PR c/79847 (diagnostics: missing space in "implicit declaration of function")Marek Polacek2-1/+6
PR c/79847 * c-decl.c (implicit_decl_warning): Add missing space. From-SVN: r245893
2017-03-04Core issues 2273 and 2277Jason Merrill4-10/+53
* call.c (joust): Adjust using-declaration tiebreaker to handle the intermediate base case. * method.c (strip_inheriting_ctors): Just return the argument if !flag_new_inheriting_ctors. From-SVN: r245892
2017-03-04re PR fortran/79841 (Inconsistent diagnostics in fortran/openmp.c, function ↵Jerry DeLisle2-1/+6
check_symbol_not_pointer) 2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/79841 * openmp.c (check_symbol_not_pointer): Adjust diagnostic. From-SVN: r245891
2017-03-04Daily bump.GCC Administrator1-1/+1
From-SVN: r245890
2017-03-03* de.po: Update.Joseph Myers2-2067/+555
From-SVN: r245887
2017-03-03re PR c/79758 (ICE: tree check: expected class 'type', have 'exceptional' ↵Marek Polacek4-7/+28
(error_mark) in store_parm_decls_oldstyle, at c/c-decl.c:8973) PR c/79758 * c-decl.c (store_parm_decls_oldstyle): Check if the element of current_function_prototype_arg_types is error_mark_node. Fix formatting. Use TREE_VALUE instead of TREE_TYPE. * gcc.dg/noncompile/pr79758.c: New test. From-SVN: r245886
2017-03-03re PR c/79837 (incomplete diagnostic in c-parser: expected +, *, -, &, ^, |, ↵Jakub Jelinek2-2/+8
&&, ||, min or identifier) PR c/79837 * c-parser.c (c_parser_omp_clause_reduction): Don't mention %<min%> or %<max%> in the diagnostics, instead mention identifier. (c_parser_omp_declare_reduction): Don't mention %<min%> in the diagnostics. From-SVN: r245885
2017-03-03re PR c/79836 (typo in c/c-parser.c: pragma omp ordered)Jakub Jelinek2-3/+12
PR c/79836 * c-parser.c (c_parser_generic_selection): Use %<_Generic%> instead of %<_Generic>. (c_parser_omp_ordered): Use %<depend%> instead of %<depend>. (c_parser_omp_target_exit_data): Use %<release%> instead of %<release>. From-SVN: r245883
2017-03-03re PR middle-end/79805 (ICE (verify_flow_info failed) with ↵Jakub Jelinek6-22/+312
-fnon-call-exceptions -O) PR middle-end/79805 * internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET, ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove ECF_NOTHROW. * gimple-fold.c (fold_builtin_atomic_compare_exchange): Set gimple_call_nothrow_p flag based on whether original builtin can throw. If it can, emit following stmts on the fallthrough edge. * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except don't create new bb if inserting just debug stmts on the edge, try to insert them on the fallthru bb or just reset debug stmts. * g++.dg/opt/pr79805.C: New test. From-SVN: r245882
2017-03-03rs6000: Fix for -mwarn-cell-microcode (PR43763)Segher Boessenkool2-0/+12
If using -mwarn-cell-microcode, rs6000_final_prescan_insn calls get_insn_template to get the name of the machine instruction. But, get_insn_template calls the output template if that is code, and that then can modify recog_data (it is normal to change the operands, for example). This patch saves and restores recog_data around the call to get_insn_template to fix the problems this causes. PR target/43763 * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and restore recog_data (including the operand rtxes inside it) around the call to get_insn_template. From-SVN: r245880
2017-03-03avx512vpopcntdq-check.h: New.Andrew Senkevich6-0/+188
* gcc.target/i386/avx512vpopcntdq-check.h: New. * gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c: Ditto. * gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c: Ditto. * gcc.target/i386/avx512f-helper.h: Add avx512vpopcntdq-check.h. * gcc.target/i386/i386.exp (check_effective_target_avx512vpopcntdq): New. From-SVN: r245879
2017-03-03PR tree-optimization/79699 - small memory leak in MPFRMartin Sebor2-0/+10
gcc/ChangeLog: * context.c (context::~context): Free MPFR caches to avoid a memory leak on program exit. From-SVN: r245878
2017-03-03[AArch64] Fix bootstrap due to wide_int .elt (0) uninit warningKyrylo Tkachov2-1/+6
* config/aarch64/aarch64.c (aarch64_float_const_representable_p): Use wide_int::ulow () instead of .elt (0). From-SVN: r245877
2017-03-03i386.md (*pushtf): Change *roF constraint to *roC.Uros Bizjak2-8/+17
* config/i386/i386.md (*pushtf): Change *roF constraint to *roC. (*pushxf): Limit oF constraint to 32bit targets and add oC constraint for 64bit targets. (pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment. (*pushdf): Change rmF constraint to rmC. From-SVN: r245876
2017-03-03MIPS: Fix register mode checking for n64 in pr68273.c.Toma Tabacu2-2/+10
gcc/testsuite/ * gcc.target/mips/pr68273.c (dg-final): Match SImode registers only for ilp32 targets and match DImode registers for lp64 targets. From-SVN: r245874
2017-03-03Remove unused variable.Martin Liska2-1/+5
2017-03-03 Martin Liska <mliska@suse.cz> * tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute): Remove unused variable. From-SVN: r245873
2017-03-03pr71624.C: Disable for x32.Uros Bizjak3-2/+7
* g++.dg/pr71624.C: Disable for x32. * g++.dg/pr71633.C: Ditto. From-SVN: r245872
2017-03-03re PR target/79807 (ICE in extract_insn, at recog.c:2311 (error: ↵Jakub Jelinek4-0/+28
unrecognizable insn)) PR target/79807 * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target is a memory operand, increase num_memory. (ix86_expand_args_builtin): Likewise. * gcc.target/i386/pr79807.c: New test. From-SVN: r245871
2017-03-03Properly handle __cxa_pure_virtual visibility (PR lto/79760).Jan Hubicka2-4/+19
2017-03-03 Jan Hubicka <jh@suse.cz> PR lto/79760 * ipa-devirt.c (maybe_record_node): Properly handle __cxa_pure_virtual visibility. From-SVN: r245870
2017-03-03Add -Wdisabled-optimization to loop prefetching pass (PR ↵Martin Liska4-4/+89
tree-optimization/79803). 2017-03-03 Martin Liska <mliska@suse.cz> PR tree-optimization/79803 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove assert. (pass_loop_prefetch::execute): Disabled optimization if an assumption about L1 cache size is not met. 2017-03-03 Martin Liska <mliska@suse.cz> PR tree-optimization/79803 * gcc.dg/tree-ssa/pr79803.c: New test. From-SVN: r245869
2017-03-03GCSE: Use HOST_WIDE_INT instead of int (PR rtl-optimization/79574).Martin Liska4-11/+62
2017-03-03 Martin Liska <mliska@suse.cz> PR rtl-optimization/79574 * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int. (hash_scan_set): Likewise. (dump_hash_table): Likewise. (hoist_code): Likewise. 2017-03-03 Martin Liska <mliska@suse.cz> PR rtl-optimization/79574 * gcc.dg/pr79574-2.c: New test. From-SVN: r245868
2017-03-03fixed-value.c (fixed_from_string): Restore use of elt (1) in place of uhigh ().Richard Biener2-2/+8
2017-03-03 Richard Biener <rguenther@suse.de> * fixed-value.c (fixed_from_string): Restore use of elt (1) in place of uhigh (). (fixed_convert_from_real): Likewise. From-SVN: r245867
2017-03-03re PR c++/79825 (Uninitialized uses in aggregate copies of empty structs ↵Richard Biener4-0/+29
(missed DCE in C++ gimplify)) 2017-03-03 Richard Biener <rguenther@suse.de> PR c++/79825 * cp-gimplify.c (simple_empty_class_p): Handle EMPTY_CLASS_EXPR. * g++.dg/warn/Wuninitialized-8.C: New testcase. From-SVN: r245866
2017-03-03* gcc.dg/pr57134.c: Use empty inline asm string literal.Jakub Jelinek2-1/+5
From-SVN: r245865
2017-03-03re PR c++/79791 (-Werror=write-strings ignored with -Wpedantic)Marek Polacek15-2/+87
PR c++/79791 * typeck.c (string_conv_p): In C++11, always call pedwarn with OPT_Wwrite_strings. * g++.dg/warn/Wwrite-strings-1.C: New test. * g++.dg/warn/Wwrite-strings-2.C: New test. * g++.dg/warn/Wwrite-strings-3.C: New test. * g++.dg/warn/Wwrite-strings-4.C: New test. * g++.dg/warn/Wwrite-strings-5.C: New test. * g++.dg/warn/Wwrite-strings-6.C: New test. * g++.dg/warn/Wwrite-strings-7.C: New test. * g++.dg/warn/Wwrite-strings-8.C: New test. * g++.dg/warn/Wwrite-strings-9.C: New test. * g++.dg/warn/Wwrite-strings-10.C: New test. * g++.dg/warn/Wwrite-strings-11.C: New test. * g++.dg/warn/Wwrite-strings-12.C: New test. From-SVN: r245864
2017-03-03re PR target/79514 (ICE in curr_insn_transform, at lra-constraints.c:3773)Uros Bizjak2-4/+9
PR target/79514 * config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode. From-SVN: r245861
2017-03-03re PR middle-end/79818 (wrong code with -fwrapv and -Os/-O1/-O2/-O3)Richard Biener4-1/+32
2017-03-03 Richard Biener <rguenther@suse.de> PR middle-end/79818 * match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing TYPE_OVERFLOW_UNDEFINED check. * gcc.dg/torture/pr79818.c: New testcase. From-SVN: r245860
2017-03-03Update overload resolution with deduction guides.Jason Merrill6-12/+98
* pt.c (do_class_deduction): Always build the copy guide. (copy_guide_p, template_guide_p): New. (build_deduction_guide): Remember the original constructor. * call.c (joust): Prefer the copy guide and non-template guides. From-SVN: r245859
2017-03-02Allow deduction guides to look into primary template.Jason Merrill6-50/+90
* cp-tree.h (struct saved_scope): Add deduction_guide_type. (struct cp_decl_specifier_seq): Add constructor_p. * parser.c (cp_parser_decl_specifier_seq): Set constructor_p. (cp_parser_init_declarator): Check it. Set ctor_dtor_or_conv_p. Clear deduction_guide_type. Don't handle deduction guide names. (cp_parser_declarator): Don't clear ctor_dtor_or_conv_p. (cp_parser_direct_declarator): Likewise. Handle deduction guides. (cp_parser_member_declaration, cp_parser_cache_defarg) (cp_parser_objc_class_ivars): Set ctor_dtor_or_conv_p. * pt.c (tsubst_copy, tsubst_copy_and_build): Revert last change. (build_deduction_guide): Set deduction_guide_type. (dependent_scope_p): Check deduction_guide_type. * search.c (lookup_member): Likewise. From-SVN: r245858
2017-03-03Daily bump.GCC Administrator1-1/+1
From-SVN: r245857
2017-03-02re PR c++/79782 (ICE: tree check: expected tree_list, have void_type in ↵Jakub Jelinek4-2/+36
emit_mem_initializers, at cp/init.c:1225) PR c++/79782 * init.c (mark_exp_read_r): New function. (emit_mem_initializers): Use cp_walk_tree with mark_exp_read_r on whole arguments instead of plain mark_exp_read on TREE_LIST values. * g++.dg/warn/Wunused-parm-10.C: New test. From-SVN: r245853
2017-03-02* da.po: Update.Joseph Myers2-703/+426
From-SVN: r245852
2017-03-02*.c: Test for "{ i?86-*-* x86_64-*-* } && lp64" targets only.Uros Bizjak14-13/+18
* gcc.dg/rtl/x86_64/*.c: Test for "{ i?86-*-* x86_64-*-* } && lp64" targets only. From-SVN: r245850
2017-03-02vector.md (vector_ne_<mode>_p): Correct operand numbers.Bill Schmidt3-18/+31
2017-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand numbers. (vector_ae_<mode>_p): Likewise. (vector_nez_<mode>_p): Likewise. (vector_ne_v2di_p): Likewise. (vector_ae_v2di_p): Likewise. (vector_ne_<mode>_p): Likewise. * config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand numbers. (vsx_tsqrt<mode>2_fe): Likewise. From-SVN: r245849
2017-03-02re PR target/79514 (ICE in curr_insn_transform, at lra-constraints.c:3773)Uros Bizjak4-5/+57
PR target/79514 * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern. testsuite/ChangeLog: PR target/79514 * gcc.target/i386/pr79514.c: New test. From-SVN: r245844
2017-03-02re PR rtl-optimization/79780 (ICE in rtl_verify_bb_insns, at cfgrtl.c:2661 ↵Jakub Jelinek4-3/+73
(error: flow control insn inside a basic block)) PR rtl-optimization/79780 * cprop.c (one_cprop_pass): When second and further conditional trap in a single basic block is turned into an unconditional trap, turn it into a deleted note to avoid RTL verification failures. * gcc.c-torture/compile/pr79780.c: New test. From-SVN: r245843
2017-03-02fold-const.c (const_binop): Use ulow () instead of elt (0).Richard Biener2-1/+5
2017-03-02 Richard Biener <rguenther@suse.de> * fold-const.c (const_binop): Use ulow () instead of elt (0). From-SVN: r245841
2017-03-02re PR tree-optimization/79345 (passing yet-uninitialized member as argument ↵Richard Biener9-43/+158
to base class constructor should warn (-Wunitialized)) 2017-03-02 Richard Biener <rguenther@suse.de> PR tree-optimization/79345 PR c++/42000 * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit param and abort the walk, returning -1 if it is hit. (walk_aliased_vdefs): Take a limit param and pass it on. * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param, defaulting to 0 and return a signed int. * tree-ssa-uninit.c (struct check_defs_data): New struct. (check_defs): New helper. (warn_uninitialized_vars): Use walk_aliased_vdefs to warn about uninitialized memory. * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid bogus uninitialized warning. (fixed_convert_from_real): Likewise. * g++.dg/warn/Wuninitialized-7.C: New testcase. * c-c++-common/ubsan/bounds-2.c: Add -Wno-uninitialized. * gcc.dg/uninit-pr19430-2.c: Add expected warning. From-SVN: r245840
2017-03-02re PR middle-end/79756 (ICE in execute_todo, at passes.c:2011)Richard Biener4-0/+21
2017-03-02 Richard Biener <rguenther@suse.de> PR c/79756 * c-common.c (c_common_mark_addressable_vec): Look through C_MAYBE_CONST_EXPR. * gcc.dg/vector-1.c: New testcase. From-SVN: r245838
2017-03-02re PR tree-optimization/66768 (address space gets lost on literal pointer)Bin Cheng4-0/+32
PR tree-optimization/66768 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr iv_use if base object can't be determined. gcc/testsuite * gcc.target/i386/pr66768.c: New test. From-SVN: r245837
2017-03-02re PR tree-optimization/79345 (passing yet-uninitialized member as argument ↵Jakub Jelinek7-17/+39
to base class constructor should warn (-Wunitialized)) PR tree-optimization/79345 * gensupport.h (struct pattern_stats): Add min_scratch_opno field. * gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it. (get_pattern_stats): Initialize it. * genemit.c (gen_expand): Verify match_scratch numbers come after match_operand/match_dup numbers. * config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and match_scratch numbers. * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>): Likewise. * config/s390/s390.md (trunctdsd2): Likewise. From-SVN: r245833
2017-03-02dfinit.c: Only run for lp64.Richard Biener7-6/+15
2017-03-02 Richard Biener <rguenther@suse.de> * gcc.dg/rtl/x86_64/dfinit.c: Only run for lp64. * gcc.dg/rtl/x86_64/final.c: Likewise. * gcc.dg/rtl/x86_64/into-cfglayout.c: Likewise. * gcc.dg/rtl/x86_64/ira.c: Likewise. * gcc.dg/rtl/x86_64/times-two.c.after-expand.c: Likewise. * gcc.dg/rtl/x86_64/vregs.c: Likewise. From-SVN: r245832