aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-04revert: ifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4.Zhenqiang Chen2-20/+11
2014-11-04 Zhenqiang Chen <zhenqiang.chen@arm.com> Revert: 2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com> * ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition): Allow CC mode if HAVE_cbranchcc4. From-SVN: r217062
2014-11-04Daily bump.GCC Administrator1-1/+1
From-SVN: r217061
2014-11-04godump.c (go_format_type): Rewrite RECORD_TYPE nad UNION_TYPE support with ↵Dominik Vogt4-335/+708
-fdump-go-spec. gcc/: * godump.c (go_format_type): Rewrite RECORD_TYPE nad UNION_TYPE support with -fdump-go-spec. Anonymous substructures are now flattened and replaced by their fields (record) or the first named, non-bitfield field (union). gcc/testsuite/: * build-go/gcc/testsuite/gcc/godump-1.out: Update godump tests. From-SVN: r217058
2014-11-03input.c (expand_location_to_spelling_point): Fix typo.Manuel López-Ibáñez2-8/+14
2014-11-04 Manuel López-Ibáñez <manu@gcc.gnu.org> * input.c (expand_location_to_spelling_point): Fix typo. (expansion_point_location_if_in_system_header): Fix comment. From-SVN: r217057
2014-11-03coarray_collectives_14.f90: Fix testcase.Tobias Burnus2-19/+23
2014-11-03 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_collectives_14.f90: Fix testcase. From-SVN: r217053
2014-11-03* config/avr/gen-avr-mmcu-specs.c: Remove unnecessary format specifier.Pitchumani Sivanupandi2-1/+5
From-SVN: r217051
2014-11-03algo.h: Do not use default arguments in function template redeclarations ↵Paolo Carlini2-23/+17
(definitions). 2014-11-03 Paolo Carlini <paolo.carlini@oracle.com> * include/parallel/algo.h: Do not use default arguments in function template redeclarations (definitions). From-SVN: r217050
2014-11-03runtime: use "$GOC -dumpversion" instead of BASE-VER to discover compiler ↵Ian Lance Taylor2-2/+2
version From-SVN: r217049
2014-11-03tree-eh.c (operation_could_trap_helper_p): Handle conversions like ordinary ↵Richard Biener3-5/+11
operations. 2014-11-03 Richard Biener <rguenther@suse.de> * tree-eh.c (operation_could_trap_helper_p): Handle conversions like ordinary operations. * gimplify.c (gimplify_conversion): Gimplify CONVERT_EXPR as NOP_EXPR. From-SVN: r217048
2014-11-03Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float ↵Joseph Myers7-5/+118
and e500. This patch implements support for TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and e500, provided GCC is configured for glibc 2.19 or later on the target. New functions __atomic_feholdexcept, __atomic_feclearexcept and __atomic_feupdateenv were added (to libc) in that glibc version (for powerpc soft-float / e500 only) in order to support this part of C11. For soft-float, libc functions are needed because the floating-point exception state is in TLS variables in libc that aren't directly accessible outside of glibc. For e500, they are also needed because of the prctl syscalls involved in controlling trapping for exceptions and informing the kernel when certain exception flags have been cleared. The actual implementation in GCC is a straightforward matter of calling those functions. Tested with no regressions for cross to powerpc-linux-gnu (soft-float); the c11-atomic-exec-5.c results go from FAIL to PASS. * configure.ac (TARGET_GLIBC_MAJOR, TARGET_GLIBC_MINOR): Define macros. * configure, config.h.in: Regenerate. * config/rs6000/linux.h [TARGET_GLIBC_MAJOR > 2 || (TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)] (RS6000_GLIBC_ATOMIC_FENV): New macro. * config/rs6000/linux64.h [TARGET_GLIBC_MAJOR > 2 || (TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)] (RS6000_GLIBC_ATOMIC_FENV): New macro. * config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl) (atomic_update_decl): New static variables. (rs6000_atomic_assign_expand_fenv) [RS6000_GLIBC_ATOMIC_FENV]: Generate calls to __atomic_feholdexcept, __atomic_feclearexcept and __atomic_feupdateenv for soft-float and no-FPRs. From-SVN: r217040
2014-11-03match.pd: Add two abs patterns.Richard Biener4-38/+23
2014-11-03 Richard Biener <rguenther@suse.de> * match.pd: Add two abs patterns. Announce tree_expr_nonnegative_p. Also drop bogus FLOAT_EXPR and FIX_TRUNC_EXPR. * fold-const.c (fold_unary_loc): Remove them here. (tree_unary_nonnegative_warnv_p): Use CASE_CONVERT. * gimple-fold.c (fold_gimple_assign): Remove now obsolete GIMPLE_UNARY_RHS case. (gimple_fold_stmt_to_constant_1): Likewise. (replace_stmt_with_simplification): Fix inverted comparison. From-SVN: r217039
2014-11-03re PR c/52769 (Unspecified designated initializer might not set to zero in ↵Marek Polacek2-0/+29
some cases) PR c/52769 * gcc.dg/pr52769.c: New test. From-SVN: r217036
2014-11-03re PR c++/57820 ([DR 253] NSDMI and const objects)Paolo Carlini3-0/+30
2014-11-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57820 * g++.dg/cpp0x/constexpr-ctor16.C: New. * g++.dg/cpp0x/constexpr-ctor17.C: Likewise. From-SVN: r217035
2014-11-03re PR tree-optimization/60770 (disappearing clobbers)Marc Glisse7-28/+78
2014-11-03 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/60770 gcc/ * tree-into-ssa.c (rewrite_update_stmt): Return whether the statement should be removed. (maybe_register_def): Likewise. Replace clobbers with default definitions. (rewrite_dom_walker::before_dom_children): Remove statement if rewrite_update_stmt says so. * tree-ssa-live.c: Include tree-ssa.h. (set_var_live_on_entry): Do not mark undefined variables as live. (verify_live_on_entry): Do not check undefined variables. * tree-ssa.h (ssa_undefined_value_p): New parameter for the case of partially undefined variables. * tree-ssa.c (ssa_undefined_value_p): Likewise. (execute_update_addresses_taken): Do not drop clobbers. gcc/testsuite/ * gcc.dg/tree-ssa/pr60770-1.c: New file. From-SVN: r217034
2014-11-03re PR tree-optimization/63666 (FAIL: gcc.dg/vect/pr45752.c (internal ↵Marc Glisse2-10/+29
compiler error)) 2014-11-03 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/63666 * fold-const.c: Include "optabs.h". (fold_ternary_loc) <VEC_PERM_EXPR>: Avoid canonicalizing a can_vec_perm_p permutation to one that is not. From-SVN: r217033
2014-11-03x86: extend vect-args testcase to AVX flavorsJan Beulich3-2/+39
gcc/testsuite: 2014-11-03 Jan Beulich <jbeulich@suse.com> * gcc.target/i386/i386.exp: Extend option set to test vect-args.c with to include -mavx, -mavx2, and -mavx512f. * gcc.target/i386/vect-args.c: Add AVX* modes and tests. From-SVN: r217032
2014-11-0320010129-1.c: Compile with -mtune=i686 for ia32 targets only.Uros Bizjak5-5/+12
* gcc.c-torture/execute/20010129-1.c: Compile with -mtune=i686 for ia32 targets only. * g++.dg/ext/attrib42.C: Compile for ia32 targets only. * g++.dg/tree-ssa/pr29902.C: Ditto. * g++.dg/cpp0x/gen-attrs-42.C: Ditto. From-SVN: r217030
2014-11-03ifcvt.c (noce_try_store_flag_mask): Check rtx cost.Zhenqiang Chen4-0/+32
ChangeLog: 2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com> * ifcvt.c (noce_try_store_flag_mask): Check rtx cost. testsuite/ChangeLog: 2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com> * gcc.target/arm/ifcvt-size-check.c: New test. From-SVN: r217029
2014-11-03[multiple changes]Naveen H.S9-20/+201
2014-10-31 Andrew Pinski <apinski@cavium.com> * config/mips/mips-cpus.def (octeon3): New cpu. * config/mips/mips.c (mips_rtx_cost_data): Add octeon3. (mips_print_operand <case 'T', case 't'>): Fix a bug as the mode of the comparison no longer matches mode of the operands. (mips_issue_rate): Handle PROCESSOR_OCTEON3. * config/mips/mips.h (TARGET_OCTEON): Add Octeon3. (TARGET_OCTEON2): Likewise. (TUNE_OCTEON): Add Octeon3. * config/mips/mips.md (processor): Add octeon3. * config/mips/octeon.md (octeon_fpu): New automaton and cpu_unit. (octeon_arith): Add octeon3. (octeon_condmove): Remove. (octeon_condmove_o1): New reservation. (octeon_condmove_o2): New reservation. (octeon_condmove_o3_int_on_cc): New reservation. (octeon_load_o2): Add octeon3. (octeon_cop_o2): Likewise. (octeon_store): Likewise. (octeon_brj_o2): Likewise. (octeon_imul3_o2): Likewise. (octeon_imul_o2): Likewise. (octeon_mfhilo_o2): Likewise. (octeon_imadd_o2): Likewise. (octeon_idiv_o2_si): Likewise. (octeon_idiv_o2_di): Likewise. (octeon_fpu): Add to the automaton. (octeon_fpu): New cpu unit. (octeon_condmove_o2): Check for non floating point modes. (octeon_load_o2): Add prefetchx. (octeon_cop_o2): Don't check for octeon3. (octeon3_faddsubcvt): New reservation. (octeon3_fmul): Likewise. (octeon3_fmadd): Likewise. (octeon3_div_sf): Likewise. (octeon3_div_df): Likewise. (octeon3_sqrt_sf): Likewise. (octeon3_sqrt_df): Likewise. (octeon3_rsqrt_sf): Likewise. (octeon3_rsqrt_df): Likewise. (octeon3_fabsnegmov): Likewise. (octeon_fcond): Likewise. (octeon_fcondmov): Likewise. (octeon_fpmtc1): Likewise. (octeon_fpmfc1): Likewise. (octeon_fpload): Likewise. (octeon_fpstore): Likewise. * config/mips/mips-tables.opt: Regenerate. * doc/invoke.texi (-march=@var{arch}): Add octeon3. 2014-10-31 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * gcc.target/mips/octeon3-pipe-1.c: New test. From-SVN: r217028
2014-11-03ifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4.Zhenqiang Chen2-4/+25
2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com> * ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition): Allow CC mode if HAVE_cbranchcc4. From-SVN: r217026
2014-11-03Check number of arguments in bind expressions.Jonathan Wakely3-4/+35
* include/std/functional (_Mem_fn_traits_base::__arity): New typedef. (_Mem_fn_base::_Arity): New typedef. (_Bind_check_arity): New class template. (_Bind_helper, _Bindres_helper, _Bind_simple_helper): Check arity. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error. From-SVN: r217025
2014-11-03Add support for ref-qualified functions to std::mem_fnJonathan Wakely3-284/+223
PR libstdc++/57898 * include/std/functional (_Mem_fn_traits_base): New class template. (_Mem_fn_traits): New class template with specializations for every combination of cv-qualified and ref-qualified member function. (_Mem_fn_base): New class template for all pointer to member function types and partial specialization for pointer to member object types. (_Mem_fn): Inherit from _Mem_fn_base. * testsuite/20_util/function_objects/mem_fn/refqual.cc: New. From-SVN: r217024
2014-11-03Daily bump.GCC Administrator1-1/+1
From-SVN: r217023
2014-11-02gen-attrs-42.C: Add x86_64-*-* target.Uros Bizjak10-9/+22
* g++.dg/cpp0x/gen-attrs-42.C: Add x86_64-*-* target. * g++.dg/ext/attrib42.C: Ditto. * g++.dg/torture/pr51344.C: Ditto. * g++.dg/tree-ssa/pr29902.C: Ditto. * gcc.c-torture/execute/20010129-1.c: Ditto. * gcc.dg/combine_ashiftrt_2.c: Ditto. * gcc.dg/march-generic.c: Ditto. * gcc.dg/torture/pr17526.c: Ditto. * gcc.dg/union-4.c: Ditto. From-SVN: r217020
2014-11-02arc.c (write_ext_corereg_1): Delete.Richard Sandiford2-22/+23
gcc/ * config/arc/arc.c (write_ext_corereg_1): Delete. (arc_write_ext_corereg): Use FOR_EACH_SUBRTX. From-SVN: r217019
2014-11-02arc.c (arc600_corereg_hazard_1): Delete.Richard Sandiford2-34/+30
gcc/ * config/arc/arc.c (arc600_corereg_hazard_1): Delete. (arc600_corereg_hazard): Use FOR_EACH_SUBRTX. From-SVN: r217018
2014-11-02arc.c (arc_rewrite_small_data_p): Constify argument.Richard Sandiford2-15/+20
gcc/ * config/arc/arc.c (arc_rewrite_small_data_p): Constify argument. (small_data_pattern_1): Delete. (small_data_pattern): Use FOR_EACH_SUBRTX. From-SVN: r217017
2014-11-02arc.c: Include rtl-iter.h.Richard Sandiford2-33/+32
gcc/ * config/arc/arc.c: Include rtl-iter.h. (arc_rewrite_small_data_1): Delete. (arc_rewrite_small_data): Use FOR_EACH_SUBRTX_PTR. From-SVN: r217016
2014-11-02re PR target/24188 (WRITE(6,*) causes an ICE with -mcmodel=medium)Uros Bizjak78-159/+204
* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target. * g++.dg/abi/no-weak1.C: Ditto. * g++.dg/opt/pr44919.C: Ditto. * g++.dg/opt/pr46640.C: Ditto. * g++.dg/opt/pr46649.C: Ditto. * g++.dg/opt/pr47036.C: Ditto. * g++.dg/opt/pr48273.C: Ditto. * g++.dg/opt/pr48302.C: Ditto. * g++.dg/opt/pr45788.C: Ditto. * g++.dg/opt/pr57662.C: Ditto. * gcc.dg/20031102-1.c: Ditto. * gcc.dg/builtin-bswap-7.c: Ditto. * gcc.dg/builtin-bswap-7a.c: Ditto. * gcc.dg/builtin-bswap-9.c: Ditto. * gcc.dg/combine_ashiftrt_1.c: Ditto. * gcc.dg/guality/bswaptest.c: Ditto. * gcc.dg/guality/clztest.c: Ditto. * gcc.dg/guality/ctztest.c: Ditto. * gcc.dg/guality/pr45003-1.c: Ditto. * gcc.dg/guality/pr45003-2.c: Ditto. * gcc.dg/guality/pr45003-3.c: Ditto. * gcc.dg/guality/pr58791-4.c: Ditto. * gcc.dg/guality/rotatetest.c:Ditto. * gcc.dg/ifcvt-fabs-1.c: Ditto. * gcc.dg/ira-loop-pressure.c: Ditto. * gcc.dg/ira-shrinkwrap-prep-1.c: Ditto. * gcc.dg/ira-shrinkwrap-prep-2.c: Ditto. * gcc.dg/lto/pr47259_0.c: Ditto. * gcc.dg/memcpy-5.c: Ditto. * gcc.dg/pr10474.c: Ditto. * gcc.dg/pr37438.c: Ditto. * gcc.dg/pr39453.c: Ditto. * gcc.dg/pr40501.c: Ditto. * gcc.dg/pr42245-2.c: Ditto. * gcc.dg/pr42245.c: Ditto. * gcc.dg/pr42246.c: Ditto. * gcc.dg/pr42249.c: Ditto. * gcc.dg/pr42388.c: Ditto. * gcc.dg/pr42389.c: Ditto. * gcc.dg/pr45352-1.c: Ditto. * gcc.dg/pr45352-2.c: Ditto. * gcc.dg/pr45352-3.c: Ditto. * gcc.dg/pr45352.c: Ditto. * gcc.dg/pr45472.c: Ditto. * gcc.dg/pr45652.c: Ditto. * gcc.dg/pr46212.c: Ditto. * gcc.dg/pr46521.c: Ditto. * gcc.dg/pr46522.c: Ditto. * gcc.dg/pr46875.c: Ditto. * gcc.dg/pr48374.c: Ditto. * gcc.dg/pr50251.c: Ditto. * gcc.dg/pr54472.c: Ditto. * gcc.dg/pr55702.c: Ditto. * gcc.dg/pr56990.c: Ditto. * gcc.dg/pr57104.c: Ditto. * gcc.dg/pr57662.c: Ditto. * gcc.dg/pr60866.c: Ditto. * gcc.dg/shrink-wrap-loop.c: Ditto. * gcc.dg/tm/memopt-15.c: Ditto. * gcc.dg/torture/pr52720.c: Ditto. * gcc.dg/torture/pr56778.c: Ditto. * gcc.dg/tree-prof/pr45354.c: Ditto. * gcc.dg/tree-prof/pr50907.c: Ditto. * gcc.dg/tree-ssa/loop-16.c: Ditto. * gcc.dg/tree-ssa/loop-18.c: Ditto. * gcc.dg/tree-ssa/pr44423.c: Ditto. * gcc.dg/misc-tests/godump-1.c: Ditto. * gfortran.dg/PR24188.f: Ditto. * gfortran.dg/errnocheck_1.f90: Ditto. * gfortran.dg/g77/20010216-1.f: Ditto. * gfortran.dg/pr42246-2.f: Ditto. * gfortran.dg/pr42294.f: Ditto. * gfortran.dg/pr44691.f: Ditto. * gfortran.dg/vect/pr45714-a.f: Ditto. * gcc.c-torture/execute/ieee/ieee.exp: Ditto. * gcc.misc-tests/linkage.exp: Ditto. * lib/target-supports.exp: Reformat x86 tagets. (check_effective_target_whole_vector_shift): Add i?86-*-* target. From-SVN: r217015
2014-11-02[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modesMichael Collison2-3/+10
2014-11-02 Michael Collison <michael.collison@linaro.org> * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update to support vector modes. (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. From-SVN: r217014
2014-11-02re PR c++/57694 ([c++11] constexpr constructor does not work with const ↵Paolo Carlini2-0/+34
address of own member) 2014-11-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57694 * g++.dg/cpp0x/constexpr-ctor15.C: New. From-SVN: r217013
2014-11-02feat-cxx11.C: Commentary and rearrangement of tests.Edward Smith-Rowland8-34/+77
testsuite/ 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net> * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests. * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test. Commentary and rearrangement of tests. * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test. Commentary and rearrangement of tests. * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto * g++.dg/cpp1y/feat-cxx98.C: Commentary. c-family/ 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net> * c-cppbuiltin.c: Define __cpp_aggregate_nsdmi. From-SVN: r217012
2014-11-02Daily bump.GCC Administrator1-1/+1
From-SVN: r217010
2014-11-012014-11-01 Andrew MacLeod <amacleod@redhat,com>Andrew MacLeod83-383/+542
* optabs.h: Flatten insn-codes.h to source files. Move some prototypes and structs to genopinit.c. Adjust protyoptypes to match optabs.c. * genopinit.c (main): Emit prototypes and structs into insn-opinit.h. * optabs.c: (gen_move_insn): Move to expr.c. * expr.h: Move protypes and enums to optabs.h. * expr.c: (gen_move_insn): Relocate from optabs.c. * genemit.c (main): Include insn-codes.h. * gengtype.c (open_base_files): Include insn-codes.h. * asan.c: Include insn-codes.h. * bb-reorder.c: Ditto. * builtins.c: Ditto. * calls.c: Ditto. * cfgexpand.c: Ditto. * cilk-common.c: Ditto. * combine.c: Ditto. * dojump.c: Ditto. * dse.c: Ditto. * except.c: Ditto. * explow.c: Ditto. * expmed.c: Ditto. * function.c: Ditto. * ifcvt.c: Ditto. * internal-fn.c: Ditto. * loop-unroll.c: Ditto. * lra.c: Ditto. * modulo-sched.c: Ditto. * omp-low.c: Ditto. * postreload.c: Ditto. * ree.c: Ditto. * reload.c: Ditto. * reload1.c: Ditto. * shrink-wrap.c: Ditto. * simplify-rtx.c: Ditto. * stmt.c: Ditto. * target-globals.c: Ditto. * targhooks.c: Ditto. * toplev.c: Ditto. * tree-if-conv.c: Ditto. * tree-ssa-forwprop.c: Ditto. * tree-ssa-loop-prefetch.c: Ditto. * tree-ssa-math-opts.c: Ditto. * tree-ssa-phiopt.c: Ditto. * tree-ssa-reassoc.c: Ditto. * tree-switch-conversion.c: Ditto. * tree-vect-data-refs.c: Ditto. * tree-vect-generic.c: Ditto. * tree-vect-loop.c: Ditto. * tree-vect-patterns.c: Ditto. * tree-vect-slp.c: Ditto. * tree-vect-stmts.c: Ditto. * tree-vrp.c: Ditto. * value-prof.c: Ditto. * config/aarch64/aarch64-builtins.c: Ditto. * config/alpha/alpha.c: Ditto. * config/arm/arm.c: Ditto. * config/cris/cris.c: Ditto. * config/epiphany/epiphany.c: Ditto. * config/frv/frv.c: Ditto. * config/h8300/h8300.c: Ditto. * config/ia64/ia64.c: Ditto. * config/iq2000/iq2000.c: Ditto. * config/m32c/m32c.c: Ditto. * config/mep/mep.c: Ditto. * config/microblaze/microblaze.c: Ditto. * config/mips/mips.c: Ditto. * config/mn10300/mn10300.c: Ditto. * config/moxie/moxie.c: Ditto. * config/msp430/msp430.c: Ditto. * config/nios2/nios2.c: Ditto. * config/pa/pa.c: Ditto. * config/rl78/rl78.c: Ditto. * config/rs6000/rs6000.c: Ditto. * config/rx/rx.c: Ditto. * config/s390/s390.c: Ditto. * config/sh/sh.c: Ditto. * config/sh/sh_treg_combine.cc: Ditto. * config/spu/spu.c: Ditto. * config/stormy16/stormy16.c: Ditto. * config/tilegx/mul-tables.c: Ditto. * config/tilegx/tilegx.c: Ditto. * config/tilepro/mul-tables.c: Ditto. * config/tilepro/tilepro.c: Ditto. * config/vax/vax.c: Ditto. From-SVN: r217005
2014-11-01[Patch 7/7] Remove *_BY_PIECES_PJames Greenhalgh5-133/+47
gcc/ * doc/tm.texi.in (MOVE_BY_PIECES_P): Remove. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (STORE_BY_PIECES_P): Likewise. * doc/tm.texi: Regenerate. * system.h: Poison MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P, STORE_BY_PIECES_P. * expr.c (MOVE_BY_PIECES_P): Remove. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (STORE_BY_PIECES_P): Likewise. (can_move_by_pieces): Rewrite in terms of targetm.use_by_pieces_infrastructure_p. (emit_block_move_hints): Likewise. (can_store_by_pieces): Likewise. (store_by_pieces): Likewise. (clear_storage_hints): Likewise. (emit_push_insn): Likewise. (expand_constructor): Likewise. From-SVN: r217004
2014-11-01[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-6/+27
gcc/ * config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructre_p): New. (TARGET_USE_BY_PIECES_INFRASTRUCTURE): Likewise. * config/aarch64/aarch64.h (STORE_BY_PIECES_P): Delete. From-SVN: r217003
2014-11-01[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-14/+26
gcc/ * config/mips/mips.h (MOVE_BY_PIECES_P): Remove. (STORE_BY_PIECES_P): Likewise. * config/mips/mips.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New. (mips_move_by_pieces_p): Rename to... (mips_use_by_pieces_infrastructure_p): ...this, use new hook parameters, use the default hook implementation as a fall-back. From-SVN: r217002
2014-11-01[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-10/+39
gcc/ * config/sh/sh.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New. (sh_use_by_pieces_infrastructure_p): Likewise. * config/sh/sh.h (MOVE_BY_PIECES_P): Remove. (STORE_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. From-SVN: r217001
2014-11-01[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-6/+31
gcc/ * config/arc/arc.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New. (arc_use_by_pieces_infrastructure_p): Likewise. * confir/arc/arc.h (MOVE_BY_PIECES_P): Delete. (CAN_MOVE_BY_PIECES): Likewise. From-SVN: r216999
2014-11-01[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-18/+25
gcc/ * config/s390/s390.c (s390_use_by_pieces_infrastructure_p): New. (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise. * config/s390/s390.h (MOVE_BY_PIECES_P): Remove. (CLEAR_BY_PIECES): Likewise. (SET_BY_PIECES): Likewise. (STORE_BY_PIECES): Likewise. From-SVN: r216998
2014-11-01[Patch 1/7] Hookize *_BY_PIECES_PJames Greenhalgh9-15/+207
gcc/ * target.def (use_by_pieces_infrastructure_p): New. * doc/tm.texi.in (MOVE_BY_PIECES_P): Describe that this macro is deprecated. (STORE_BY_PIECES_P): Likewise. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (TARGET_MOVE_BY_PIECES_PROFITABLE_P): Add hook. * doc/tm.texi: Regenerate. * expr.c (MOVE_BY_PIECES_P): Rewrite in terms of TARGET_USE_BY_PIECES_INFRASTRUCTURE_P. (STORE_BY_PIECES_P): Likewise. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (STORE_MAX_PIECES): Move to... * defaults.h (STORE_MAX_PIECES): ...here. * targhooks.c (get_move_ratio): New. (default_use_by_pieces_infrastructure_p): Likewise. * targhooks.h (default_use_by_pieces_infrastructure_p): New. * target.h (by_pieces_operation): New. From-SVN: r216996
2014-11-01Daily bump.GCC Administrator1-1/+1
From-SVN: r216994
2014-10-31re PR target/63702 (i386.c:36276: possible missing break ?)Uros Bizjak2-1/+6
PR target/63702 * config/i386/i386.c (ix86_expand_args_builtin): Remove extra assignment to 'nargs' variable. From-SVN: r216991
2014-10-31re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)Uros Bizjak4-5/+12
PR target/63620 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare. * config/i386/i386.c (ix86_use_pseudo_pic_reg): Export. * config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't be reloaded through memory. (*pushxf): Ditto. (*pushdf): Ditto. From-SVN: r216990
2014-10-31Make std::vector<bool> meet C++11 allocator requirements.Jonathan Wakely11-53/+650
* include/bits/stl_bvector.h (_Bvector_base): Use allocator_traits. (_Bvector_base::_Bvector_impl): Use allocator's pointer type. (_Bvector_base::_M_end_addr()): Convert to raw pointer. (vector<bool>): Use allocator_traits and _M_end_addr. Add allocator extended constructors. * include/bits/vector.tcc (vector<bool>): Use allocator_traits and _M_end_addr. * testsuite/23_containers/vector/bool/allocator/copy.cc: New. * testsuite/23_containers/vector/bool/allocator/minimal.cc: New. * testsuite/23_containers/vector/bool/allocator/noexcept.cc: New. * testsuite/23_containers/vector/bool/allocator/copy_assign.cc: New. * testsuite/23_containers/vector/bool/allocator/move.cc: New. * testsuite/23_containers/vector/bool/allocator/swap.cc: New. * testsuite/23_containers/vector/bool/allocator/ext_ptr.cc: New. * testsuite/23_containers/vector/bool/allocator/move_assign.cc: New. From-SVN: r216988
2014-10-31re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)Uros Bizjak2-3/+24
PR target/63620 * config/i386/i386.md (*pushtf): Allow only CONST_DOUBLES that won't be reloaded through memory. (*pushxf): Ditto. (*pushdf): Ditto. From-SVN: r216987
2014-10-31re PR rtl-optimization/63659 (wrong code at -O2 and -O3 on x86_64-linux-gnu)Jakub Jelinek4-4/+92
PR rtl-optimization/63659 * ree.c (update_reg_equal_equiv_notes): New function. (combine_set_extension, transform_ifelse): Use it. * gcc.c-torture/execute/pr63659.c: New test. From-SVN: r216985
2014-10-31contrib.texi: Add contribution notes for Balaji Iyer (Cilk+) and Jonny Grant ↵Jeff Law2-0/+11
(collect2). * doc/contrib.texi: Add contribution notes for Balaji Iyer (Cilk+) and Jonny Grant (collect2). From-SVN: r216984
2014-10-31builtins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P, ↵Richard Biener15-25/+47
CONVERT_EXPR_CODE_P and CASE_CONVERT where approprate. 2014-10-31 Richard Biener <rguenther@suse.de> * builtins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P, CONVERT_EXPR_CODE_P and CASE_CONVERT where approprate. (fold_builtin_expect): Likewise. (integer_valued_real_p): Likewise. * cfgexpand.c (expand_debug_expr): Likewise. * ipa-inline-analysis.c (eliminated_by_inlining_prob): Likewise. (find_foldable_builtin_expect): Likewise. * trans-mem.c (thread_private_new_memory): Likewise. * tree-affine.c (aff_combination_expand): Likewise. * tree-data-ref.c (initialize_matrix_A): Likewise. * tree-inline.c (copy_bb): Likewise. * tree-pretty-print.c (dump_function_name): Likewise. (print_call_name): Likewise. * tree-ssa-forwprop.c (constant_pointer_difference): Likewise. * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise. * tree-vect-generic.c (expand_vector_operations_1): Likewise. * tree-vect-patterns.c (vect_handle_widen_op_by_const): Likewise. (vect_recog_widen_mult_pattern): Likewise. (vect_operation_fits_smaller_type): Likewise. * tree-vrp.c (find_assert_locations_1): Likewise. * tree-ssa-dom.c (initialize_hash_element): Canonicalize converts to NOP_EXPR. From-SVN: r216982
2014-10-312014-10-31 Hristian Kirtchev <kirtchev@adacore.com>Arnaud Charlet27-505/+1873
* aspects.adb Add an entry for aspect Ghost in table Canonical_Aspect. * aspects.ads Add an entry for aspect Ghost in tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and Implementation_Defined_Aspect. * einfo.adb: Flags 277 and 278 are now in use. (Is_Checked_Ghost_Entity): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Subprogram): Removed. (Is_Ignored_Ghost_Entity): New routine. (Set_Is_Checked_Ghost_Entity): New routine. (Set_Is_Ignored_Ghost_Entity): New routine. (Write_Entity_Flags): Output flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity. * einfo.ads: Add new flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity along with usage in nodes. (Is_Checked_Ghost_Entity): New routine and pragma Inline. (Is_Ghost_Entity): Removed along with synthesized flag description and usage in nodes. (Is_Ghost_Subprogram): Removed along with synthesized flag description and usage in nodes. (Is_Ignored_Ghost_Entity): New routine and pragma Inline. (Set_Is_Checked_Ghost_Entity): New routine and pragma Inline. (Set_Is_Ignored_Ghost_Entity): New routine and pragma Inline. * freeze.adb (Freeze_Entity): A Ghost type cannot be effectively volatile. * par-prag.adb Pragma Ghost does not need special handling by the parser. * repinfo.adb (List_Mechanisms): Remove the entry for convention Ghost. * sem_attr.adb (Analyze_Access_Attribute): Remove obsolete check. * sem_ch3.adb (Analyze_Full_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Incomplete_Type_Decl): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Number_Declaration): Mark the number as Ghost when its enclosing context is Ghost. (Analyze_Object_Declaration): Mark the object as Ghost when its enclosing context is Ghost. Verify the Ghost policy between initial declaration and completion of a deferred constant. (Analyze_Object_Contract): A Ghost variable cannot be effectively volatile, imported or exported. (Build_Derived_Record_Type): Mark a type extension as Ghost when it implements a Ghost interface. (Build_Record_Type): Inherit volatility and "ghostness" from the parent type. (Check_Completion): A Ghost entity declared in a non-Ghost package does not require completion in a body. (Implements_Ghost_Interface): New routine. (Process_Full_View): Inherit "ghostness" from the partial view. Verify the Ghost policy between the partial and full views. Verify the completion of a Ghost type extension. * sem_ch4.adb (Check_Ghost_Subprogram_Call): Removed. * sem_ch5.adb (Analyze_Assignment): Analyze the left hand side first. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Mark the subprogram as Ghost when its enclosing context is Ghost. (Analyze_Generic_Subprogram_Body): Mark the generic body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Analyze_Subprogram_Body_Helper): Mark the body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Check_Conformance): A Ghost subprogram profile and a non-Ghost subprogram profile are not subtype conformant. (Convention_Of): Removed. * sem_ch7.adb (Analyze_Package_Body_Helper): Inherit the "ghostness" from the spec. Verify the Ghost policy between the spec and body. (Analyze_Private_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Requires_Completion_In_Body): New routine. (Unit_Requires_Body): Use Requires_Completion_In_Body. (Unit_Requires_Body_Info): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. Use Requires_Completion_In_Body. * sem_ch7.ads (Unit_Requires_Body): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. * sem_ch8.adb (Analyze_Exception_Renaming): Inherit the "ghostness" from the renamed excention. (Analyze_Generic_Renaming): Inherit the "ghostness" from the renamed generic subprogram. (Analyze_Object_Renaming): Inherit the "ghostness" from the renamed object. (Analyze_Package_Renaming): Inherit the "ghostness" from the renamed package. (Analyze_Subprogram_Renaming): Inherit the "ghostness" from the renamed subprogram. * sem_ch11.adb (Analyze_Exception_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. * sem_ch12.adb (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. (Preanalyze_Actuals): Remove obsolete check. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Ghost. (Check_Aspect_At_Freeze_Point): Aspects Depends and Global do no need special checking at freeze point. (Insert_After_SPARK_Mode): Update comment on usage. * sem_mech.adb (Set_Mechanisms): Remove the entry for convention Ghost. * sem_prag.adb Add an entry for pragma Ghost in table Sig_Flags. (Analyze_Abstract_State): Update the grammar of the pragma. Add formal parameter Pack_Id along with comment on usage. Mark an abstract state as Ghost when its enclosing context is Ghost. Add processing for option Ghost. (Analyze_Constituent): Verify that a Ghost abstract state is refined by Ghost constituents. (Analyze_Pragma): "Ghost" is now a valid policy. Add checks related to the use and placement of Check_Policy Ghost. Add processing for pragma Ghost. (Check_Ghost_Constituent): New routine. (Is_Valid_Assertion_Kind): "Ghost" is now a valid assertion. (Process_Convention): Remove obsolete check. (Set_Convention_From_Pragma): Remove the processing for convention Ghost. * sem_res.adb (Check_Ghost_Context): New routine. (Resolve_Call): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. (Resolve_Entity_Name): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. * sem_util.adb (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * sem_util.ads (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * snames.adb-tmpl (Get_Convention_Id): Remove the entry for convention Ghost. (Get_Convention_Name): Remove the entry for convention Ghost. * snames.ads-tmpl Remove the convention id for Ghost. Add a pragma id for Ghost. 2014-10-31 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi: Add description of --RTS option for ASIS tools. From-SVN: r216981