- 12 Nov, 2014 37 commits
-
-
* include/bits/shared_ptr.h (shared_ptr, weak_ptr): Define _Convertible alias template to simplify constraints. (shared_ptr(unique_ptr<TD>&&)): Constrain (LWG 2399). * include/bits/shared_ptr_base.h: Likewise. (_Sp_counted_deleter::_M_get_deleter()): Use addressof (LWG 2400). * include/std/functional (function::operator=(nullptr_t)): Add noexcept (LWG 2401). * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Adjust dg-error. From-SVN: r217442
Jonathan Wakely committed -
PR tree-optimization/63835 * gcc.dg/pr63835.c: New test. From-SVN: r217441
H.J. Lu committed -
gcc/: * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Display indices. * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): Add qualifier_lane_index. (aarch64_types_ternop_lane_qualifiers, TYPES_TERNOP_LANE): Rename to... (aarch64_types_quadop_lane_qualifiers, TYPES_QUADOP_LANE): ...these. (aarch64_types_ternop_lane_qualifiers, TYPES_TERNOP_LANE): New. (aarch64_types_getlane_qualifiers): Rename to... (aarch64_types_binop_imm_qualifiers): ...this. (TYPES_SHIFTIMM): Follow renaming. (TYPES_GETLANE): Rename to... (TYPE_GETREG): ...this. (aarch64_types_setlane_qualifiers): Rename to... (aarch64_type_ternop_imm_qualifiers): ...this. (TYPES_SHIFTINSERT, TYPES_SHIFTACC): Follow renaming. (TYPES_SETLANE): Follow renaming above, and rename self to... (TYPE_SETREG): ...this. (enum builtin_simd_arg): Add SIMD_ARG_LANE_INDEX. (aarch64_simd_expand_args): Add range check and endianness-flip. (aarch64_simd_expand_builtin): Add mapping for qualifier_lane_index. * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>_internal *2): Rename to... (aarch64_sq<r>dmulh_lane<mode>): ...this, and remove lane bounds check. (aarch64_sqdmulh_lane<mode> *2, aarch64_sqrdmulh_lane<mode> *2): Delete. (aarch64_sq<r>dmulh_laneq<mode>_internal): Rename to... (aarch64_sq<r>dmulh_lane<mode>): ...this. (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal *2): Rename to... (aarch64_sqdml<SBINQOPS:as>l_lane<mode>): ...this. (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal *2): Rename to... (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>): ...this. (aarch64_sqdmull_lane<mode>_internal *2): Rename to... (aarch64_sqdmull_lane<mode>): ...this. (aarch64_sqdmull_laneq<mode>_internal *2): Rename to... (aarch64_sqdmull_laneq<mode>): ...this. (aarch64_sqdmulh_laneq<mode>, aarch64_sqrdmulh_laneq<mode>, (aarch64_sqdmlal_lane<mode>, aarch64_sqdmlal_laneq<mode>, aarch64_sqdmlsl_lane<mode>, aarch64_sqdmlsl_laneq<mode>, aarch64_sqdmull_lane<mode>, aarch64_sqdmull_laneq<mode>): Delete. (aarch64_sqdmlal2_lane<mode>, aarch64_sqdmlal2_laneq<mode>, aarch64_sqdmlsl2_lane<mode>, aarch64_sqdmlsl2_laneq<mode>, aarch64_sqdmull2_lane<mode>, aarch64_sqdmull2_laneq<mode>): Remove bounds check and lane flip. * config/aarch64/aarch64-simd-builtins.def (be_checked_get_lane, get_dregoi, get_dregci, getdregxi, get_qregoi,get_qregci, get_qregxi, set_qregoi, set_qregci, set_qregxi): Change qualifiers to GETREG. (sqdmlal_lane, sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq, sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq, sqdmlsl2_laneq): Follow renaming of TERNOP_LANE to QUADOP_LANE. (sqdmull_lane, sqdmull_laneq, sqdmull2_lane, sqdmull2_laneq, sqdmulh_lane, sqdmulh_laneq, sqrdmulh_lane, sqrdmulh_laneq): Set qualifiers to TERNOP_LANE. gcc/testsuite/: * gcc.target/aarch64/simd/vqdmlal_high_lane_s16_indices_1.c: New test. * gcc.target/aarch64/simd/vqdmlal_high_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlal_high_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlal_high_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlal_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlal_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlal_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlal_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlalh_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlals_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_high_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_high_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_high_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_high_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsl_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlslh_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmlsls_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulh_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulh_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulh_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulh_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulhh_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulhq_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulhq_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulhq_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulhq_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulhs_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_high_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_high_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_high_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_high_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmull_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmullh_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqdmulls_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulh_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulh_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulh_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulh_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulhh_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulhq_lane_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulhq_lane_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulhq_laneq_s16_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulhq_laneq_s32_indices_1.c: Likewise. * gcc.target/aarch64/simd/vqrdmulhs_lane_s32_indices_1.c: Likewise. From-SVN: r217440
Alan Lawrence committed -
* Makefile.def: Make all-gcc depend on all-isl. From-SVN: r217439
Tobias Burnus committed -
2014-11-11 Tobias Burnus <burnus@net-b.de> * Makefile.def: Remove CLooG. * Makefile.in: Regenerate. From-SVN: r217438
Tobias Burnus committed -
* gcc.target/i386/387-1.c (dg-skip-if): Use *-*-* target selector. * gcc.target/i386/387-2.c (dg-skip-if): Ditto. * gcc.target/i386/387-5.c (dg-skip-if): Ditto. * gcc.target/i386/387-6.c (dg-skip-if): Ditto. * gcc.target/i386/cmov7.c (dg-skip-if): Ditto. * gcc.target/i386/funcspec-2.c (dg-skip-if): Ditto. * gcc.target/i386/funcspec-3.c (dg-skip-if): Ditto. * gcc.target/i386/funcspec-8.c (dg-skip-if): Ditto. * gcc.target/i386/funcspec-9.c (dg-skip-if): Ditto. * gcc.target/i386/gcc-have-sync-compare-and-swap-1.c (dg-skip-if): Ditto. * gcc.target/i386/gcc-have-sync-compare-and-swap-2.c (dg-skip-if): Ditto. * gcc.target/i386/isa-1.c (dg-skip-if): Ditto. * gcc.target/i386/isa-6.c (dg-skip-if): Ditto. * gcc.target/i386/isa-9.c (dg-skip-if): Ditto. * gcc.target/i386/lea.c (dg-skip-if): Ditto. * gcc.target/i386/memcpy-strategy-1.c (dg-skip-if): Ditto. * gcc.target/i386/memcpy-strategy-2.c (dg-skip-if): Ditto. * gcc.target/i386/memcpy-vector_loop-1.c (dg-skip-if): Ditto. * gcc.target/i386/memcpy-vector_loop-2.c (dg-skip-if): Ditto. * gcc.target/i386/memset-vector_loop-1.c (dg-skip-if): Ditto. * gcc.target/i386/memset-vector_loop-2.c (dg-skip-if): Ditto. * gcc.target/i386/pad-10.c (dg-skip-if): Ditto. * gcc.target/i386/pad-2.c (dg-skip-if): Ditto. * gcc.target/i386/pad-3.c (dg-skip-if): Ditto. * gcc.target/i386/pad-4.c (dg-skip-if): Ditto. * gcc.target/i386/pad-5a.c (dg-skip-if): Ditto. * gcc.target/i386/pad-5b.c (dg-skip-if): Ditto. * gcc.target/i386/pad-6a.c (dg-skip-if): Ditto. * gcc.target/i386/pad-6b.c (dg-skip-if): Ditto. * gcc.target/i386/pad-7.c (dg-skip-if): Ditto. * gcc.target/i386/pad-8.c (dg-skip-if): Ditto. * gcc.target/i386/pad-9.c (dg-skip-if): Ditto. * gcc.target/i386/pentium4-not-mull.c (dg-skip-if): Ditto. * gcc.target/i386/pr42589.c (dg-skip-if): Ditto. * gcc.target/i386/sse-19.c (dg-skip-if): Ditto. * gcc.target/i386/sse2-init-v2di-2.c (dg-skip-if): Ditto. * gcc.target/i386/ssefn-1.c (dg-skip-if): Ditto. * gcc.target/i386/ssetype-1.c (dg-skip-if): Ditto. * gcc.target/i386/ssetype-2.c (dg-skip-if): Ditto. * gcc.target/i386/ssetype-5.c (dg-skip-if): Ditto. * gcc.target/i386/vect-double-1.c (dg-skip-if): Ditto. From-SVN: r217437
Uros Bizjak committed -
2014-11-12 Tobias Burnus <burnus@net-b.de> * Makefile.in (CLOOGLIBS, CLOOGINC): Remove. * configure.ac: Ditto. * graphite-interchange.c: Remove HAVE_CLOOG block. * config.in: Regenerate. * configure: Regenerate. From-SVN: r217436
Tobias Burnus committed -
* gcc.target/i386/pr45852.c: Simplify target selector. * gcc.target/i386/pr63495.c: Ditto. * gcc.target/i386/pr39496.c: Ditto. * gcc.target/i386/pr36613.c: Ditto. From-SVN: r217432
Uros Bizjak committed -
gcc/ * config/aarch64/aarch64.h (CALL_USED_REGISTERS): Mark LR as caller-save. (EPILOGUE_USES): Guard the check by epilogue_completed. * config/aarch64/aarch64.c (aarch64_layout_frame): Explictly check for LR. (aarch64_can_eliminate): Check LR_REGNUM liveness. gcc/testsuite/ * gcc.target/aarch64/lr_free_1.c: New testcase for -fomit-frame-pointer. * gcc.target/aarch64/lr_free_2.c: New testcase for leaf -fno-omit-frame-pointer. From-SVN: r217431
Jiong Wang committed -
From-SVN: r217430
Ramana Radhakrishnan committed -
* testsuite/test-strtol.c (run_tests): Cast strtol return to unsigned long. From-SVN: r217429
Kirill Yukhin committed -
* lib/gcc-dg.exp (${tool}_load): Call prune_file_path instead of prune_gcc_output. * lib/prune.exp (prune_file_path): New procedure. From-SVN: r217428
Marek Polacek committed -
* fold-const.c (fold_binary_loc): Don't fold if the result is undefined. * match.pd (A + (-B) -> A - B, A - (-B) -> A + B, -(-A) -> A): Likewise. * c-c++-common/ubsan/overflow-sub-4.c: New test. * c-c++-common/ubsan/overflow-sub-2.c: Adjust dg-output. * c-c++-common/ubsan/overflow-int128.c: Likewise. From-SVN: r217427
Marek Polacek committed -
gcc/testsuite * gcc.target/i386/pr52252-atom-1.c: Extend assembler scan on AVX2 case. From-SVN: r217423
Evgeny Stupachenko committed -
2014-11-12 Richard Biener <rguenther@suse.de> Merge from match-and-simplify branch 2014-11-04 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> * genmatch.c (user_id): Add new member is_oper_list. (user_id::user_id): Add new default argument. (parser::parse_operator_list): New function. (parser::parse_for): Allow operator-list. (parser::parse_pattern): Call parser::parse_operator_list. (parser::parse_operation): Reject operator-list. * match-builtin.pd: Define operator lists POWs, CBRTs and SQRTs. 2014-10-31 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> * genmatch.c (parser::parse_c_expr): Mark user-defined ops as used. 2014-10-30 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> * genmatch.c (parser::parse_op): Check if predicate is used in result operand. 2014-10-29 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> * genmatch.c (parser::parse_for): Make sure to have a valid token to report errors at. 2014-10-28 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> * genmatch.c (parser): Add new member parsing_match_operand. (parser::parse_operation): Check for conditional convert in result operand. (parser::parse_expr): Check for commutative operator in result operand. Check for :type in match operand. (parser::parse_simplify): Set/unset parsing_match_operand. (parser::parser): Initialize parsing_match_operand. 2014-10-28 Richard Biener <rguenther@suse.de> * genmatch.c (parser::parse_for): Properly check for already defined operators. 2014-10-28 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> * genmatch.c (error_cb): Adjust for printing warnings. (warning_at): New function. (user_id): Add new member used. (get_operator): Mark user_id as used. (parse_for): Warn for unused operators. From-SVN: r217422
Richard Biener committed -
2014-11-12 Richard Biener <rguenther@suse.de> * match.pd: Implement simple complex operations cancelling. * fold-const.c (fold_unary_loc): Remove them here. * gcc.dg/tree-ssa/ssa-fre-32.c: Disable forwprop. From-SVN: r217421
Richard Biener committed -
This patch adds a predefined macro __NO_MATH_ERRNO__ for when -fno-math-errno is passed or implied. This allows math.h to provide a more accurate definition of the C99 math_errhandling macro that takes this option into account, and allows for choice of libm functions to be optimized at compile time based on this option. (There may be a case for such interfaces for -fno-rounding-math (default) and -fno-trapping-math as well, but as C99 standard pragmas would allow those to vary on a per-block basis, predefined macros would be problematic as the interface; you can't select a -fno-trapping-math or -fno-rounding-math version of a function in a standard header if a conforming program could then use "#pragma STDC FENV_ACCESS ON" to require a -ftrapping-math -frounding-math version in a particular block. So built-in functions might be a better way of providing access to information about those options.) Bootstrapped with no regressions on x86_64-unknown-linux-gnu. OK to commit? * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Define __NO_MATH_ERRNO__ if -fno-math-errno. * doc/cpp.texi (__NO_MATH_ERRNO__): Document predefined macro. c-family: * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state. testsuite: * gcc.dg/no-math-errno-1.c, gcc.dg/no-math-errno-2.c, gcc.dg/no-math-errno-3.c, gcc.dg/no-math-errno-4.c: New tests. From-SVN: r217420
Joseph Myers committed -
PR testsuite/63830 * c-c++-common/asan/strlen-overflow-1.c (main): Avoid tail call. From-SVN: r217417
H.J. Lu committed -
2014-11-12 Richard Biener <rguenther@suse.de> * genmatch.c (::gen_transform): Add capture_info and expand_compares arguments. (struct expr): Add is_generic flag. (lower_cond): New functions lowering [VEC_]COND_EXPR conditions to a GENERIC and a GIMPLE variant. (lower): Call lower_cond. (cmp_operand): Also compare the is_generic flag. (capture_info::cinfo): Add cond_expr_cond_p flag. (capture_info::capture_info): Pass down whether the expression argument is a COND_EXPR condition. (capture_info::walk_match): Likewise, mark captures capturing COND_EXPR conditions with cond_expr_cond_p. (expr::gen_transform): Pass down whether we need to expand compares from COND_EXPR conditions. (capture::gen_transform): Expand compares substituted from COND_EXPR conditions into non-COND_EXPR conditions. (dt_operand::gen_gimple_expr): Handle explicitely marked GENERIC expressions as generic. (dt_simplify::gen): Pass whether we need to expand conditions to gen_transform. Handle capture results which are from COND_EXPR conditions. (main): Pass gimple flag down to lower. From-SVN: r217416
Richard Biener committed -
PR c/59708 * builtin-attrs.def (ATTR_NOTHROW_TYPEGENERIC_LEAF): New attribute. * builtins.c (fold_builtin_arith_overflow): New function. (fold_builtin_3): Use it. * builtins.def (BUILT_IN_ADD_OVERFLOW, BUILT_IN_SUB_OVERFLOW, BUILT_IN_MUL_OVERFLOW, BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW, BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW, BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW, BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW, BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW, BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW, BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW, BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW): New built-in functions. * builtin-types.def (BT_PTR_UINT, BT_PTR_ULONG, BT_PTR_LONGLONG, BT_FN_BOOL_INT_INT_INTPTR, BT_FN_BOOL_LONG_LONG_LONGPTR, BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_FN_BOOL_UINT_UINT_UINTPTR, BT_FN_BOOL_ULONG_ULONG_ULONGPTR, BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_FN_BOOL_VAR): New. * expr.c (write_complex_part): Remove prototype, no longer static. * expr.h (write_complex_part): New prototype. * function.c (aggregate_value_p): For internal functions return 0. * gimple-fold.c (arith_overflowed_p): New functions. (gimple_fold_call): Fold {ADD,SUB,MUL}_OVERFLOW internal calls. * gimple-fold.h (arith_overflowed_p): New prototype. * tree-ssa-dce.c: Include tree-ssa-propagate.h and gimple-fold.h. (find_non_realpart_uses, maybe_optimize_arith_overflow): New functions. (eliminate_unnecessary_stmts): Transform {ADD,SUB,MUL}_OVERFLOW into COMPLEX_CST/COMPLEX_EXPR if IMAGPART_EXPR of the result is never used. * gimplify.c (gimplify_call_expr): Handle gimplification of internal calls with lhs. * internal-fn.c (get_range_pos_neg, get_min_precision, expand_arith_overflow_result_store): New functions. (ubsan_expand_si_overflow_addsub_check): Renamed to ... (expand_addsub_overflow): ... this. Add LOC, LHS, ARG0, ARG1, UNSR_P, UNS0_P, UNS1_P, IS_UBSAN arguments, remove STMT argument. Handle ADD_OVERFLOW and SUB_OVERFLOW expansion. (ubsan_expand_si_overflow_neg_check): Renamed to ... (expand_neg_overflow): ... this. Add LOC, LHS, ARG1, IS_UBSAN arguments, remove STMT argument. Handle SUB_OVERFLOW with 0 as first argument expansion. (ubsan_expand_si_overflow_mul_check): Renamed to ... (expand_mul_overflow): ... this. Add LOC, LHS, ARG0, ARG1, UNSR_P, UNS0_P, UNS1_P, IS_UBSAN arguments, remove STMT argument. Handle MUL_OVERFLOW expansion. (expand_UBSAN_CHECK_ADD): Use expand_addsub_overflow, prepare arguments for it. (expand_UBSAN_CHECK_SUB): Use expand_addsub_overflow or expand_neg_overflow, prepare arguments for it. (expand_UBSAN_CHECK_MUL): Use expand_mul_overflow, prepare arguments for it. (expand_arith_overflow, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW, expand_MUL_OVERFLOW): New functions. * internal-fn.def (ADD_OVERFLOW, SUB_OVERFLOW, MUL_OVERFLOW): New internal functions. * tree-vrp.c (check_for_binary_op_overflow): New function. (extract_range_basic): Handle {REAL,IMAG}PART_EXPR if the operand is SSA_NAME set by {ADD,SUB,MUL}_OVERFLOW internal functions. (simplify_internal_call_using_ranges): Handle {ADD,SUB,MUL}_OVERFLOW internal functions. * optabs.def (umulv4_optab): New optab. * config/i386/i386.md (umulv<mode>4, <u>mulvqi4): New define_expands. (*umulv<mode>4, *<u>mulvqi4): New define_insns. * doc/extend.texi (Integer Overflow Builtins): Document __builtin_*_overflow. c-family/ * c-common.c (check_builtin_function_arguments): Handle BUILT_IN_{ADD,SUB,MUL}_OVERFLOW. testsuite/ * c-c++-common/builtin-arith-overflow-1.c: New test. * c-c++-common/torture/builtin-arith-overflow-10.c: New test. * c-c++-common/torture/builtin-arith-overflow-11.c: New test. * c-c++-common/torture/builtin-arith-overflow-12.c: New test. * c-c++-common/torture/builtin-arith-overflow-12.h: New file. * c-c++-common/torture/builtin-arith-overflow-13.c: New test. * c-c++-common/torture/builtin-arith-overflow-14.c: New test. * c-c++-common/torture/builtin-arith-overflow-15.c: New test. * c-c++-common/torture/builtin-arith-overflow-16.c: New test. * c-c++-common/torture/builtin-arith-overflow-17.c: New test. * c-c++-common/torture/builtin-arith-overflow-18.c: New test. * c-c++-common/torture/builtin-arith-overflow-1.c: New test. * c-c++-common/torture/builtin-arith-overflow-1.h: New file. * c-c++-common/torture/builtin-arith-overflow-2.c: New test. * c-c++-common/torture/builtin-arith-overflow-3.c: New test. * c-c++-common/torture/builtin-arith-overflow-4.c: New test. * c-c++-common/torture/builtin-arith-overflow-5.c: New test. * c-c++-common/torture/builtin-arith-overflow-6.c: New test. * c-c++-common/torture/builtin-arith-overflow-7.c: New test. * c-c++-common/torture/builtin-arith-overflow-8.c: New test. * c-c++-common/torture/builtin-arith-overflow-9.c: New test. * c-c++-common/torture/builtin-arith-overflow.h: New file. * gcc.dg/builtin-arith-overflow-1.c: New test. * gcc.dg/builtin-arith-overflow-2.c: New test. From-SVN: r217415
Jakub Jelinek committed -
2014-11-12 Richard Biener <rguenther@suse.de> * genmatch.c (capture_info::capture_info): Add missing COND_EXPR handling. (capture_info::walk_match): Fix COND_EXPR handling. (capture_info::walk_result): Likewise. From-SVN: r217414
Richard Biener committed -
* include/bits/shared_ptr.h (weak_ptr): Add move constructor and assignment. * include/bits/shared_ptr_base.h (__weak_count, __weak_ptr): Likewise. Use nullptr and injected class name. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Adjust dg-error. From-SVN: r217413
Jonathan Wakely committed -
PR c++/33911 * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Use -Wno-deprecated. * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/ext/array_allocator/variadic_construct.cc: Likewise. From-SVN: r217412
Jonathan Wakely committed -
2014-11-12 Richard Biener <rguenther@suse.de> PR middle-end/63821 * match.pd: Add missing conversion to the -(T)-X pattern. * gfortran.dg/pr63821.f90: New testcase. From-SVN: r217411
Richard Biener committed -
re PR middle-end/63819 (Cannot build compiler with --enable-gather-detailed-mem-stats (error: default argument given for parameter 5 of ‘void* ggc_internal_cleared_alloc)) 2014-11-12 Richard Biener <rguenther@suse.de> PR bootstrap/63819 * hash-table.h: Include ggc.h also for generator programs. * genmatch.c (ggc_internal_cleared_alloc): Properly define using MEM_STAT_DECL instead of CXX_MEM_STAT_INFO. From-SVN: r217410
Richard Biener committed -
2014-11-12 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR tree-optimization/63761 * tree-ssa-math-opts.c (bswap_replace): Construct gsi from cur_stmt rather than taking it as a parameter. Add some comments to explain the gsi_move_before in case of load and why canonicalization of bswap into a rotation is only done for 16bit values. (pass_optimize_bswap::execute): Adapt for loop via gsi to make gsi refer to the statement just before cur_stmt. Ignore 16bit bswap that are already in canonical form. Adapt bswap_replace to removal of its gsi parameter. 2014-11-12 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/testsuite/ PR tree-optimization/63761 * gcc.c-torture/compile/pr63761.c: New test. From-SVN: r217409
Thomas Preud'homme committed -
gcc/testsuite/ * lib/gcc-dg.exp (${tool}_load): Truncate gcc output. * lib/prune.exp (prune_gcc_output): New absolute path to relative path truncation pattern. From-SVN: r217408
Jiong Wang committed -
gcc/ * rtl.h (rtx_function, for_each_rtx, for_each_rtx_in_insn): Delete. * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1, for_each_rtx): (for_each_rtx_in_insn): Delete. (init_rtlanal): Remove initialization of non_rtx_starting_operands. * df-core.c: Remove reference to for_each_rtx in comment. From-SVN: r217407
Richard Sandiford committed -
2014-11-12 Tejas Belagod <tejas.belagod@arm.com> * Makefile.in (TEXI_GCC_FILES): Remove arm-acle-intrinsics.texi, arm-neon-intrinsics.texi, aarch64-acle-intrinsics.texi. * doc/aarch64-acle-intrinsics.texi: Remove. * doc/arm-acle-intrinsics.texi: Remove. * doc/arm-neon-intrinsics.texi: Remove. * doc/extend.texi: Consolidate sections AArch64 intrinsics, ARM NEON Intrinsics, ARM ACLE Intrinsics into one ARM C Language Extension section. Add references to public ACLE specification. From-SVN: r217406
Tejas Belagod committed -
2014-11-12 Tejas Belagod <tejas.belagod@arm.com> * Makefile.in (TEXI_GCC_FILES): Remove arm-acle-intrinsics.texi, arm-neon-intrinsics.texi, aarch64-acle-intrinsics.texi. * doc/aarch64-acle-intrinsics.texi: Remove. * doc/arm-acle-intrinsics.texi: Remove. * doc/arm-neon-intrinsics.texi: Remove. * doc/extend.texi: Consolidate sections AArch64 intrinsics, ARM NEON Intrinsics, ARM ACLE Intrinsics into one ARM C Language Extension section. Add references to public ACLE specification. From-SVN: r217405
Tejas Belagod committed -
From-SVN: r217404
Ian Lance Taylor committed -
2014-11-12 Andreas Tobler <andreast@gcc.gnu.org> * gcc.target/arm/eabi1.c: Replace arm*-*-*eabi* and arm*-*-symbianelf* with arm_eabi. * g++.dg/abi/arm_rtti1.C: Likewise. * g++.dg/abi/key1.C: Likewise. * g++.dg/ext/visibility/arm1.C: Likewise. * g++.dg/ext/visibility/arm2.C: Likewise. * g++.dg/ext/visibility/arm3.C: Likewise. From-SVN: r217403
Andreas Tobler committed -
* g++.dg/ipa/devirt-42.C: Fix dump scanning for "return 2". From-SVN: r217402
H.J. Lu committed -
* testsuite/experimental/optional/constexpr/observers/1.cc: Remove unused header. * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise. From-SVN: r217401
Jonathan Wakely committed -
2014-11-11 Patrick Palka <ppalka@gcc.gnu.org> * tree-vrp.c (register_edge_assert_for_2): Change return type to void and adjust accordingly. (register_edge_assert_for_1): Likewise. (register_edge_assert_for): Likewise. (find_conditional_asserts): Likewise. (find_switch_asserts): Likewise. (find_assert_locations_1): Likewise. (find_assert_locations): Likewise. (insert_range_insertions): Inspect the need_assert_for bitmap. From-SVN: r217400
Patrick Palka committed -
From-SVN: r217399
GCC Administrator committed -
* include/experimental/optional (_Has_addressof): Check for non-member operator&. * testsuite/experimental/optional/observers/2.cc: Add operator&. * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise. From-SVN: r217397
Jonathan Wakely committed
-
- 11 Nov, 2014 3 commits
-
-
* include/std/type_traits (__void_t): Define new alias template. (_GLIBCXX_HAS_NESTED_TYPE): Redefine using __void_t. * include/std/functional (_Maybe_get_result_type): Likewise. * include/bits/stl_iterator_base_types.h (__iterator_traits): Likewise. * include/bits/uses_allocator.h (__uses_allocator_helper): Likewise. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error. * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adjust to changes in _GLIBCXX_HAS_NESTED_TYPE. From-SVN: r217395
Jonathan Wakely committed -
2014-11-11 Andrew Pinski <apinski@cavium.com> Bug target/61997 * config.gcc (aarch64*-*-*): Set target_gtfiles to include aarch64-builtins.c. * config/aarch64/aarch64-builtins.c: Include gt-aarch64-builtins.h at the end of the file. From-SVN: r217394
Andrew Pinski committed -
* include/std/functional (_Mem_fn_traits): Add partial specializations for varargs functions. (_Mem_fn_base): Do not check arguments are convertible for varargs. (_Bind_check_arity): Add partial specializations for varargs functions. * include/std/type_traits (__bool_constant): Add alias template. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error. * testsuite/20_util/bind/refqual.cc: New, test ref-qualifiers. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. * testsuite/20_util/function_objects/mem_fn/refqual.cc: Test varargs. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust dg-error. From-SVN: r217393
Jonathan Wakely committed
-