summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Implement fold expressions.asutton/foldAndrew Sutton2015-01-239-0/+742
|
* 2014-11-12 Richard Biener <rguenther@suse.de>rguenth2014-11-125-14/+22
| | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217421 138bc75d-0d04-0410-961f-82ee72b054a4
* Predefine __NO_MATH_ERRNO__ for -fno-math-errno.jsm282014-11-1210-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217420 138bc75d-0d04-0410-961f-82ee72b054a4
* Avoid tail call in c-c++-common/asan/strlen-overflow-1.chjl2014-11-122-1/+6
| | | | | | | | PR testsuite/63830 * c-c++-common/asan/strlen-overflow-1.c (main): Avoid tail call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217417 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-12 Richard Biener <rguenther@suse.de>rguenth2014-11-122-202/+404
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217416 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/59708jakub2014-11-1245-319/+3082
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217415 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-12 Richard Biener <rguenther@suse.de>rguenth2014-11-122-5/+13
| | | | | | | | | | * genmatch.c (capture_info::capture_info): Add missing COND_EXPR handling. (capture_info::walk_match): Fix COND_EXPR handling. (capture_info::walk_result): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217414 138bc75d-0d04-0410-961f-82ee72b054a4
* LWG DR 2315. weak_ptr should be movableredi2014-11-125-22/+99
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217413 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -Wno-deprecated to dg-options.redi2014-11-129-8/+20
| | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217412 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-12 Richard Biener <rguenther@suse.de>rguenth2014-11-124-1/+28
| | | | | | | | | | PR middle-end/63821 * match.pd: Add missing conversion to the -(T)-X pattern. * gfortran.dg/pr63821.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217411 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-12 Richard Biener <rguenther@suse.de>rguenth2014-11-123-9/+8
| | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217410 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-12 Thomas Preud'homme <thomas.preudhomme@arm.com>thopre012014-11-124-18/+74
| | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217409 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH][dejagnu] truncate absolute file path into relative for dg-outputjiwang2014-11-123-0/+15
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217408 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2014-11-124-145/+10
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217407 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Remove unnecessary files.belagod2014-11-123-12118/+0
| | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217406 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Add reference to ACLE and consolidate documentation.belagod2014-11-123-19/+32
| | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217405 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update libtool support to files in current GCC trunk.ian2014-11-123-45/+37
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217404 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-12 Andreas Tobler <andreast@gcc.gnu.org>andreast2014-11-127-6/+16
| | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217403 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix dump scanning in g++.dg/ipa/devirt-42.Chjl2014-11-122-1/+5
| | | | | | | * g++.dg/ipa/devirt-42.C: Fix dump scanning for "return 2". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217402 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/experimental/optional/constexpr/observers/1.cc: Removeredi2014-11-126-5/+7
| | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217401 138bc75d-0d04-0410-961f-82ee72b054a4
* VRP: Simplify logic for checking if any asserts need to be insertedppalka2014-11-122-108/+61
| | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217400 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2014-11-121-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217399 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/experimental/optional (_Has_addressof): Check for non-memberredi2014-11-124-6/+29
| | | | | | | | operator&. * testsuite/experimental/optional/observers/2.cc: Add operator&. * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217397 138bc75d-0d04-0410-961f-82ee72b054a4
* Define __void_t and SFINAE-friendly iterator_traits.redi2014-11-117-45/+43
| | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217395 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 Andrew Pinski <apinski@cavium.com>pinskia2014-11-113-0/+10
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217394 138bc75d-0d04-0410-961f-82ee72b054a4
* Make std::mem_fn work with varargs functions.redi2014-11-119-158/+151
| | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217393 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/ChangeLog:manu2014-11-1112-13/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-11-11 Anthony Brandon <anthony.brandon@gmail.com> Manuel López-Ibáñez <manu@gcc.gnu.org> PR driver/36312 * gcc.misc-tests/output.exp: New test case for identical input and output files. include/ChangeLog: 2014-11-11 Anthony Brandon <anthony.brandon@gmail.com> Manuel López-Ibáñez <manu@gcc.gnu.org> PR driver/36312 * filenames.h: Add prototype for canonical_filename_eq. gcc/ChangeLog: 2014-11-11 Anthony Brandon <anthony.brandon@gmail.com> Manuel López-Ibáñez <manu@gcc.gnu.org> PR driver/36312 * diagnostic-core.h: Add prototype for fatal_error. * diagnostic.c (fatal_error): New function fatal_error. * gcc.c (store_arg): Remove have_o_argbuf_index. (process_command): Check if input and output files are the same. * toplev.c (init_asm_output): Check if input and output files are the same. libiberty/ChangeLog: 2014-11-11 Anthony Brandon <anthony.brandon@gmail.com> Manuel López-Ibáñez <manu@gcc.gnu.org> PR driver/36312 * filename_cmp.c (canonical_filename_eq): New function to check if file names are the same. * functions.texi: Updated with documentation for new function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217391 138bc75d-0d04-0410-961f-82ee72b054a4
* libcpp/ChangeLog:manu2014-11-1115-37/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * include/line-map.h (linemap_position_for_loc_and_offset): Declare. * line-map.c (linemap_position_for_loc_and_offset): New. gcc/fortran/ChangeLog: 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * gfortran.h (warn_use_without_only): Remove. (gfc_diagnostics_finish): Declare. * error.c: Include tree-diagnostics.h (gfc_format_decoder): New. (gfc_diagnostics_init): Use gfc_format_decoder. Set default caret char. (gfc_diagnostics_finish): Restore tree diagnostics defaults, but keep gfc_diagnostics_starter and finalizer. Restore default caret. * options.c: Remove all uses of warn_use_without_only. * lang.opt (Wuse-without-only): Add Var. * f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish. * module.c (gfc_use_module): Use gfc_warning_now_2. * parse.c (decode_statement): Likewise. (decode_gcc_attribute): Likewise. (next_free): Likewise. (next_fixed): Likewise. gcc/testsuite/ChangeLog: 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * lib/gfortran-dg.exp: Update regexp to match locus and message without caret. * gfortran.dg/use_without_only_1.f90: Add column numbers. * gfortran.dg/warnings_are_errors_1.f: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217383 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (fill_slots_from_thread): Do not copy frame-related insns.ebotcazou2014-11-112-2/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217381 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 Siva Chandra Reddy <sivachandra@google.com>redi2014-11-112-0/+84
| | | | | | | * testsuite/libstdc++-xmethods/associative-containers.cc: Add new file missed from earlier commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217378 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61535ebotcazou2014-11-112-17/+25
| | | | | | | | | | * config/sparc/sparc.c (function_arg_vector_value): Deal with vectors smaller than 8 bytes. (sparc_function_arg_1): Tweak. (sparc_function_value_1): Tweak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217377 138bc75d-0d04-0410-961f-82ee72b054a4
* Merger of dmalcolm/jit branch from gitdmalcolm2014-11-11136-6/+39772
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ChangeLog: * ChangeLog.jit: New. * MAINTAINERS (Various Maintainers): Add myself as jit maintainer. contrib/ChangeLog: * ChangeLog.jit: New. * jit-coverage-report.py: New file: a script to print crude code-coverage information for the libgccjit API. gcc/ChangeLog: * ChangeLog.jit: New. * Makefile.in (doc_build_sys): New variable, set to "sphinx" if sphinx is installed, falling back to "texinfo" otherwise. (FULL_DRIVER_NAME): New variable, adapted from the install-driver target. New target, a symlink within the builddir, linked to "xgcc", for use when running the JIT library from the builddir. (MOSTLYCLEANFILES): Add FULL_DRIVER_NAME. (install-driver): Use $(FULL_DRIVER_NAME) rather than spelling it out. * configure.ac (doc_build_sys): New variable, set to "sphinx" if sphinx is installed, falling back to "texinfo" otherwise. (GCC_DRIVER_NAME): Generate a gcc-driver-name.h file containing GCC_DRIVER_NAME for the benefit of jit/internal-api.c. * configure: Regenerate. * doc/install.texi (--enable-host-shared): Specify that this is required when building libgccjit. (Tools/packages necessary for modifying GCC): Add Sphinx. * timevar.def (TV_JIT_REPLAY): New. (TV_ASSEMBLE): New. (TV_LINK): New. (TV_LOAD): New. gcc/java/ChangeLog: * gcc/ChangeLog.jit: New. gcc/jit/ChangeLog: * ChangeLog.jit: New. * ChangeLog: New. * Make-lang.in: New. * TODO.rst: New. * config-lang.in: New. * docs/Makefile: New. * docs/_build/texinfo/Makefile: New. * docs/_build/texinfo/factorial.png: New. * docs/_build/texinfo/libgccjit.texi: New. * docs/_build/texinfo/sum-of-squares.png: New. * docs/conf.py: New. * docs/examples/tut01-hello-world.c: New. * docs/examples/tut02-square.c: New. * docs/examples/tut03-sum-of-squares.c: New. * docs/examples/tut04-toyvm/Makefile: New. * docs/examples/tut04-toyvm/factorial.toy: New. * docs/examples/tut04-toyvm/fibonacci.toy: New. * docs/examples/tut04-toyvm/toyvm.c: New. * docs/index.rst: New. * docs/internals/index.rst: New. * docs/intro/factorial.png: New. * docs/intro/index.rst: New. * docs/intro/sum-of-squares.png: New. * docs/intro/tutorial01.rst: New. * docs/intro/tutorial02.rst: New. * docs/intro/tutorial03.rst: New. * docs/intro/tutorial04.rst: New. * docs/topics/contexts.rst: New. * docs/topics/expressions.rst: New. * docs/topics/functions.rst: New. * docs/topics/index.rst: New. * docs/topics/locations.rst: New. * docs/topics/objects.rst: New. * docs/topics/results.rst: New. * docs/topics/types.rst: New. * dummy-frontend.c: New. * jit-builtins.c: New. * jit-builtins.h: New. * jit-common.h: New. * jit-playback.c: New. * jit-playback.h: New. * jit-recording.c: New. * jit-recording.h: New. * libgccjit++.h: New. * libgccjit.c: New. * libgccjit.h: New. * libgccjit.map: New. * notes.txt: New. gcc/testsuite/ChangeLog: * ChangeLog.jit: New. * jit.dg/all-non-failing-tests.h: New. * jit.dg/harness.h: New. * jit.dg/jit.exp: New. * jit.dg/test-accessing-struct.c: New. * jit.dg/test-accessing-union.c: New. * jit.dg/test-array-as-pointer.c: New. * jit.dg/test-arrays.c: New. * jit.dg/test-calling-external-function.c: New. * jit.dg/test-calling-function-ptr.c: New. * jit.dg/test-combination.c: New. * jit.dg/test-dot-product.c: New. * jit.dg/test-empty.c: New. * jit.dg/test-error-accessing-field-in-other-struct.c: New. * jit.dg/test-error-adding-to-terminated-block.c: New. * jit.dg/test-error-array-as-pointer.c: New. * jit.dg/test-error-bad-cast.c: New. * jit.dg/test-error-block-in-wrong-function.c: New. * jit.dg/test-error-call-through-ptr-with-mismatching-args.c: New. * jit.dg/test-error-call-through-ptr-with-non-function.c: New. * jit.dg/test-error-call-through-ptr-with-non-pointer.c: New. * jit.dg/test-error-call-through-ptr-with-not-enough-args.c: New. * jit.dg/test-error-call-through-ptr-with-too-many-args.c: New. * jit.dg/test-error-call-with-mismatching-args.c: New. * jit.dg/test-error-call-with-not-enough-args.c: New. * jit.dg/test-error-call-with-too-many-args.c: New. * jit.dg/test-error-dereference-field-of-non-pointer.c: New. * jit.dg/test-error-dereference-read-of-non-pointer.c: New. * jit.dg/test-error-get-type-bad-enum.c: New. * jit.dg/test-error-index-not-a-numeric-type.c: New. * jit.dg/test-error-mismatching-types-in-assignment.c: New. * jit.dg/test-error-mismatching-types-in-call.c: New. * jit.dg/test-error-missing-return.c: New. * jit.dg/test-error-new-binary-op-bad-op.c: New. * jit.dg/test-error-new-function-bad-kind.c: New. * jit.dg/test-error-new-unary-op-bad-op.c: New. * jit.dg/test-error-null-passed-to-api.c: New. * jit.dg/test-error-return-within-void-function.c: New. * jit.dg/test-error-unreachable-block.c: New. * jit.dg/test-error-unterminated-block.c: New. * jit.dg/test-error-value-not-a-numeric-type.c: New. * jit.dg/test-expressions.c: New. * jit.dg/test-factorial.c: New. * jit.dg/test-fibonacci.c: New. * jit.dg/test-functions.c: New. * jit.dg/test-fuzzer.c: New. * jit.dg/test-hello-world.c: New. * jit.dg/test-linked-list.c: New. * jit.dg/test-long-names.c: New. * jit.dg/test-nested-contexts.c: New. * jit.dg/test-nested-loops.c: New. * jit.dg/test-operator-overloading.cc: New. * jit.dg/test-quadratic.c: New. * jit.dg/test-quadratic.cc: New. * jit.dg/test-reading-struct.c: New. * jit.dg/test-string-literal.c: New. * jit.dg/test-sum-of-squares.c: New. * jit.dg/test-threads.c: New. * jit.dg/test-types.c: New. * jit.dg/test-using-global.c: New. * jit.dg/test-volatile.c: New. include/ChangeLog: * ChangeLog.jit: New. libbacktrace/ChangeLog: * ChangeLog.jit: New. libcpp/ChangeLog: * ChangeLog.jit: New. libdecnumber/ChangeLog: * ChangeLog.jit: New. libiberty/ChangeLog: * ChangeLog.jit: New. zlib/ChangeLog: * ChangeLog.jit: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217374 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 François Dumont <fdumont@gcc.gnu.org>fdumont2014-11-116-79/+189
| | | | | | | | | | | | | | | PR libstdc++/61107 * include/bits/stl_algo.h (__inplace_stable_partition): Delete. (__stable_partition_adaptive): Return __first if range length is 1. (__stable_partition): Adapt. * testsuite/util/testsuite_new_operators.h: New. * testsuite/25_algorithms/stable_sort/1.cc: Test algo in simulated constraint memory context. * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. * testsuite/25_algorithms/stable_partition/1.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217370 138bc75d-0d04-0410-961f-82ee72b054a4
* toplevel:fxcoudert2014-11-1142-23/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * libtool.m4: Fix globbing of darwin versions. boehm-gc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. gcc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libatomic/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libbacktrace/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcc1/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcilkrts/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libffi/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgfortran/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgomp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libitm/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libobjc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libquadmath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libsanitizer/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libssp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libstdc++-v3/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libvtv/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. lto-plugin/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/classpath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. zlib/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217366 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 Tobias Burnus <burnus@net-b.de>burnus2014-11-117-1374/+22
| | | | | | | | | | | | | * config/cloog.m4: Remove. * Makefile.def: Remove CLooG. * Makefile.tpl: Ditto. * configure.ac: Ditto. * configure: Regenerate. * Makefile.in: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217364 138bc75d-0d04-0410-961f-82ee72b054a4
* [Patch AArch64] Fix up BSL expander for floating point typesjgreenhalgh2014-11-117-10/+120
| | | | | | | | | | | | | | | | | | | | | gcc/ * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal): Remove float cases, canonicalize. (aarch64_simd_bsl<mode>): Add gen_lowpart expressions where we are punning between float vectors and integer vectors. gcc/testsuite/ * gcc.target/aarch64/vbslq_f64_1.c: New. * gcc.target/aarch64/vbslq_f64_2.c: Likewise. * gcc.target/aarch64/vbslq_u64_1.c: Likewise. * gcc.target/aarch64/vbslq_u64_2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217362 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-11-114-2/+35
| | | | | | | | | | | | | | | | | 2014-11-11 Paolo Carlini <paolo.carlini@oracle.com> PR c++/63265 * pt.c (tsubst_copy_and_build, case COND_EXPR): Maybe fold to constant the condition. /testsuite 2014-11-11 Paolo Carlini <paolo.carlini@oracle.com> PR c++/63265 * g++.dg/cpp0x/constexpr-63265.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217361 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_emit_conditional_branch): Replaceuros2014-11-112-8/+15
| | | | | | | | | | | open-coded swap with std::swap to swap values. (alpha_emit_setcc): Ditto. (alpha_emit_conditional_move): Ditto. (alpha_split_tmode_pair): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217360 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ienkovich2014-11-114-28/+67
| | | | | | | | | | | | | * tree-vect-data-refs.c (vect_shift_permute_load_chain): Extend shift permutations on power of 2 cases. gcc/testsuites/ * gcc.target/i386/pr52252-atom-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217359 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Properly guard CUMULATIVE_ARGS definition and remove 'enum' from ↵ktkachov2014-11-112-2/+8
| | | | | | | | | | machine_mode in aarch64.h * config/aarch64/aarch64.h (MACHMODE): Remove 'enum' keyword. (CUMULATIVE_ARGS): Guard on !defined(USED_FOR_TARGET). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217358 138bc75d-0d04-0410-961f-82ee72b054a4
* contrib/mzakirov2014-11-112-1/+5
| | | | | | | | | | 2014-11-11 Marat Zakirov <m.zakirov@samsung.com> * mklog: Symbol '}' stops search for changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217357 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 Richard Biener <rguenther@suse.de>rguenth2014-11-115-14/+11
| | | | | | | | | | | | | * tree-core.h (pedantic_lvalues): Remove. * fold-const.c (pedantic_lvalues): Likewise. (pedantic_non_lvalue_loc): Remove conditional non_lvalue_loc call. c/ * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues to true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217356 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ipa/63622marxin2014-11-116-4/+52
| | | | | | | | | | | | | | | PR ipa/63795 * g++.dg/ipa/ipa-icf-4.C: Add more precise dump scan. * g++.dg/ipa/ipa-icf-5.C: Add condition for target with symbol alias support. * ipa-icf.c (sem_function::merge): Add new target symbol alias support guard. (sem_variable::merge): Likewise. * ipa-icf.h (target_supports_symbol_aliases_p): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217355 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 Richard Biener <rguenther@suse.de>rguenth2014-11-116-436/+147
| | | | | | | | | | | | | | * match.pd: Implement patterns from associate_plusminus and factor in differences from the fold-const.c implementation. * fold-const.c (fold_binary_loc): Remove patterns here. * tree-ssa-forwprop.c (associate_plusminus): Remove. (pass_forwprop::execute): Don't call it. * tree.c (tree_nop_conversion_p): New function, factored from tree_nop_conversion. * tree.h (tree_nop_conversion_p): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217349 138bc75d-0d04-0410-961f-82ee72b054a4
* * system.h: Include algorithm and utility.uros2014-11-115-14/+13
| | | | | | | | | | | * rtl.h: Do not include utility here. * wide-int.h: Ditto. * tree-vect-data-refs.c (swap): Remove template. (vect_prune_runtime_alias_test_list): Use std::swap instead of swap. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217348 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/42978ebotcazou2014-11-112-0/+9
| | | | | | | * mlib-utl.adb (ar): Output the options passed to ranlib. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217346 138bc75d-0d04-0410-961f-82ee72b054a4
* [Fortran] PR 63701 Make sure variable is always used initialisedktkachov2014-11-112-1/+6
| | | | | | | | PR fortran/63701 * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217345 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 Siva Chandra Reddy <sivachandra@google.com>redi2014-11-112-0/+66
| | | | | | | | * python/libstdcxx/v6/xmethods.py: Add xmethods for associative containers. * testsuite/libstdc++-xmethods/associative-containers.cc: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217344 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/63811redi2014-11-112-1/+7
| | | | | | | * include/bits/stl_deque.h (_Deque_base::_M_move_impl()): Avoid using badname. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217343 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/63699fxcoudert2014-11-116-7/+26
| | | | | | | | | | | | | | PR bootstrap/63750 * system.h: Include <string> before "safe-ctype.h" * wide-int.h (wi::smin, wi::smax, wi::umin, wi::umax): Prefix calls to min/max with wi namespace. * ipa-chkp.c: Don't include <string>. * plugin.cc: Don't include <string>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217342 138bc75d-0d04-0410-961f-82ee72b054a4